diff --git a/.NOT_EDITED_HERE.yaml b/.NOT_EDITED_HERE.yaml deleted file mode 120000 index b9b568941a7d..000000000000 --- a/.NOT_EDITED_HERE.yaml +++ /dev/null @@ -1 +0,0 @@ -_data/not_edited_here.yaml \ No newline at end of file diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index ce783a505415..000000000000 --- a/.dockerignore +++ /dev/null @@ -1,5 +0,0 @@ -.dockerignore -.git -.gitignore -Dockerfile -docker-compose.yml diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index be34269d0a20..000000000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -webpack.config.js -server/index.js -server/env.js diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index b6d84c2b5698..000000000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,128 +0,0 @@ -## Contributing - -We value your documentation contributions, and we want to make it as easy -as possible to work in this repository. One of the first things to decide is -which branch to base your work on. If you get confused, just ask and we will -help. If a reviewer realizes you have based your work on the wrong branch, we'll -let you know so that you can rebase it. - ->**Note**: To contribute code to Docker projects, see the -[Contribution guidelines](opensource/project/who-written-for). - -### Files not edited here - -Files and directories listed in the `path:` keys in -[`.NOT_EDITED_HERE.yaml`](/NOT_EDITED_HERE.yaml) are maintained in other -repositories and should not be edited in this one. Pull requests against these -files will be rejected. Make your edits to the files in the repository and path -in the `source:` key in the YAML file. - -### Quickstart - -If you spot a problem while reading the documentation and want to try to fix it -yourself, click the **Edit this page** link at the bottom of that page. The -page will open in the Github editor, which means you don't need to know a lot -about Git, or even about Markdown. - -When you save, you will be prompted to create a fork if you don't already have -one, and to create a branch in your fork and submit the pull request. We hope -you give it a try! - -### Overall doc improvements - -Most commits will be made against the `master` branch. This include: - -- Conceptual and task-based information not specific to new features -- Restructuring / rewriting -- Doc bug fixing -- Typos and grammar errors - -One quirk of this project is that the `master` branch is where the live docs are -published from, so upcoming features can't be documented there. See -[Specific new features for a project](#specific-new-features-for-a-project) -for how to document upcoming features. These feature branches will be periodically -merged with `master`, so don't worry about fixing typos and documentation bugs -there. - ->Do you enjoy creating graphics? Good graphics are key to great documentation, -and we especially value contributions in this area. - -### Specific new features for a project - -Our docs cover many projects which release at different times. **If, and only if, -your pull request relates to a currently unreleased feature of a project, base -your work on that project's `vnext` branch.** These branches were created by -cloning `master` and then importing a project's `master` branch's docs into it -(at the time of the migration), in a way that preserved the commit history. When -a project has a release, its `vnext` branch will be merged into `master` and your -work will be visible on docs.docker.com. - -The following `vnext` branches currently exist: - -- **[vnext-engine](https://github.com/docker/docker.github.io/tree/vnext-engine):** - docs for upcoming features in the [docker/docker](https://github.com/docker/docker/) - project - -- **[vnext-compose](https://github.com/docker/docker.github.io/tree/vnext-compose):** - docs for upcoming features in the [docker/compose](https://github.com/docker/compose/) - project - -- **[vnext-distribution](https://github.com/docker/docker.github.io/tree/vnext-distribution):** - docs for upcoming features in the [docker/distribution](https://github.com/docker/distribution/) - project - -- **[vnext-opensource](https://github.com/docker/docker.github.io/tree/vnext-opensource):** - docs for upcoming features in the [docker/opensource](https://github.com/docker/opensource/) - project - -- **[vnext-swarm](https://github.com/docker/docker.github.io/tree/vnext-swarm):** - docs for upcoming features in the [docker/swarm](https://github.com/docker/swarm/) - project - -- **[vnext-toolbox](https://github.com/docker/docker.github.io/tree/vnext-toolbox):** - docs for upcoming features in the [docker/toolbox](https://github.com/docker/toolbox/) - project - -- **[vnext-kitematic](https://github.com/docker/docker.github.io/tree/vnext-kitematic):** - docs for upcoming features in the [docker/kitematic](https://github.com/docker/kitematic/) - project - -## Collaborate on a pull request - -Unless the PR author specifically disables it, you can push commits into another -contributor's PR. You can do it from the command line by adding and fetching -their remote, checking out their branch, and adding commits to it. Even easier, -you can add commits from the Github web UI, by clicking the pencil icon for a -given file in the **Files** view. - -If a PR consists of multiple small addendum commits on top of a more significant -one, the commit will usually be "squash-merged", so that only one commit is -merged in. On occasion this is not appropriate and all commits will be kept -separate when merging. - -## Pull request guidelines - -Help us review your PRs more quickly by following these guidelines. - -- Try not to touch a large number of files in a single PR if possible. - -- Don't change whitespace or line wrapping in parts of a file you are not - editing for other reasons. Make sure your text editor is not configured to - automatically reformat the whole file when saving. - -- A Netlify test runs for each PR that is against one of our long-lived - branches like `master` and the `vnext` branches, and deploys the result of - your PR to a staging site. The URL will be available at the bottom of the PR - in the **Conversation** view. Check the staging site for problems and fix them - if necessary. Reviewers will check the staging site too. - -If you can think of other ways we could streamline the review process, let us -know. - -## Style guide - -If you have questions about how to write for Docker's documentation, have a look -at the [style guide](https://docs.docker.com/opensource/doc-style/). The style -guide provides guidance about grammar, syntax, formatting, styling, language, or -tone. If something isn't clear in the guide, please submit an issue to let us -know or submit a pull request to help us improve it. diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 8367d26be722..000000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,27 +0,0 @@ -### Problem description - - - -### Problem location - - - -- I saw a problem on the following URL: - -- I couldn't find the information I wanted. I expected to find it near the following URL: - -- Other:
- -### Project version(s) affected - - - -### Suggestions for a fix - - - - - diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 4cd61800a09d..000000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,25 +0,0 @@ - - -### Proposed changes - - - -### Unreleased project version (optional) - - - -### Related issues (optional) - - diff --git a/.gitignore b/.gitignore index 8b9b2aee4e5c..458e375c791d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ _site/** .sass-cache/** CNAME Gemfile.lock +tests/** diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 024b0fead3c1..000000000000 --- a/.gitmodules +++ /dev/null @@ -1,13 +0,0 @@ -[submodule "tests/src/github.com/gdevillele/frontparser"] - path = tests/src/github.com/gdevillele/frontparser - url = https://github.com/gdevillele/frontparser.git - branch = f28e87c7b9dae139855b574e96f22822986249a8 -[submodule "tests/src/golang.org/x/net"] - path = tests/src/golang.org/x/net - url = https://go.googlesource.com/net - branch = 45e771701b814666a7eb299e6c7a57d0b1799e91 -[submodule "tests/src/gopkg.in/yaml.v2"] - path = tests/src/gopkg.in/yaml.v2 - url = https://github.com/go-yaml/yaml.git - branch = a5b47d31c556af34a302ce5d659e6fea44d90de0 - diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index 2bf1c1ccf363..000000000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -2.3.1 diff --git a/404.md b/404.md deleted file mode 100644 index 7fdb20e5e673..000000000000 --- a/404.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: null -title: 404 Redirector -permalink: /404.html ---- - - diff --git a/Dockerfile b/Dockerfile index 8fd661bf01ea..feb3e6752bd1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +1,80 @@ -FROM starefossen/github-pages - -ENV VERSIONS="v1.4 v1.5 v1.6 v1.7 v1.8 v1.9 v1.10 v1.11 v1.12" - -# Create archive; check out each version, create HTML, tweak links -RUN git clone https://www.github.com/docker/docker.github.io temp; \ - for VER in $VERSIONS; do \ - git --git-dir=./temp/.git --work-tree=./temp checkout ${VER} \ - && mkdir -p allvbuild/${VER} \ - && jekyll build -s temp -d allvbuild/${VER} \ - && find allvbuild/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="/#href="/'"$VER"'/#g' \ - && find allvbuild/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="/#src="/'"$VER"'/#g' \ - && find allvbuild/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="https://docs.docker.com/#href="/'"$VER"'/#g'; \ - done; \ - rm -rf temp - -COPY . allv - -## Branch to pull from, per ref doc -ENV ENGINE_BRANCH="1.13.x" -ENV DISTRIBUTION_BRANCH="release/2.5" - -# The statements below pull reference docs from upstream locations, -# then build the whole site to static HTML using Jekyll - -RUN svn co https://github.com/docker/docker/branches/$ENGINE_BRANCH/docs/extend allv/engine/extend \ - && wget -O allv/engine/api/v1.18.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.18.md \ - && wget -O allv/engine/api/v1.19.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.19.md \ - && wget -O allv/engine/api/v1.20.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.20.md \ - && wget -O allv/engine/api/v1.21.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.21.md \ - && wget -O allv/engine/api/v1.22.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.22.md \ - && wget -O allv/engine/api/v1.23.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.23.md \ - && wget -O allv/engine/api/v1.24.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/v1.24.md \ - && wget -O allv/engine/api/version-history.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/api/version-history.md \ - && wget -O allv/engine/reference/glossary.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/reference/glossary.md \ - && wget -O allv/engine/reference/builder.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/reference/builder.md \ - && wget -O allv/engine/reference/run.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/reference/run.md \ - && wget -O allv/engine/reference/commandline/cli.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/reference/commandline/cli.md \ - && wget -O allv/engine/deprecated.md https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/docs/deprecated.md \ - && svn co https://github.com/docker/distribution/branches/$DISTRIBUTION_BRANCH/docs/spec allv/registry/spec \ - && rm allv/registry/spec/api.md.tmpl \ - && wget -O allv/registry/configuration.md https://raw.githubusercontent.com/docker/distribution/$DISTRIBUTION_BRANCH/docs/configuration.md \ - && rm -rf allv/apidocs/cloud-api-source \ - && rm -rf allv/tests \ - && wget -O allv/engine/api/v1.25/swagger.yaml https://raw.githubusercontent.com/docker/docker/$ENGINE_BRANCH/api/swagger.yaml \ - && jekyll build -s allv -d allvbuild \ - && rm -rf allvbuild/apidocs/layouts \ - && find allvbuild -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="https://docs.docker.com/#href="/#g' \ - && rm -rf allv - -# Serve the site, which is now all static HTML -CMD jekyll serve -s /usr/src/app/allvbuild --no-watch -H 0.0.0.0 -P 4000 +FROM starefossen/github-pages:177 + +# This is the source for docs/docs-base. Push to that location to ensure that +# the production image gets your update :) + +# Install nginx as well as packages used by +# _scripts/fetch-upstream-resources.sh (master branch) + +RUN apk --no-cache add \ + git \ + nginx \ + subversion \ + wget + +# Forward nginx request and error logs to docker log collector + +RUN ln -sf /dev/stdout /var/log/nginx/access.log \ + && ln -sf /dev/stderr /var/log/nginx/error.log + +COPY nginx.conf /etc/nginx/nginx.conf + +## At the end of each layer, everything we need to pass on to the next layer +## should be in the "target" directory and we should have removed all temporary files + +# Create archive; check out each version, create HTML under target/$VER, tweak links +# Nuke the archive_source directory. Only keep the target directory. + +ENV VERSIONS="v17.06 v17.03 v1.4 v1.5 v1.6 v1.7 v1.8 v1.9 v1.10 v1.11 v1.12 v1.13" + +## Use shallow clone and shallow check-outs to only get the tip of each branch + +RUN git clone --depth 1 --recursive https://www.github.com/docker/docker.github.io archive_source; \ + for VER in $VERSIONS; do \ + git --git-dir=./archive_source/.git --work-tree=./archive_source fetch origin ${VER}:${VER} --depth 1 \ + && git --git-dir=./archive_source/.git --work-tree=./archive_source checkout ${VER} \ + && mkdir -p target/${VER} \ + && jekyll build -s archive_source -d target/${VER} \ + # Replace / rewrite some URLs so that links in the archive go to the correct + # location. Note that the order in which these replacements are done is + # important. Changing the order may result in replacements being done + # multiple times. + # First, remove the domain from URLs that include the domain + && BASEURL="$VER/" \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="http://docs-stage.docker.com/#href="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="https://docs-stage.docker.com/#src="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="https://docs.docker.com/#href="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="https://docs.docker.com/#src="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="http://docs.docker.com/#href="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="http://docs.docker.com/#src="/#g' \ + \ + # Substitute https:// for schema-less resources (src="//analytics.google.com") + # We're replacing them to prevent them being seen as absolute paths below + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="//#href="https://#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="//#src="https://#g' \ + \ + # And some archive versions already have URLs starting with '/version/' + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="/'"$BASEURL"'#href="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="/'"$BASEURL"'#src="/#g' \ + \ + # Archived versions 1.7 and under use some absolute links, and v1.10 uses + # "relative" links to sources (href="./css/"). Remove those to make them + # work :) + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="\./#href="/#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="\./#src="/#g' \ + \ + # Create permalinks for archived versions + \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#href="/#href="/'"$BASEURL"'#g' \ + && find target/${VER} -type f -name '*.html' -print0 | xargs -0 sed -i 's#src="/#src="/'"$BASEURL"'#g'; \ + done; \ + rm -rf archive_source + +# This index file gets overwritten, but it serves a sort-of useful purpose in +# making the docs/docs-base image browsable: + +COPY index.html target + +# Serve the site (target), which is now all static HTML + +CMD echo "Docker docs are viewable at:" && echo "http://0.0.0.0:4000" && nginx -g 'pid /tmp/nginx.pid;' diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 855387d549d4..000000000000 --- a/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "github-pages", "105" #Update me once in a while: https://github.com/github/pages-gem/releases diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 6a343e94763c..000000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,22 +0,0 @@ -wrappedNode(label: 'linux && x86_64') { - deleteDir() - stage "checkout" - checkout scm - sh "git submodule update --init --recursive" - stage "test" - - /* Jekyll creates html files to implement client side redirects. - There are absolute links to docs.docker.com in these htmls - we don't want them to be parsed by the tests for now. - Removing jekyll-redirect-from option will make sure these pages - are not generated when building with Jekyll. */ - sh "awk '/jekyll-redirect-from/{n=1}; n {n--; next}; 1' < _config.yml > _config.yml.tmp" - sh "mv _config.yml.tmp _config.yml" - - sh "docker build -t docs:${JOB_BASE_NAME}-${BUILD_NUMBER} `pwd`" - sh "docker build -t tests:${JOB_BASE_NAME}-${BUILD_NUMBER} `pwd`/tests" - sh "docker run -v /usr/src/app/allvbuild --name docs-${JOB_BASE_NAME}-${BUILD_NUMBER} docs:${JOB_BASE_NAME}-${BUILD_NUMBER} /bin/true" - sh "docker run --rm --volumes-from docs-${JOB_BASE_NAME}-${BUILD_NUMBER} -v `pwd`:/docs tests:${JOB_BASE_NAME}-${BUILD_NUMBER}" - sh "docker rm -fv docs-${JOB_BASE_NAME}-${BUILD_NUMBER}" - sh "docker rmi docs:${JOB_BASE_NAME}-${BUILD_NUMBER} tests:${JOB_BASE_NAME}-${BUILD_NUMBER}" -} \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f8971197c6f5..000000000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2016 Docker, Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/MIGRATION.md b/MIGRATION.md deleted file mode 100644 index ba973d46b198..000000000000 --- a/MIGRATION.md +++ /dev/null @@ -1,25 +0,0 @@ -# Migration - -This branch is the result of a migration of documentation from several public and -private repositories. Every attempt has been made to preserve the history of all -content which was migrated from public repositories, so that all public -contributors retain credit for their work, and so that `git log` and -`git blame` commands will work on historical files. At the time of the migration, -over 42,000 public commits already exist in these files, which shows what a -vibrant community the Docker documentation attracts. Thanks to everyone for their -contributions. - -The following is a list of each public repository we imported from, the SHA -reference we imported, and its tag if relevant. - -| Repository | SHA | Tag | -|----------------------------------------|-----------------|------------------------| -| https://github.com/docker/distribution | a9b1322edf48b1f | docs-v2.5.0-2016-07-28 | -| https://github.com/docker/compose | 429320a4f8f4040 | docs-v1.8.0-2016-08-03 | -| https://github.com/docker/swarm | 27968edd8a160f6 | v1.2.5 | -| https://github.com/docker/notary | a6fda67663e158d | docs-v0.3-2016-08-03 | -| https://github.com/docker/toolbox | c6457341499a196 | docs-v1.12.0-2016-09-16a | -| https://github.com/docker/opensource | b9b87bed67f4289 | docs-2016-08-03 | -| https://github.com/docker/kitematic | 02c9f9607128802 | v0.12.0 | -| https://github.com/docker/machine | 95041b4cfe2e8b2 | docs-v0.8.2-2016-09-28 | -| https://github.com/docker/docker | 3134c23b55eb100 | n/a | diff --git a/README.md b/README.md index d565b279b73c..bd36c3f69f71 100644 --- a/README.md +++ b/README.md @@ -1,214 +1,30 @@ -# Docs @ Docker +# docs-base -Welcome to the repo for our documentation. This is the source for the URL -served at [https://docs.docker.com/](https://docs.docker.com/). +This is the source for [docs/docker.github.io:docs-base](https://hub.docker.com/r/docs/docker.github.io/tags/). -Feel free to send us pull requests and file issues. Our docs are completely -open source and we deeply appreciate contributions from our community! +The docs-base Dockerfile includes: -## Providing feedback +- The GitHub Pages environment (w/Jekyll) +- nginx +- Builds of all previous versions of Docker's documentation -We really want your feedback, and we've made it easy. You can edit, rate, or -file an issue at the bottom of every page on [https://docs.docker.com/](https://docs.docker.com/). +Having this large amount of stuff that stays relatively static in a base image +helps keep build times for the docs low as we can use Docker Cloud's caching +when running auto-builds out of GitHub. -**Please only file issues about the documentation in this repository.** One way -to think about this is that you should file a bug here if your issue is that you -don't see something that should be in the docs, or you see something incorrect -or confusing in the docs. +While you would only see the docs archives by doing so, you can run docs-base +locally and peruse by running: -- If your problem is a general question about how to configure or use Docker, - consider asking a question on [https://forums.docker.com](https://forums.docker.com) instead. +``` +docker run -ti -p 4000:4000 docs/docker.github.io:docs-base +``` -- If you have an idea for a new feature or behavior change in a specific aspect - of Docker, or have found a bug in part of Docker, please file that issue in - the project's code repository. +The contents of docs-base will then be viewable in your browser at +`localhost:4000`. -## Contributing +## Reasons to update this branch -We value your documentation contributions, and we want to make it as easy -as possible to work in this repository. One of the first things to decide is -which branch to base your work on. If you get confused, just ask and we will -help. If a reviewer realizes you have based your work on the wrong branch, we'll -let you know so that you can rebase it. - ->**Note**: To contribute code to Docker projects, see the -[Contribution guidelines](https://docs.docker.com/opensource/project/who-written-for/). - -### Files not edited here - -Files and directories listed in the `path:` keys in -[`.NOT_EDITED_HERE.yaml`](.NOT_EDITED_HERE.yaml) are maintained in other -repositories and should not be edited in this one. Pull requests against these -files will be rejected. Make your edits to the files in the repository and path -in the `source:` key in the YAML file. - -### Overall doc improvements - -Most commits will be made against the `master` branch. This include: - -- Conceptual and task-based information not specific to new features -- Restructuring / rewriting -- Doc bug fixing -- Typos and grammar errors - -One quirk of this project is that the `master` branch is where the live docs are -published from, so upcoming features can't be documented there. See -[Specific new features for a project](#specific-new-features-for-a-project) -for how to document upcoming features. These feature branches will be periodically -merged with `master`, so don't worry about fixing typos and documentation bugs -there. - ->Do you enjoy creating graphics? Good graphics are key to great documentation, -and we especially value contributions in this area. - -### Specific new features for a project - -Our docs cover many projects which release at different times. **If, and only if, -your pull request relates to a currently unreleased feature of a project, base -your work on that project's `vnext` branch.** These branches were created by -cloning `master` and then importing a project's `master` branch's docs into it -(at the time of the migration), in a way that preserved the commit history. When -a project has a release, its `vnext` branch will be merged into `master` and your -work will be visible on [https://docs.docker.com/](https://docs.docker.com/). - -The following `vnext` branches currently exist: - -- **[vnext-engine](https://github.com/docker/docker.github.io/tree/vnext-engine):** - docs for upcoming features in the [docker/docker](https://github.com/docker/docker/) - project - -- **[vnext-compose](https://github.com/docker/docker.github.io/tree/vnext-compose):** - docs for upcoming features in the [docker/compose](https://github.com/docker/compose/) - project - -- **[vnext-distribution](https://github.com/docker/docker.github.io/tree/vnext-distribution):** - docs for upcoming features in the [docker/distribution](https://github.com/docker/distribution/) - project - -- **[vnext-opensource](https://github.com/docker/docker.github.io/tree/vnext-opensource):** - docs for upcoming features in the [docker/opensource](https://github.com/docker/opensource/) - project - -- **[vnext-swarm](https://github.com/docker/docker.github.io/tree/vnext-swarm):** - docs for upcoming features in the [docker/swarm](https://github.com/docker/swarm/) - project - -- **[vnext-toolbox](https://github.com/docker/docker.github.io/tree/vnext-toolbox):** - docs for upcoming features in the [docker/toolbox](https://github.com/docker/toolbox/) - project - -- **[vnext-kitematic](https://github.com/docker/docker.github.io/tree/vnext-kitematic):** - docs for upcoming features in the [docker/kitematic](https://github.com/docker/kitematic/) - project - -## Per-PR staging on GitHub - -For every PR against `master` and all the long-lived branches, a staged version -of the site is built using Netlify. If the site builds, you will see -**deploy/netlify — Deploy preview ready**. Otherwise, you will see an error. -Click **Details** to review the staged site or the errors that prevented it from -building. Review the staged site and amend your commit if necessary. Reviewers -will also check the staged site before merging the PR, to protect the integrity -of [https://docs.docker.com/](https://docs.docker.com/). - -## Staging locally - -You have three options: - -1. Clone this repo and run our staging container: - - ```bash - git clone https://github.com/docker/docker.github.io.git - cd docker.github.io - docker-compose up - ``` - - If you haven't got Docker Compose installed, - [follow these installation instructions](https://docs.docker.com/compose/install/). - - The container runs in the background and incrementally rebuilds the site each - time a file changes. You can keep your browser open to http://localhost:4000/ - and refresh to see your changes. The container runs in the foreground, but - you can use `CTRL+C` to get the command prompt back. To stop the container, - issue the following command: - - ```bash - docker-compose down - ``` - -2. Use Jekyll directly. - - a. Clone this repo by running: - - ```bash - git clone https://github.com/docker/docker.github.io.git - ``` - - b. Install Ruby 2.3 or later as described in [Installing Ruby] - (https://www.ruby-lang.org/en/documentation/installation/). - - c. Install Bundler: - - ```bash - gem install bundler - ``` - - d. If you use Ubuntu, install packages required for the Nokogiri HTML - parser: - - ```bash - sudo apt-get install ruby-dev zlib1g-dev liblzma-dev - ``` - - e. Install Jekyll and other required dependencies: - - ```bash - bundle install - ``` - - >**Note**: You may have to install some packages manually. - - f. Change the directory to `docker.github.io`. - - g. Use the `jekyll serve` command to continuously build the HTML output. - - The `jekyll serve` process runs in the foreground, and starts a web server - running on http://localhost:4000/ by default. To stop it, use `CTRL+C`. - You can continue working in a second terminal and Jekyll will rebuild the - website incrementally. Refresh the browser to preview your changes. - -3. Use Github Pages, with or without a local clone. Fork this repo in GitHub, - change your fork's repository name to `YOUR_GITHUB_USERNAME.github.io`, and - make changes to the Markdown files in your `master` branch. Browse to - https://\.github.io/ to preview the changes. - -## Important files - -- `/_data/toc.yaml` defines the left-hand navigation for the docs -- `/js/menu.js` defines most of the docs-specific JS such as TOC generation and menu syncing -- `/css/documentation.css` defines the docs-specific style rules -- `/_layouts/docs.html` is the HTML template file, which defines the header and footer, and includes all the JS/CSS that serves the docs content - -## Relative linking for GitHub viewing - -Feel free to link to `../foo.md` so that the docs are readable in GitHub, but keep in mind that Jekyll templating notation -`{% such as this %}` will render in raw text and not be processed. In general it's best to assume the docs are being read -directly on [https://docs.docker.com/](https://docs.docker.com/). - -## Style guide - -If you have questions about how to write for Docker's documentation, please see -the [style guide](https://docs.docker.com/opensource/doc-style/). The style guide provides -guidance about grammar, syntax, formatting, styling, language, or tone. If -something isn't clear in the guide, please submit an issue to let us know or -submit a pull request to help us improve it. - -### Generate the man pages - -For information on generating man pages (short for manual page), see the README.md -document in [the man page directory](https://github.com/docker/docker/tree/master/man) -in this project. - -## Copyright and license - -Code and documentation copyright 2016 Docker, inc, released under the Apache 2.0 license. +- Changing the nginx configuration +- Publishing a new docs archive, or anything else that stays static between + doc builds. +- Updating the GitHub Pages version used in production to a newer release diff --git a/_config.yml b/_config.yml deleted file mode 100644 index ca2e5713d820..000000000000 --- a/_config.yml +++ /dev/null @@ -1,141 +0,0 @@ -name: Docker -markdown: kramdown -kramdown: - input: GFM - html_to_native: true - hard_wrap: false - syntax_highlighter: rouge - toc_levels: 2..3 -incremental: true -permalink: pretty -safe: false -lsi: false -url: https://docs.docker.com -keep_files: ["v1.4", "v1.5", "v1.6", "v1.7", "v1.8", "v1.9", "v1.10", "v1.11"] - -gems: - - jekyll-redirect-from - - jekyll-seo-tag - -webrick: - headers: - Cache-Control: 600 - -defaults: - - - scope: - path: "" - type: "pages" - values: - layout: docs - defaultassignee: johndmulhausen - enginebranch: 1.13.x - toc_min: 2 - toc_max: 3 - tree: true - - scope: - path: "compose" - values: - assignee: "londoncalling" - - scope: - path: "cs-engine" - values: - assignee: "joaofnfernandes" - - scope: - path: "datacenter" - values: - assignee: "joaofnfernandes" - - scope: - path: "docker-cloud" - values: - assignee: "sanscontext" - - scope: - path: "docker-for-mac" - values: - assignee: "londoncalling" - - scope: - path: "docker-for-windows" - values: - assignee: "londoncalling" - - scope: - path: "docker-hub" - values: - assignee: "sanscontext" - - scope: - path: "docker-store" - values: - assignee: "johndmulhausen" - - scope: - path: "engine" - values: - assignee: "mstanleyjones" - - scope: - path: "kitematic" - values: - assignee: "londoncalling" - - scope: - path: "machine" - values: - assignee: "londoncalling" - - scope: - path: "notary" - values: - assignee: "johndmulhausen" - - scope: - path: "registry" - values: - assignee: "joaofnfernandes" - - scope: - path: "swarm" - values: - assignee: "mstanleyjones" - - scope: - path: "toolbox" - values: - assignee: "londoncalling" - - - scope: - path: "datacenter/dtr/2.1" - values: - ucp_version: "2.0" - dtr_version: "2.1" - - - scope: - path: "datacenter/dtr/2.0" - values: - hide_from_sitemap: true - ucp_version: "1.1" - dtr_version: "2.0" - - - scope: - path: "datacenter/ucp/2.0" - values: - ucp_version: "2.0" - dtr_version: "2.1" - - - scope: - path: "datacenter/ucp/1.1" - values: - hide_from_sitemap: true - ucp_version: "1.1" - dtr_version: "2.0" - - - scope: - path: "apidocs/v1.3.3" - values: - hide_from_sitemap: true - - - scope: - path: "apidocs/v1.4.0" - values: - hide_from_sitemap: true - - - scope: - path: "apidocs/v2.0.0" - values: - hide_from_sitemap: true - - - scope: - path: "apidocs/v2.0.1" - values: - hide_from_sitemap: true diff --git a/_data/advisories.yaml b/_data/advisories.yaml deleted file mode 100644 index 618cf3057910..000000000000 --- a/_data/advisories.yaml +++ /dev/null @@ -1,27 +0,0 @@ - -#TODO: work out how to add a data dir to any repo that has documentation -# atm, repo's have a docs dir that is akin to the hugo content dir. - - -# Define Advisory texts -# can be used in page frontmatter: -# advisory = "experimental" - -texts: - experimental: "The functionality described on this page is marked as Experimental, and as such, may change before it becomes generally available." - rc: "The Swarm mode feature included in Docker Engine 1.12 is a release candidate feature and might be subject to non backward-compatible changes. Some functionality may change before the feature becomes generally available." - docker4mac-beta: "Docker for Mac is currently in public beta. Some functionality may change before the product becomes generally available." - docker4win-beta: "Docker for Windows is currently in public beta. Some functionality may change before the product becomes generally available." - toolbox: "**Legacy desktop solution.** Docker Toolbox is for older Mac and Windows systems that do not meet the requirements of [Docker for Mac](/docker-for-mac/) and [Docker for Windows](/docker-for-windows/). We recommend updating to the newer applications, if possible." - kitematic: "**Legacy desktop solution.** Kitematic is a legacy solution, bundled with [Docker Toolbox](/toolbox/overview/). We recommend updating to [Docker for Mac](/docker-for-mac/) or [Docker for Windows](/docker-for-windows/) if your system meets the requirements for one of those applications." - swarm: "See [Swarm mode overview](/engine/swarm/) for the orchestration features introduced in Docker Engine 1.12. Only refer to the Docker Swarm documents below for information on the standalone Swarm product." - swarm-standalone: "**You are viewing docs for legacy standalone Swarm.** These topics describe standalone Docker Swarm. If you use Docker 1.12 or higher, [Swarm mode](/engine/swarm/) is integrated with Docker Engine. Most users should use integrated Swarm mode — a good place to start is [Getting started with swarm mode](/engine/swarm/swarm-tutorial/) and [Swarm mode CLI commands](/engine/swarm/index.md#swarm-mode-cli-commands). Standalone Docker Swarm is not integrated into the Docker Engine API and CLI commands." - engine: "This site contains documentation for the v1.12 release candidate version of Docker Engine. For the Docker Engine v1.11 docs, see [https://docs.docker.com/v1.11/](https://docs.docker.com/v1.11/). Docker for Mac and Docker for Windows are currently in Beta." - - -# URL based advisories -# any URL that begins with "/engine/" will get the "engine" advisory -# will be over-ridden by the `advisory` frontmatter in the topic -# [paths] -# "/engine/" = "engine" -# "/swarm/" = "swarm" diff --git a/_data/ddc_offline_files.yaml b/_data/ddc_offline_files.yaml deleted file mode 100644 index 15e08c547d94..000000000000 --- a/_data/ddc_offline_files.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# This contains the list of urls that you can use to download a tar file -# with all the images needed to install Docker Datacenter in an air-gapped -# environment that can't access the internet - -# Used by _includes/components/ddc_url_list.html - -- ucp-version: "2.0" - tar-files: - - description: "UCP 2.0.2" - url: https://packages.docker.com/caas/ucp_images_2.0.2.tar.gz - - description: "DTR 2.1.4" - url: https://packages.docker.com/caas/dtr-2.1.4.tar.gz - - description: "UCP 2.0.1, DTR 2.1.3" - url: https://packages.docker.com/caas/ucp-2.0.1_dtr-2.1.3.tar.gz - - description: "UCP 2.0.1, DTR 2.1.2" - url: https://packages.docker.com/caas/ucp-2.0.1_dtr-2.1.2.tar.gz - - description: "UCP 2.0.1, DTR 2.1.1" - url: https://packages.docker.com/caas/ucp-2.0.1_dtr-2.1.1.tar.gz - - description: "UCP 2.0.1, DTR 2.1.0" - url: https://packages.docker.com/caas/ucp-2.0.1_dtr-2.1.0.tar.gz - - description: "UCP 2.0.0, DTR 2.1.0" - url: https://packages.docker.com/caas/ucp-2.0.0_dtr-2.1.0.tar.gz -- ucp-version: "1.1" - tar-files: - - description: "UCP 1.1.6" - url: https://packages.docker.com/caas/ucp_images_1.1.6.tar.gz - - description: "UCP 1.1.5, DTR 2.0.4" - url: https://packages.docker.com/caas/ucp-1.1.5_dtr-2.0.4.tar.gz - - description: "UCP 1.1.4, DTR 2.0.4" - url: https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.4.tar.gz - - description: "UCP 1.1.4, DTR 2.0.3" - url: https://packages.docker.com/caas/ucp-1.1.4_dtr-2.0.3.tar.gz - - description: "UCP 1.1.3, DTR 2.0.3" - url: https://packages.docker.com/caas/ucp-1.1.3_dtr-2.0.3.tar.gz - - description: "UCP 1.1.2, DTR 2.0.3" - url: https://packages.docker.com/caas/ucp-1.1.2_dtr-2.0.3.tar.gz - - description: "UCP 1.1.2, DTR 2.0.2" - url: https://packages.docker.com/caas/ucp-1.1.2_dtr-2.0.2.tar.gz - - description: "UCP 1.1.1, DTR 2.0.2" - url: https://packages.docker.com/caas/ucp-1.1.1_dtr-2.0.2.tar.gz - - description: "UCP 1.1.1, DTR 2.0.1" - url: https://packages.docker.com/caas/ucp-1.1.1_dtr-2.0.1.tar.gz - - description: "UCP 1.1.0, DTR 2.0.0" - url: https://packages.docker.com/caas/ucp-1.1.0_dtr-2.0.0.tar.gz diff --git a/_data/dockerd-cli/dockerd.yaml b/_data/dockerd-cli/dockerd.yaml deleted file mode 100644 index 87193f7e6cda..000000000000 --- a/_data/dockerd-cli/dockerd.yaml +++ /dev/null @@ -1,1401 +0,0 @@ -command: dockerd -short: A self-sufficient runtime for containers. -long: | - Options with [] may be specified multiple times. - - dockerd is the persistent process that manages containers. Docker - uses different binaries for the daemon and client. To run the daemon you - type `dockerd`. - - To run the daemon with debug output, use `dockerd -D`. - - ## Daemon socket option - - The Docker daemon can listen for [Docker Remote API](/engine/api/index.md) - requests via three different types of Socket: `unix`, `tcp`, and `fd`. - - By default, a `unix` domain socket (or IPC socket) is created at - `/var/run/docker.sock`, requiring either `root` permission, or `docker` group - membership. - - If you need to access the Docker daemon remotely, you need to enable the `tcp` - Socket. Beware that the default setup provides un-encrypted and - un-authenticated direct access to the Docker daemon - and should be secured - either using the [built in HTTPS encrypted socket](../../security/https.md), or by - putting a secure web proxy in front of it. You can listen on port `2375` on all - network interfaces with `-H tcp://0.0.0.0:2375`, or on a particular network - interface using its IP address: `-H tcp://192.168.59.103:2375`. It is - conventional to use port `2375` for un-encrypted, and port `2376` for encrypted - communication with the daemon. - - > **Note:** - > If you're using an HTTPS encrypted socket, keep in mind that only - > TLS1.0 and greater are supported. Protocols SSLv3 and under are not - > supported anymore for security reasons. - - On Systemd based systems, you can communicate with the daemon via - [Systemd socket activation](http://0pointer.de/blog/projects/socket-activation.html), - use `dockerd -H fd://`. Using `fd://` will work perfectly for most setups but - you can also specify individual sockets: `dockerd -H fd://3`. If the - specified socket activated files aren't found, then Docker will exit. You can - find examples of using Systemd socket activation with Docker and Systemd in the - [Docker source tree](https://github.com/docker/docker/tree/master/contrib/init/systemd/). - - You can configure the Docker daemon to listen to multiple sockets at the same - time using multiple `-H` options: - - ```bash - # listen using the default unix socket, and on 2 specific IP addresses on this host. - $ sudo dockerd -H unix:///var/run/docker.sock -H tcp://192.168.59.106 -H tcp://10.10.10.2 - ``` - - The Docker client will honor the `DOCKER_HOST` environment variable to set the - `-H` flag for the client. - - ```bash - $ docker -H tcp://0.0.0.0:2375 ps - # or - $ export DOCKER_HOST="tcp://0.0.0.0:2375" - $ docker ps - # both are equal - ``` - - Setting the `DOCKER_TLS_VERIFY` environment variable to any value other than - the empty string is equivalent to setting the `--tlsverify` flag. The following - are equivalent: - - ```bash - $ docker --tlsverify ps - # or - $ export DOCKER_TLS_VERIFY=1 - $ docker ps - ``` - - The Docker client will honor the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` - environment variables (or the lowercase versions thereof). `HTTPS_PROXY` takes - precedence over `HTTP_PROXY`. - - ### Bind Docker to another host/port or a Unix socket - - > **Warning**: - > Changing the default `docker` daemon binding to a - > TCP port or Unix *docker* user group will increase your security risks - > by allowing non-root users to gain *root* access on the host. Make sure - > you control access to `docker`. If you are binding - > to a TCP port, anyone with access to that port has full Docker access; - > so it is not advisable on an open network. - - With `-H` it is possible to make the Docker daemon to listen on a - specific IP and port. By default, it will listen on - `unix:///var/run/docker.sock` to allow only local connections by the - *root* user. You *could* set it to `0.0.0.0:2375` or a specific host IP - to give access to everybody, but that is **not recommended** because - then it is trivial for someone to gain root access to the host where the - daemon is running. - - Similarly, the Docker client can use `-H` to connect to a custom port. - The Docker client will default to connecting to `unix:///var/run/docker.sock` - on Linux, and `tcp://127.0.0.1:2376` on Windows. - - `-H` accepts host and port assignment in the following format: - - tcp://[host]:[port][path] or unix://path - - For example: - - - `tcp://` -> TCP connection to `127.0.0.1` on either port `2376` when TLS encryption - is on, or port `2375` when communication is in plain text. - - `tcp://host:2375` -> TCP connection on - host:2375 - - `tcp://host:2375/path` -> TCP connection on - host:2375 and prepend path to all requests - - `unix://path/to/socket` -> Unix socket located - at `path/to/socket` - - `-H`, when empty, will default to the same value as - when no `-H` was passed in. - - `-H` also accepts short form for TCP bindings: `host:` or `host:port` or `:port` - - Run Docker in daemon mode: - - ```bash - $ sudo /dockerd -H 0.0.0.0:5555 & - ``` - - Download an `ubuntu` image: - - ```bash - $ docker -H :5555 pull ubuntu - ``` - - You can use multiple `-H`, for example, if you want to listen on both - TCP and a Unix socket - - ```bash - # Run docker in daemon mode - $ sudo /dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock & - # Download an ubuntu image, use default Unix socket - $ docker pull ubuntu - # OR use the TCP port - $ docker -H tcp://127.0.0.1:2375 pull ubuntu - ``` - - ### Daemon storage-driver option - - The Docker daemon has support for several different image layer storage - drivers: `aufs`, `devicemapper`, `btrfs`, `zfs`, `overlay` and `overlay2`. - - The `aufs` driver is the oldest, but is based on a Linux kernel patch-set that - is unlikely to be merged into the main kernel. These are also known to cause - some serious kernel crashes. However, `aufs` allows containers to share - executable and shared library memory, so is a useful choice when running - thousands of containers with the same program or libraries. - - The `devicemapper` driver uses thin provisioning and Copy on Write (CoW) - snapshots. For each devicemapper graph location – typically - `/var/lib/docker/devicemapper` – a thin pool is created based on two block - devices, one for data and one for metadata. By default, these block devices - are created automatically by using loopback mounts of automatically created - sparse files. Refer to [Storage driver options](dockerd.md#storage-driver-options) below - for a way how to customize this setup. - [~jpetazzo/Resizing Docker containers with the Device Mapper plugin](http://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/) - article explains how to tune your existing setup without the use of options. - - The `btrfs` driver is very fast for `docker build` - but like `devicemapper` - does not share executable memory between devices. Use - `dockerd -s btrfs -g /mnt/btrfs_partition`. - - The `zfs` driver is probably not as fast as `btrfs` but has a longer track record - on stability. Thanks to `Single Copy ARC` shared blocks between clones will be - cached only once. Use `dockerd -s zfs`. To select a different zfs filesystem - set `zfs.fsname` option as described in [Storage driver options](dockerd.md#storage-driver-options). - - The `overlay` is a very fast union filesystem. It is now merged in the main - Linux kernel as of [3.18.0](https://lkml.org/lkml/2014/10/26/137). `overlay` - also supports page cache sharing, this means multiple containers accessing - the same file can share a single page cache entry (or entries), it makes - `overlay` as efficient with memory as `aufs` driver. Call - `dockerd -s overlay` to use it. - - > **Note:** - > As promising as `overlay` is, the feature is still quite young and should not - > be used in production. Most notably, using `overlay` can cause excessive - > inode consumption (especially as the number of images grows), as well as - > being incompatible with the use of RPMs. - - The `overlay2` uses the same fast union filesystem but takes advantage of - [additional features](https://lkml.org/lkml/2015/2/11/106) added in Linux - kernel 4.0 to avoid excessive inode consumption. Call `dockerd -s overlay2` - to use it. - - > **Note:** - > Both `overlay` and `overlay2` are currently unsupported on `btrfs` or any - > Copy on Write filesystem and should only be used over `ext4` partitions. - - ### Storage driver options - - Particular storage-driver can be configured with options specified with - `--storage-opt` flags. Options for `devicemapper` are prefixed with `dm`, - options for `zfs` start with `zfs` and options for `btrfs` start with `btrfs`. - - #### Devicemapper options - - * `dm.thinpooldev` - - Specifies a custom block storage device to use for the thin pool. - - If using a block device for device mapper storage, it is best to use `lvm` - to create and manage the thin-pool volume. This volume is then handed to Docker - to exclusively create snapshot volumes needed for images and containers. - - Managing the thin-pool outside of Engine makes for the most feature-rich - method of having Docker utilize device mapper thin provisioning as the - backing storage for Docker containers. The highlights of the lvm-based - thin-pool management feature include: automatic or interactive thin-pool - resize support, dynamically changing thin-pool features, automatic thinp - metadata checking when lvm activates the thin-pool, etc. - - As a fallback if no thin pool is provided, loopback files are - created. Loopback is very slow, but can be used without any - pre-configuration of storage. It is strongly recommended that you do - not use loopback in production. Ensure your Engine daemon has a - `--storage-opt dm.thinpooldev` argument provided. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.thinpooldev=/dev/mapper/thin-pool - ``` - - * `dm.basesize` - - Specifies the size to use when creating the base device, which limits the - size of images and containers. The default value is 10G. Note, thin devices - are inherently "sparse", so a 10G device which is mostly empty doesn't use - 10 GB of space on the pool. However, the filesystem will use more space for - the empty case the larger the device is. - - The base device size can be increased at daemon restart which will allow - all future images and containers (based on those new images) to be of the - new base device size. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.basesize=50G - ``` - - This will increase the base device size to 50G. The Docker daemon will throw an - error if existing base device size is larger than 50G. A user can use - this option to expand the base device size however shrinking is not permitted. - - This value affects the system-wide "base" empty filesystem - that may already be initialized and inherited by pulled images. Typically, - a change to this value requires additional steps to take effect: - - ```bash - $ sudo service docker stop - $ sudo rm -rf /var/lib/docker - $ sudo service docker start - ``` - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.basesize=20G - ``` - - * `dm.loopdatasize` - - > **Note**: - > This option configures devicemapper loopback, which should not - > be used in production. - - Specifies the size to use when creating the loopback file for the - "data" device which is used for the thin pool. The default size is - 100G. The file is sparse, so it will not initially take up this - much space. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.loopdatasize=200G - ``` - - * `dm.loopmetadatasize` - - > **Note**: - > This option configures devicemapper loopback, which should not - > be used in production. - - Specifies the size to use when creating the loopback file for the - "metadata" device which is used for the thin pool. The default size - is 2G. The file is sparse, so it will not initially take up - this much space. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.loopmetadatasize=4G - ``` - - * `dm.fs` - - Specifies the filesystem type to use for the base device. The supported - options are "ext4" and "xfs". The default is "xfs" - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.fs=ext4 - ``` - - * `dm.mkfsarg` - - Specifies extra mkfs arguments to be used when creating the base device. - - Example use: - - ```bash - $ sudo dockerd --storage-opt "dm.mkfsarg=-O ^has_journal" - ``` - - * `dm.mountopt` - - Specifies extra mount options used when mounting the thin devices. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.mountopt=nodiscard - ``` - - * `dm.datadev` - - (Deprecated, use `dm.thinpooldev`) - - Specifies a custom blockdevice to use for data for the thin pool. - - If using a block device for device mapper storage, ideally both datadev and - metadatadev should be specified to completely avoid using the loopback - device. - - Example use: - - ```bash - $ sudo dockerd \ - --storage-opt dm.datadev=/dev/sdb1 \ - --storage-opt dm.metadatadev=/dev/sdc1 - ``` - - * `dm.metadatadev` - - (Deprecated, use `dm.thinpooldev`) - - Specifies a custom blockdevice to use for metadata for the thin pool. - - For best performance the metadata should be on a different spindle than the - data, or even better on an SSD. - - If setting up a new metadata pool it is required to be valid. This can be - achieved by zeroing the first 4k to indicate empty metadata, like this: - - ```bash - $ dd if=/dev/zero of=$metadata_dev bs=4096 count=1 - ``` - - Example use: - - ```bash - $ sudo dockerd \ - --storage-opt dm.datadev=/dev/sdb1 \ - --storage-opt dm.metadatadev=/dev/sdc1 - ``` - - * `dm.blocksize` - - Specifies a custom blocksize to use for the thin pool. The default - blocksize is 64K. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.blocksize=512K - ``` - - * `dm.blkdiscard` - - Enables or disables the use of blkdiscard when removing devicemapper - devices. This is enabled by default (only) if using loopback devices and is - required to resparsify the loopback file on image/container removal. - - Disabling this on loopback can lead to *much* faster container removal - times, but will make the space used in `/var/lib/docker` directory not be - returned to the system for other use when containers are removed. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.blkdiscard=false - ``` - - * `dm.override_udev_sync_check` - - Overrides the `udev` synchronization checks between `devicemapper` and `udev`. - `udev` is the device manager for the Linux kernel. - - To view the `udev` sync support of a Docker daemon that is using the - `devicemapper` driver, run: - - ```bash - $ docker info - [...] - Udev Sync Supported: true - [...] - ``` - - When `udev` sync support is `true`, then `devicemapper` and udev can - coordinate the activation and deactivation of devices for containers. - - When `udev` sync support is `false`, a race condition occurs between - the`devicemapper` and `udev` during create and cleanup. The race condition - results in errors and failures. (For information on these failures, see - [docker#4036](https://github.com/docker/docker/issues/4036)) - - To allow the `docker` daemon to start, regardless of `udev` sync not being - supported, set `dm.override_udev_sync_check` to true: - - ```bash - $ sudo dockerd --storage-opt dm.override_udev_sync_check=true - ``` - - When this value is `true`, the `devicemapper` continues and simply warns - you the errors are happening. - - > **Note:** - > The ideal is to pursue a `docker` daemon and environment that does - > support synchronizing with `udev`. For further discussion on this - > topic, see [docker#4036](https://github.com/docker/docker/issues/4036). - > Otherwise, set this flag for migrating existing Docker daemons to - > a daemon with a supported environment. - - * `dm.use_deferred_removal` - - Enables use of deferred device removal if `libdm` and the kernel driver - support the mechanism. - - Deferred device removal means that if device is busy when devices are - being removed/deactivated, then a deferred removal is scheduled on - device. And devices automatically go away when last user of the device - exits. - - For example, when a container exits, its associated thin device is removed. - If that device has leaked into some other mount namespace and can't be - removed, the container exit still succeeds and this option causes the - system to schedule the device for deferred removal. It does not wait in a - loop trying to remove a busy device. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.use_deferred_removal=true - ``` - - * `dm.use_deferred_deletion` - - Enables use of deferred device deletion for thin pool devices. By default, - thin pool device deletion is synchronous. Before a container is deleted, - the Docker daemon removes any associated devices. If the storage driver - can not remove a device, the container deletion fails and daemon returns. - - Error deleting container: Error response from daemon: Cannot destroy container - - To avoid this failure, enable both deferred device deletion and deferred - device removal on the daemon. - - ```bash - $ sudo dockerd \ - --storage-opt dm.use_deferred_deletion=true \ - --storage-opt dm.use_deferred_removal=true - ``` - - With these two options enabled, if a device is busy when the driver is - deleting a container, the driver marks the device as deleted. Later, when - the device isn't in use, the driver deletes it. - - In general it should be safe to enable this option by default. It will help - when unintentional leaking of mount point happens across multiple mount - namespaces. - - * `dm.min_free_space` - - Specifies the min free space percent in a thin pool require for new device - creation to succeed. This check applies to both free data space as well - as free metadata space. Valid values are from 0% - 99%. Value 0% disables - free space checking logic. If user does not specify a value for this option, - the Engine uses a default value of 10%. - - Whenever a new a thin pool device is created (during `docker pull` or during - container creation), the Engine checks if the minimum free space is - available. If sufficient space is unavailable, then device creation fails - and any relevant `docker` operation fails. - - To recover from this error, you must create more free space in the thin pool - to recover from the error. You can create free space by deleting some images - and containers from the thin pool. You can also add more storage to the thin - pool. - - To add more space to a LVM (logical volume management) thin pool, just add - more storage to the volume group container thin pool; this should automatically - resolve any errors. If your configuration uses loop devices, then stop the - Engine daemon, grow the size of loop files and restart the daemon to resolve - the issue. - - Example use: - - ```bash - $ sudo dockerd --storage-opt dm.min_free_space=10% - ``` - - #### ZFS options - - * `zfs.fsname` - - Set zfs filesystem under which docker will create its own datasets. - By default docker will pick up the zfs filesystem where docker graph - (`/var/lib/docker`) is located. - - Example use: - - ```bash - $ sudo dockerd -s zfs --storage-opt zfs.fsname=zroot/docker - ``` - - #### Btrfs options - - * `btrfs.min_space` - - Specifies the minimum size to use when creating the subvolume which is used - for containers. If user uses disk quota for btrfs when creating or running - a container with **--storage-opt size** option, docker should ensure the - **size** cannot be smaller than **btrfs.min_space**. - - Example use: - - ```bash - $ sudo dockerd -s btrfs --storage-opt btrfs.min_space=10G - ``` - - #### Overlay2 options - - * `overlay2.override_kernel_check` - - Overrides the Linux kernel version check allowing overlay2. Support for - specifying multiple lower directories needed by overlay2 was added to the - Linux kernel in 4.0.0. However some older kernel versions may be patched - to add multiple lower directory support for OverlayFS. This option should - only be used after verifying this support exists in the kernel. Applying - this option on a kernel without this support will cause failures on mount. - - ## Docker runtime execution options - - The Docker daemon relies on a - [OCI](https://github.com/opencontainers/specs) compliant runtime - (invoked via the `containerd` daemon) as its interface to the Linux - kernel `namespaces`, `cgroups`, and `SELinux`. - - By default, the Docker daemon automatically starts `containerd`. If you want to - control `containerd` startup, manually start `containerd` and pass the path to - the `containerd` socket using the `--containerd` flag. For example: - - ```bash - $ sudo dockerd --containerd /var/run/dev/docker-containerd.sock - ``` - - Runtimes can be registered with the daemon either via the - configuration file or using the `--add-runtime` command line argument. - - The following is an example adding 2 runtimes via the configuration: - - ```json - "default-runtime": "runc", - "runtimes": { - "runc": { - "path": "runc" - }, - "custom": { - "path": "/usr/local/bin/my-runc-replacement", - "runtimeArgs": [ - "--debug" - ] - } - } - ``` - - This is the same example via the command line: - - ```bash - $ sudo dockerd --add-runtime runc=runc --add-runtime custom=/usr/local/bin/my-runc-replacement - ``` - - > **Note**: defining runtime arguments via the command line is not supported. - - ## Options for the runtime - - You can configure the runtime using options specified - with the `--exec-opt` flag. All the flag's options have the `native` prefix. A - single `native.cgroupdriver` option is available. - - The `native.cgroupdriver` option specifies the management of the container's - cgroups. You can specify only specify `cgroupfs` or `systemd`. If you specify - `systemd` and it is not available, the system errors out. If you omit the - `native.cgroupdriver` option,` cgroupfs` is used. - - This example sets the `cgroupdriver` to `systemd`: - - ```bash - $ sudo dockerd --exec-opt native.cgroupdriver=systemd - ``` - - Setting this option applies to all containers the daemon launches. - - Also Windows Container makes use of `--exec-opt` for special purpose. Docker user - can specify default container isolation technology with this, for example: - - ```bash - $ sudo dockerd --exec-opt isolation=hyperv - ``` - - Will make `hyperv` the default isolation technology on Windows. If no isolation - value is specified on daemon start, on Windows client, the default is - `hyperv`, and on Windows server, the default is `process`. - - ## Daemon DNS options - - To set the DNS server for all Docker containers, use: - - ```bash - $ sudo dockerd --dns 8.8.8.8 - ``` - - - To set the DNS search domain for all Docker containers, use: - - ```bash - $ sudo dockerd --dns-search example.com - ``` - - - ## Insecure registries - - Docker considers a private registry either secure or insecure. In the rest of - this section, *registry* is used for *private registry*, and `myregistry:5000` - is a placeholder example for a private registry. - - A secure registry uses TLS and a copy of its CA certificate is placed on the - Docker host at `/etc/docker/certs.d/myregistry:5000/ca.crt`. An insecure - registry is either not using TLS (i.e., listening on plain text HTTP), or is - using TLS with a CA certificate not known by the Docker daemon. The latter can - happen when the certificate was not found under - `/etc/docker/certs.d/myregistry:5000/`, or if the certificate verification - failed (i.e., wrong CA). - - By default, Docker assumes all, but local (see local registries below), - registries are secure. Communicating with an insecure registry is not possible - if Docker assumes that registry is secure. In order to communicate with an - insecure registry, the Docker daemon requires `--insecure-registry` in one of - the following two forms: - - * `--insecure-registry myregistry:5000` tells the Docker daemon that - myregistry:5000 should be considered insecure. - * `--insecure-registry 10.1.0.0/16` tells the Docker daemon that all registries - whose domain resolve to an IP address is part of the subnet described by the - CIDR syntax, should be considered insecure. - - The flag can be used multiple times to allow multiple registries to be marked - as insecure. - - If an insecure registry is not marked as insecure, `docker pull`, - `docker push`, and `docker search` will result in an error message prompting - the user to either secure or pass the `--insecure-registry` flag to the Docker - daemon as described above. - - Local registries, whose IP address falls in the 127.0.0.0/8 range, are - automatically marked as insecure as of Docker 1.3.2. It is not recommended to - rely on this, as it may change in the future. - - Enabling `--insecure-registry`, i.e., allowing un-encrypted and/or untrusted - communication, can be useful when running a local registry. However, - because its use creates security vulnerabilities it should ONLY be enabled for - testing purposes. For increased security, users should add their CA to their - system's list of trusted CAs instead of enabling `--insecure-registry`. - - ## Legacy Registries - - Enabling `--disable-legacy-registry` forces a docker daemon to only interact with registries which support the V2 protocol. Specifically, the daemon will not attempt `push`, `pull` and `login` to v1 registries. The exception to this is `search` which can still be performed on v1 registries. - - ## Running a Docker daemon behind an HTTPS_PROXY - - When running inside a LAN that uses an `HTTPS` proxy, the Docker Hub - certificates will be replaced by the proxy's certificates. These certificates - need to be added to your Docker host's configuration: - - 1. Install the `ca-certificates` package for your distribution - 2. Ask your network admin for the proxy's CA certificate and append them to - `/etc/pki/tls/certs/ca-bundle.crt` - 3. Then start your Docker daemon with `HTTPS_PROXY=http://username:password@proxy:port/ dockerd`. - The `username:` and `password@` are optional - and are only needed if your - proxy is set up to require authentication. - - This will only add the proxy and authentication to the Docker daemon's requests - - your `docker build`s and running containers will need extra configuration to - use the proxy - - ## Default Ulimits - - `--default-ulimit` allows you to set the default `ulimit` options to use for - all containers. It takes the same options as `--ulimit` for `docker run`. If - these defaults are not set, `ulimit` settings will be inherited, if not set on - `docker run`, from the Docker daemon. Any `--ulimit` options passed to - `docker run` will overwrite these defaults. - - Be careful setting `nproc` with the `ulimit` flag as `nproc` is designed by Linux to - set the maximum number of processes available to a user, not to a container. For details - please check the [run](run.md) reference. - - ## Nodes discovery - - The `--cluster-advertise` option specifies the `host:port` or `interface:port` - combination that this particular daemon instance should use when advertising - itself to the cluster. The daemon is reached by remote hosts through this value. - If you specify an interface, make sure it includes the IP address of the actual - Docker host. For Engine installation created through `docker-machine`, the - interface is typically `eth1`. - - The daemon uses [libkv](https://github.com/docker/libkv/) to advertise - the node within the cluster. Some key-value backends support mutual - TLS. To configure the client TLS settings used by the daemon can be configured - using the `--cluster-store-opt` flag, specifying the paths to PEM encoded - files. For example: - - ```bash - $ sudo dockerd \ - --cluster-advertise 192.168.1.2:2376 \ - --cluster-store etcd://192.168.1.2:2379 \ - --cluster-store-opt kv.cacertfile=/path/to/ca.pem \ - --cluster-store-opt kv.certfile=/path/to/cert.pem \ - --cluster-store-opt kv.keyfile=/path/to/key.pem - ``` - - The currently supported cluster store options are: - - * `discovery.heartbeat` - - Specifies the heartbeat timer in seconds which is used by the daemon as a - keepalive mechanism to make sure discovery module treats the node as alive - in the cluster. If not configured, the default value is 20 seconds. - - * `discovery.ttl` - - Specifies the ttl (time-to-live) in seconds which is used by the discovery - module to timeout a node if a valid heartbeat is not received within the - configured ttl value. If not configured, the default value is 60 seconds. - - * `kv.cacertfile` - - Specifies the path to a local file with PEM encoded CA certificates to trust - - * `kv.certfile` - - Specifies the path to a local file with a PEM encoded certificate. This - certificate is used as the client cert for communication with the - Key/Value store. - - * `kv.keyfile` - - Specifies the path to a local file with a PEM encoded private key. This - private key is used as the client key for communication with the - Key/Value store. - - * `kv.path` - - Specifies the path in the Key/Value store. If not configured, the default value is 'docker/nodes'. - - ## Access authorization - - Docker's access authorization can be extended by authorization plugins that your - organization can purchase or build themselves. You can install one or more - authorization plugins when you start the Docker `daemon` using the - `--authorization-plugin=PLUGIN_ID` option. - - ```bash - $ sudo dockerd --authorization-plugin=plugin1 --authorization-plugin=plugin2,... - ``` - - The `PLUGIN_ID` value is either the plugin's name or a path to its specification - file. The plugin's implementation determines whether you can specify a name or - path. Consult with your Docker administrator to get information about the - plugins available to you. - - Once a plugin is installed, requests made to the `daemon` through the command - line or Docker's remote API are allowed or denied by the plugin. If you have - multiple plugins installed, at least one must allow the request for it to - complete. - - For information about how to create an authorization plugin, see [authorization - plugin](../../extend/plugins_authorization.md) section in the Docker extend section of this documentation. - - - ## Daemon user namespace options - - The Linux kernel [user namespace support](http://man7.org/linux/man-pages/man7/user_namespaces.7.html) provides additional security by enabling - a process, and therefore a container, to have a unique range of user and - group IDs which are outside the traditional user and group range utilized by - the host system. Potentially the most important security improvement is that, - by default, container processes running as the `root` user will have expected - administrative privilege (with some restrictions) inside the container but will - effectively be mapped to an unprivileged `uid` on the host. - - When user namespace support is enabled, Docker creates a single daemon-wide mapping - for all containers running on the same engine instance. The mappings will - utilize the existing subordinate user and group ID feature available on all modern - Linux distributions. - The [`/etc/subuid`](http://man7.org/linux/man-pages/man5/subuid.5.html) and - [`/etc/subgid`](http://man7.org/linux/man-pages/man5/subgid.5.html) files will be - read for the user, and optional group, specified to the `--userns-remap` - parameter. If you do not wish to specify your own user and/or group, you can - provide `default` as the value to this flag, and a user will be created on your behalf - and provided subordinate uid and gid ranges. This default user will be named - `dockremap`, and entries will be created for it in `/etc/passwd` and - `/etc/group` using your distro's standard user and group creation tools. - - > **Note**: The single mapping per-daemon restriction is in place for now - > because Docker shares image layers from its local cache across all - > containers running on the engine instance. Since file ownership must be - > the same for all containers sharing the same layer content, the decision - > was made to map the file ownership on `docker pull` to the daemon's user and - > group mappings so that there is no delay for running containers once the - > content is downloaded. This design preserves the same performance for `docker - > pull`, `docker push`, and container startup as users expect with - > user namespaces disabled. - - ### Starting the daemon with user namespaces enabled - - To enable user namespace support, start the daemon with the - `--userns-remap` flag, which accepts values in the following formats: - - - uid - - uid:gid - - username - - username:groupname - - If numeric IDs are provided, translation back to valid user or group names - will occur so that the subordinate uid and gid information can be read, given - these resources are name-based, not id-based. If the numeric ID information - provided does not exist as entries in `/etc/passwd` or `/etc/group`, daemon - startup will fail with an error message. - - > **Note:** On Fedora 22, you have to `touch` the `/etc/subuid` and `/etc/subgid` - > files to have ranges assigned when users are created. This must be done - > *before* the `--userns-remap` option is enabled. Once these files exist, the - > daemon can be (re)started and range assignment on user creation works properly. - - **Example: starting with default Docker user management:** - - ```bash - $ sudo dockerd --userns-remap=default - ``` - - When `default` is provided, Docker will create - or find the existing - user and group - named `dockremap`. If the user is created, and the Linux distribution has - appropriate support, the `/etc/subuid` and `/etc/subgid` files will be populated - with a contiguous 65536 length range of subordinate user and group IDs, starting - at an offset based on prior entries in those files. For example, Ubuntu will - create the following range, based on an existing user named `user1` already owning - the first 65536 range: - - ```bash - $ cat /etc/subuid - user1:100000:65536 - dockremap:165536:65536 - ``` - - If you have a preferred/self-managed user with subordinate ID mappings already - configured, you can provide that username or uid to the `--userns-remap` flag. - If you have a group that doesn't match the username, you may provide the `gid` - or group name as well; otherwise the username will be used as the group name - when querying the system for the subordinate group ID range. - - ### Detailed information on `subuid`/`subgid` ranges - - Given potential advanced use of the subordinate ID ranges by power users, the - following paragraphs define how the Docker daemon currently uses the range entries - found within the subordinate range files. - - The simplest case is that only one contiguous range is defined for the - provided user or group. In this case, Docker will use that entire contiguous - range for the mapping of host uids and gids to the container process. This - means that the first ID in the range will be the remapped root user, and the - IDs above that initial ID will map host ID 1 through the end of the range. - - From the example `/etc/subuid` content shown above, the remapped root - user would be uid 165536. - - If the system administrator has set up multiple ranges for a single user or - group, the Docker daemon will read all the available ranges and use the - following algorithm to create the mapping ranges: - - 1. The range segments found for the particular user will be sorted by *start ID* ascending. - 2. Map segments will be created from each range in increasing value with a length matching the length of each segment. Therefore the range segment with the lowest numeric starting value will be equal to the remapped root, and continue up through host uid/gid equal to the range segment length. As an example, if the lowest segment starts at ID 1000 and has a length of 100, then a map of 1000 -> 0 (the remapped root) up through 1100 -> 100 will be created from this segment. If the next segment starts at ID 10000, then the next map will start with mapping 10000 -> 101 up to the length of this second segment. This will continue until no more segments are found in the subordinate files for this user. - 3. If more than five range segments exist for a single user, only the first five will be utilized, matching the kernel's limitation of only five entries in `/proc/self/uid_map` and `proc/self/gid_map`. - - ### Disable user namespace for a container - - If you enable user namespaces on the daemon, all containers are started - with user namespaces enabled. In some situations you might want to disable - this feature for a container, for example, to start a privileged container (see - [user namespace known restrictions](dockerd.md#user-namespace-known-restrictions)). - To enable those advanced features for a specific container use `--userns=host` - in the `run/exec/create` command. - This option will completely disable user namespace mapping for the container's user. - - ### User namespace known restrictions - - The following standard Docker features are currently incompatible when - running a Docker daemon with user namespaces enabled: - - - sharing PID or NET namespaces with the host (`--pid=host` or `--network=host`) - - A `--read-only` container filesystem (this is a Linux kernel restriction against remounting with modified flags of a currently mounted filesystem when inside a user namespace) - - external (volume or graph) drivers which are unaware/incapable of using daemon user mappings - - Using `--privileged` mode flag on `docker run` (unless also specifying `--userns=host`) - - In general, user namespaces are an advanced feature and will require - coordination with other capabilities. For example, if volumes are mounted from - the host, file ownership will have to be pre-arranged if the user or - administrator wishes the containers to have expected access to the volume - contents. - - Finally, while the `root` user inside a user namespaced container process has - many of the expected admin privileges that go along with being the superuser, the - Linux kernel has restrictions based on internal knowledge that this is a user namespaced - process. The most notable restriction that we are aware of at this time is the - inability to use `mknod`. Permission will be denied for device creation even as - container `root` inside a user namespace. - - ## Miscellaneous options - - IP masquerading uses address translation to allow containers without a public - IP to talk to other machines on the Internet. This may interfere with some - network topologies and can be disabled with `--ip-masq=false`. - - Docker supports softlinks for the Docker data directory (`/var/lib/docker`) and - for `/var/lib/docker/tmp`. The `DOCKER_TMPDIR` and the data directory can be - set like this: - - DOCKER_TMPDIR=/mnt/disk2/tmp /usr/local/bin/dockerd -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 2>&1 - # or - export DOCKER_TMPDIR=/mnt/disk2/tmp - /usr/local/bin/dockerd -D -g /var/lib/docker -H unix:// > /var/lib/docker-machine/docker.log 2>&1 - - ## Default cgroup parent - - The `--cgroup-parent` option allows you to set the default cgroup parent - to use for containers. If this option is not set, it defaults to `/docker` for - fs cgroup driver and `system.slice` for systemd cgroup driver. - - If the cgroup has a leading forward slash (`/`), the cgroup is created - under the root cgroup, otherwise the cgroup is created under the daemon - cgroup. - - Assuming the daemon is running in cgroup `daemoncgroup`, - `--cgroup-parent=/foobar` creates a cgroup in - `/sys/fs/cgroup/memory/foobar`, whereas using `--cgroup-parent=foobar` - creates the cgroup in `/sys/fs/cgroup/memory/daemoncgroup/foobar` - - The systemd cgroup driver has different rules for `--cgroup-parent`. Systemd - represents hierarchy by slice and the name of the slice encodes the location in - the tree. So `--cgroup-parent` for systemd cgroups should be a slice name. A - name can consist of a dash-separated series of names, which describes the path - to the slice from the root slice. For example, `--cgroup-parent=user-a-b.slice` - means the memory cgroup for the container is created in - `/sys/fs/cgroup/memory/user.slice/user-a.slice/user-a-b.slice/docker-.scope`. - - This setting can also be set per container, using the `--cgroup-parent` - option on `docker create` and `docker run`, and takes precedence over - the `--cgroup-parent` option on the daemon. - - ## Daemon Metrics - - The `--metrics-addr` option takes a TCP address to serve the metrics API. This - feature is still experimental, therefore, the daemon must be running in - experimental mode for this feature to work. - - To serve the metrics API on localhost:9323 you would specify - `--metrics-addr 127.0.0.1:9323` allowing you to make requests on the API at - `127.0.0.1:9323/metrics` to receive metrics in the - [prometheus](https://prometheus.io/docs/instrumenting/exposition_formats/) - format. - - If you are running a prometheus server you can add this address to your scrape - configs to have prometheus collect metrics on Docker. For more information on - prometheus you can view the website [here](https://prometheus.io/). - - ```yml - scrape_configs: - - job_name: 'docker' - static_configs: - - targets: ['127.0.0.1:9323'] - ``` - - Please note that this feature is still marked as experimental as metrics and - metric names could change while this feature is still in experimental. Please - provide feedback on what you would like to see collected in the API. - - ## Daemon configuration file - - The `--config-file` option allows you to set any configuration option - for the daemon in a JSON format. This file uses the same flag names as keys, - except for flags that allow several entries, where it uses the plural - of the flag name, e.g., `labels` for the `label` flag. - - The options set in the configuration file must not conflict with options set - via flags. The docker daemon fails to start if an option is duplicated between - the file and the flags, regardless their value. We do this to avoid - silently ignore changes introduced in configuration reloads. - For example, the daemon fails to start if you set daemon labels - in the configuration file and also set daemon labels via the `--label` flag. - Options that are not present in the file are ignored when the daemon starts. - - ### Linux configuration file - - The default location of the configuration file on Linux is - `/etc/docker/daemon.json`. The `--config-file` flag can be used to specify a - non-default location. - - This is a full example of the allowed configuration options on Linux: - - ```json - { - "api-cors-header": "", - "authorization-plugins": [], - "bip": "", - "bridge": "", - "cgroup-parent": "", - "cluster-store": "", - "cluster-store-opts": {}, - "cluster-advertise": "", - "debug": true, - "default-gateway": "", - "default-gateway-v6": "", - "default-runtime": "runc", - "default-ulimits": {}, - "disable-legacy-registry": false, - "dns": [], - "dns-opts": [], - "dns-search": [], - "exec-opts": [], - "exec-root": "", - "fixed-cidr": "", - "fixed-cidr-v6": "", - "graph": "", - "group": "", - "hosts": [], - "icc": false, - "insecure-registries": [], - "ip": "0.0.0.0", - "iptables": false, - "ipv6": false, - "ip-forward": false, - "ip-masq": false, - "labels": [], - "live-restore": true, - "log-driver": "", - "log-level": "", - "log-opts": {}, - "max-concurrent-downloads": 3, - "max-concurrent-uploads": 5, - "mtu": 0, - "oom-score-adjust": -500, - "pidfile": "", - "raw-logs": false, - "registry-mirrors": [], - "runtimes": { - "runc": { - "path": "runc" - }, - "custom": { - "path": "/usr/local/bin/my-runc-replacement", - "runtimeArgs": [ - "--debug" - ] - } - }, - "selinux-enabled": false, - "storage-driver": "", - "storage-opts": [], - "swarm-default-advertise-addr": "", - "tls": true, - "tlscacert": "", - "tlscert": "", - "tlskey": "", - "tlsverify": true, - "userland-proxy": false, - "userns-remap": "" - } - ``` - - ### Windows configuration file - - The default location of the configuration file on Windows is - `%programdata%\docker\config\daemon.json`. The `--config-file` flag can be - used to specify a non-default location. - - This is a full example of the allowed configuration options on Windows: - - ```json - { - "authorization-plugins": [], - "bridge": "", - "cluster-advertise": "", - "cluster-store": "", - "debug": true, - "default-ulimits": {}, - "disable-legacy-registry": false, - "dns": [], - "dns-opts": [], - "dns-search": [], - "exec-opts": [], - "fixed-cidr": "", - "graph": "", - "group": "", - "hosts": [], - "insecure-registries": [], - "labels": [], - "live-restore": true, - "log-driver": "", - "log-level": "", - "mtu": 0, - "pidfile": "", - "raw-logs": false, - "registry-mirrors": [], - "storage-driver": "", - "storage-opts": [], - "swarm-default-advertise-addr": "", - "tlscacert": "", - "tlscert": "", - "tlskey": "", - "tlsverify": true - } - ``` - - ### Configuration reloading - - Some options can be reconfigured when the daemon is running without requiring - to restart the process. We use the `SIGHUP` signal in Linux to reload, and a global event - in Windows with the key `Global\docker-daemon-config-$PID`. The options can - be modified in the configuration file but still will check for conflicts with - the provided flags. The daemon fails to reconfigure itself - if there are conflicts, but it won't stop execution. - - The list of currently supported options that can be reconfigured is this: - - - `debug`: it changes the daemon to debug mode when set to true. - - `cluster-store`: it reloads the discovery store with the new address. - - `cluster-store-opts`: it uses the new options to reload the discovery store. - - `cluster-advertise`: it modifies the address advertised after reloading. - - `labels`: it replaces the daemon labels with a new set of labels. - - `live-restore`: Enables [keeping containers alive during daemon downtime](../../admin/live-restore.md). - - `max-concurrent-downloads`: it updates the max concurrent downloads for each pull. - - `max-concurrent-uploads`: it updates the max concurrent uploads for each push. - - `default-runtime`: it updates the runtime to be used if not is - specified at container creation. It defaults to "default" which is - the runtime shipped with the official docker packages. - - `runtimes`: it updates the list of available OCI runtimes that can - be used to run containers - - Updating and reloading the cluster configurations such as `--cluster-store`, - `--cluster-advertise` and `--cluster-store-opts` will take effect only if - these configurations were not previously configured. If `--cluster-store` - has been provided in flags and `cluster-advertise` not, `cluster-advertise` - can be added in the configuration file without accompanied by `--cluster-store` - Configuration reload will log a warning message if it detects a change in - previously configured cluster configurations. - - - ## Running multiple daemons - - > **Note:** Running multiple daemons on a single host is considered as "experimental". The user should be aware of - > unsolved problems. This solution may not work properly in some cases. Solutions are currently under development - > and will be delivered in the near future. - - This section describes how to run multiple Docker daemons on a single host. To - run multiple daemons, you must configure each daemon so that it does not - conflict with other daemons on the same host. You can set these options either - by providing them as flags, or by using a [daemon configuration file](dockerd.md#daemon-configuration-file). - - The following daemon options must be configured for each daemon: - - ```bash - -b, --bridge= Attach containers to a network bridge - --exec-root=/var/run/docker Root of the Docker execdriver - -g, --graph=/var/lib/docker Root of the Docker runtime - -p, --pidfile=/var/run/docker.pid Path to use for daemon PID file - -H, --host=[] Daemon socket(s) to connect to - --iptables=true Enable addition of iptables rules - --config-file=/etc/docker/daemon.json Daemon configuration file - --tlscacert="~/.docker/ca.pem" Trust certs signed only by this CA - --tlscert="~/.docker/cert.pem" Path to TLS certificate file - --tlskey="~/.docker/key.pem" Path to TLS key file - ``` - - When your daemons use different values for these flags, you can run them on the same host without any problems. - It is very important to properly understand the meaning of those options and to use them correctly. - - - The `-b, --bridge=` flag is set to `docker0` as default bridge network. It is created automatically when you install Docker. - If you are not using the default, you must create and configure the bridge manually or just set it to 'none': `--bridge=none` - - `--exec-root` is the path where the container state is stored. The default value is `/var/run/docker`. Specify the path for - your running daemon here. - - `--graph` is the path where images are stored. The default value is `/var/lib/docker`. To avoid any conflict with other daemons - set this parameter separately for each daemon. - - `-p, --pidfile=/var/run/docker.pid` is the path where the process ID of the daemon is stored. Specify the path for your - pid file here. - - `--host=[]` specifies where the Docker daemon will listen for client connections. If unspecified, it defaults to `/var/run/docker.sock`. - - `--iptables=false` prevents the Docker daemon from adding iptables rules. If - multiple daemons manage iptables rules, they may overwrite rules set by another - daemon. Be aware that disabling this option requires you to manually add - iptables rules to expose container ports. If you prevent Docker from adding - iptables rules, Docker will also not add IP masquerading rules, even if you set - `--ip-masq` to `true`. Without IP masquerading rules, Docker containers will not be - able to connect to external hosts or the internet when using network other than - default bridge. - - `--config-file=/etc/docker/daemon.json` is the path where configuration file is stored. You can use it instead of - daemon flags. Specify the path for each daemon. - - `--tls*` Docker daemon supports `--tlsverify` mode that enforces encrypted and authenticated remote connections. - The `--tls*` options enable use of specific certificates for individual daemons. - - Example script for a separate “bootstrap” instance of the Docker daemon without network: - - ```bash - $ sudo dockerd \ - -H unix:///var/run/docker-bootstrap.sock \ - -p /var/run/docker-bootstrap.pid \ - --iptables=false \ - --ip-masq=false \ - --bridge=none \ - --graph=/var/lib/docker-bootstrap \ - --exec-root=/var/run/docker-bootstrap - ``` -usage: dockerd [OPTIONS] -pname: dockerd -plink: dockerd.yaml -options: -- option: add-runtime - description: Register an additional OCI compatible runtime -- option: api-cors-header - description: Set CORS headers in the remote API -- option: authorization-plugin - description: Authorization plugins to load -- option: bridge - shorthand: b - description: Attach containers to a network bridge -- option: bip - description: Specify network bridge IP -- option: cgroup-parent - description: Set parent cgroup for all containers -- option: cluster-advertise - description: Address or interface name to advertise -- option: cluster-store - default_value: map[] - description: Set cluster store options -- option: config-file - default_value: /etc/docker/daemon.json - description: Daemon configuration file -- option: containerd - description: Path to containerd socket -- option: debug - shorthand: D - description: Enable debug mode -- option: default-gateway - description: Container default gateway IPv4 address -- option: default-gateway-v6 - description: Container default gateway IPv6 address -- option: default-runtime - default_value: runc - description: Default OCI runtime for containers -- option: default-ulimit - description: Default ulimits for containers -- option: disable-legacy-registry - description: Disable contacting legacy registries -- option: dns - description: DNS server to use -- option: dns-opt - description: DNS options to use -- option: dns-search - description: DNS search domains to use -- option: exec-opt - description: Runtime execution options -- option: exec-root - default_value: /var/run/docker - description: Root directory for execution state files -- option: fixed-cidr - description: IPv4 subnet for fixed IPs -- option: fixed-cidr-v6 - description: IPv6 subnet for fixed IPs -- option: group - shorthand: G - default_value: docker - description: Group for the unix socket -- option: graph - shorthand: g - default_value: /var/lib/docker - description: Root of the Docker runtime -- option: host - shorthand: H - description: Daemon socket(s) to connect to -- option: help - description: Print usage -- option: icc - default_value: true - description: Enable inter-container communication -- option: insecure-registry - description: Enable insecure registry communication -- option: ip - default_value: 0.0.0.0 - description: Default IP when binding container ports -- option: ip-forward - default_value: true - description: Enable net.ipv4.ip_forward -- option: ip-masq - default_value: true - description: Enable IP masquerading -- option: iptables - default_value: true - description: Enable addition of iptables rules -- option: ipv6 - description: Enable IPv6 networking -- option: log-level - shorthand: l - default_value: info - description: Set the logging level -- option: label - description: Set key=value labels to the daemon -- option: live-restore - description: Enables keeping containers alive during daemon downtime -- option: log-driver - default_value: json-file - description: Default driver for container logs -- option: log-opt - default_value: map[] - description: Default log driver options for containers -- option: max-concurrent-downloads - default_value: 3 - description: Set the max concurrent downloads for each pull -- option: max-concurrent-uploads - default_value: 5 - description: Set the max concurrent uploads for each push -- option: metrics-addr - description: Set address and port to serve the metrics api -- option: mtu - description: Set the containers network MTU -- option: oom-score-adjust - default_value: -500 - description: Set the oom_score_adj for the daemon -- option: pidfile - shorthand: p - default_value: /var/run/docker.pid - description: Path to use for daemon PID file -- option: raw-logs - description: Full timestamps without ANSI coloring -- option: registry-mirror - description: Preferred Docker registry mirror -- option: storage-driver - shorthand: s - description: Storage driver to use -- option: selinux-enabled - description: Enable selinux support -- option: storage-opt - description: Storage driver options -- option: swarm-default-advertise-addr - description: Set default address or interface for swarm advertised address -- option: tls - description: Use TLS; implied by --tlsverify -- option: tlscacert - default_value: ~/.docker/ca.pem - description: Trust certs signed only by this CA -- option: tlscert - default_value: ~/.docker/cert.pem - description: Path to TLS certificate file -- option: tlskey - default_value: ~/.docker/key.pem - description: Path to TLS key file -- option: tlsverify - description: Use TLS and verify the remote -- option: userland-proxy - default_value: true - description: Use userland proxy for loopback traffic -- option: userns-remap - description: User/Group setting for user namespaces -- option: version - shorthand: v - description: Print version information and quit diff --git a/_data/docsarchive/archive.yml b/_data/docsarchive/archive.yml deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/_data/docsarchive/docker-compose.yml b/_data/docsarchive/docker-compose.yml deleted file mode 100644 index 1c9443d0013d..000000000000 --- a/_data/docsarchive/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -v1.4: - image: docs/docker.github.io:v1.4 - ports: - - "4014:4000" -v1.5: - image: docs/docker.github.io:v1.5 - ports: - - "4015:4000" -v1.6: - image: docs/docker.github.io:v1.6 - ports: - - "4016:4000" -v1.7: - image: docs/docker.github.io:v1.7 - ports: - - "4017:4000" -v1.8: - image: docs/docker.github.io:v1.8 - ports: - - "4018:4000" -v1.9: - image: docs/docker.github.io:v1.9 - ports: - - "4019:4000" -v1.10: - image: docs/docker.github.io:v1.10 - ports: - - "4110:4000" -v1.11: - image: docs/docker.github.io:v1.11 - ports: - - "4111:4000" -v1.12: - image: docs/docker.github.io:v1.12 - ports: - - "4112:4000" diff --git a/_data/docsarchive/v1.10/Dockerfile b/_data/docsarchive/v1.10/Dockerfile deleted file mode 100644 index 8baa1ae57d9d..000000000000 --- a/_data/docsarchive/v1.10/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.10 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.11/Dockerfile b/_data/docsarchive/v1.11/Dockerfile deleted file mode 100644 index 2d3396362759..000000000000 --- a/_data/docsarchive/v1.11/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.11 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.4/Dockerfile b/_data/docsarchive/v1.4/Dockerfile deleted file mode 100644 index 9d03f7f85ba4..000000000000 --- a/_data/docsarchive/v1.4/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.4 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.5/Dockerfile b/_data/docsarchive/v1.5/Dockerfile deleted file mode 100644 index 038dd020a1fa..000000000000 --- a/_data/docsarchive/v1.5/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.5 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.6/Dockerfile b/_data/docsarchive/v1.6/Dockerfile deleted file mode 100644 index fe98774588ce..000000000000 --- a/_data/docsarchive/v1.6/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.6 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.7/Dockerfile b/_data/docsarchive/v1.7/Dockerfile deleted file mode 100644 index 74445638b170..000000000000 --- a/_data/docsarchive/v1.7/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.7 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.8/Dockerfile b/_data/docsarchive/v1.8/Dockerfile deleted file mode 100644 index 73110f4720c9..000000000000 --- a/_data/docsarchive/v1.8/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.8 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/v1.9/Dockerfile b/_data/docsarchive/v1.9/Dockerfile deleted file mode 100644 index ff57967c2344..000000000000 --- a/_data/docsarchive/v1.9/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM starefossen/ruby-node:2-5 - -RUN gem install github-pages - -WORKDIR /data - -RUN git clone https://github.com/docker/docker.github.io docs - -WORKDIR /data/docs - -RUN git checkout v1.9 - -RUN jekyll build - -ENTRYPOINT ["jekyll", "serve", "--host=0.0.0.0"] diff --git a/_data/docsarchive/vnext-compose/Dockerfile b/_data/docsarchive/vnext-compose/Dockerfile deleted file mode 100644 index aff08596f907..000000000000 --- a/_data/docsarchive/vnext-compose/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ - -FROM starefossen/github-pages:onbuild - -ONBUILD RUN git clone https://www.github.com/docker/docker.github.io docs - -ONBUILD WORKDIR docs - -ONBUILD RUN git checkout vnext-compose - -ONBUILD COPY . /usr/src/app - -CMD jekyll serve -d /_site -H 0.0.0.0 -P 4000 diff --git a/_data/docsarchive/vnext-distribution/Dockerfile b/_data/docsarchive/vnext-distribution/Dockerfile deleted file mode 100644 index 8461f31668b5..000000000000 --- a/_data/docsarchive/vnext-distribution/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ - -FROM starefossen/github-pages:onbuild - -ONBUILD RUN git clone https://www.github.com/docker/docker.github.io docs - -ONBUILD WORKDIR docs - -ONBUILD RUN git checkout vnext-distribution - -ONBUILD COPY . /usr/src/app - -CMD jekyll serve -d /_site -H 0.0.0.0 -P 4000 diff --git a/_data/docsarchive/vnext-engine/Dockerfile b/_data/docsarchive/vnext-engine/Dockerfile deleted file mode 100644 index 659b48723f1a..000000000000 --- a/_data/docsarchive/vnext-engine/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ - -FROM starefossen/github-pages:onbuild - -ONBUILD RUN git clone https://www.github.com/docker/docker.github.io docs - -ONBUILD WORKDIR docs - -ONBUILD RUN git checkout vnext-engine - -ONBUILD COPY . /usr/src/app - -CMD jekyll serve -d /_site -H 0.0.0.0 -P 4000 diff --git a/_data/docsarchive/vnext-kitematic/Dockerfile b/_data/docsarchive/vnext-kitematic/Dockerfile deleted file mode 100644 index 60b61b64286d..000000000000 --- a/_data/docsarchive/vnext-kitematic/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ - -FROM starefossen/github-pages:onbuild - -ONBUILD RUN git clone https://www.github.com/docker/docker.github.io docs - -ONBUILD WORKDIR docs - -ONBUILD RUN git checkout vnext-kitematic - -ONBUILD COPY . /usr/src/app - -CMD jekyll serve -d /_site -H 0.0.0.0 -P 4000 diff --git a/_data/docsarchive/vnext-machine/Dockerfile b/_data/docsarchive/vnext-machine/Dockerfile deleted file mode 100644 index ffb099e5d450..000000000000 --- a/_data/docsarchive/vnext-machine/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ - -FROM starefossen/github-pages:onbuild - -ONBUILD RUN git clone https://www.github.com/docker/docker.github.io docs - -ONBUILD WORKDIR docs - -ONBUILD RUN git checkout vnext-machine - -ONBUILD COPY . /usr/src/app - -CMD jekyll serve -d /_site -H 0.0.0.0 -P 4000 diff --git a/_data/docsarchive/vnext-toolbox/Dockerfile b/_data/docsarchive/vnext-toolbox/Dockerfile deleted file mode 100644 index bda048ae6e9e..000000000000 --- a/_data/docsarchive/vnext-toolbox/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ - -FROM starefossen/github-pages:onbuild - -ONBUILD RUN git clone https://www.github.com/docker/docker.github.io docs - -ONBUILD WORKDIR docs - -ONBUILD RUN git checkout vnext-toolbox - -ONBUILD COPY . /usr/src/app - -CMD jekyll serve -d /_site -H 0.0.0.0 -P 4000 diff --git a/_data/engine-cli/docker.yaml b/_data/engine-cli/docker.yaml deleted file mode 100644 index c214f7f9ed5e..000000000000 --- a/_data/engine-cli/docker.yaml +++ /dev/null @@ -1,109 +0,0 @@ -command: docker -cname: -- docker attach -- docker build -- docker checkpoint -- docker commit -- docker container -- docker cp -- docker create -- docker deploy -- docker diff -- docker events -- docker exec -- docker export -- docker history -- docker image -- docker images -- docker import -- docker info -- docker inspect -- docker kill -- docker load -- docker login -- docker logout -- docker logs -- docker network -- docker node -- docker pause -- docker plugin -- docker port -- docker ps -- docker pull -- docker push -- docker rename -- docker restart -- docker rm -- docker rmi -- docker run -- docker save -- docker search -- docker secret -- docker service -- docker stack -- docker start -- docker stats -- docker stop -- docker swarm -- docker system -- docker tag -- docker top -- docker unpause -- docker update -- docker version -- docker volume -- docker wait -clink: -- docker_attach.yaml -- docker_build.yaml -- docker_checkpoint.yaml -- docker_commit.yaml -- docker_container.yaml -- docker_cp.yaml -- docker_create.yaml -- docker_deploy.yaml -- docker_diff.yaml -- docker_events.yaml -- docker_exec.yaml -- docker_export.yaml -- docker_history.yaml -- docker_image.yaml -- docker_images.yaml -- docker_import.yaml -- docker_info.yaml -- docker_inspect.yaml -- docker_kill.yaml -- docker_load.yaml -- docker_login.yaml -- docker_logout.yaml -- docker_logs.yaml -- docker_network.yaml -- docker_node.yaml -- docker_pause.yaml -- docker_plugin.yaml -- docker_port.yaml -- docker_ps.yaml -- docker_pull.yaml -- docker_push.yaml -- docker_rename.yaml -- docker_restart.yaml -- docker_rm.yaml -- docker_rmi.yaml -- docker_run.yaml -- docker_save.yaml -- docker_search.yaml -- docker_secret.yaml -- docker_service.yaml -- docker_stack.yaml -- docker_start.yaml -- docker_stats.yaml -- docker_stop.yaml -- docker_swarm.yaml -- docker_system.yaml -- docker_tag.yaml -- docker_top.yaml -- docker_unpause.yaml -- docker_update.yaml -- docker_version.yaml -- docker_volume.yaml -- docker_wait.yaml diff --git a/_data/engine-cli/docker_attach.yaml b/_data/engine-cli/docker_attach.yaml deleted file mode 100644 index 78c4f68504f0..000000000000 --- a/_data/engine-cli/docker_attach.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker attach -short: Attach to a running container -long: |2 - - Alias for `docker container attach`. -usage: docker attach [OPTIONS] CONTAINER -pname: docker -plink: docker.yaml -options: -- option: detach-keys - description: Override the key sequence for detaching a container -- option: no-stdin - default_value: "false" - description: Do not attach STDIN -- option: sig-proxy - default_value: "true" - description: Proxy all received signals to the process diff --git a/_data/engine-cli/docker_build.yaml b/_data/engine-cli/docker_build.yaml deleted file mode 100644 index f77ffc430428..000000000000 --- a/_data/engine-cli/docker_build.yaml +++ /dev/null @@ -1,84 +0,0 @@ -command: docker build -short: Build an image from a Dockerfile -long: Build an image from a Dockerfile -usage: docker build [OPTIONS] PATH | URL | - -pname: docker -plink: docker.yaml -options: -- option: build-arg - default_value: '[]' - description: Set build-time variables -- option: cache-from - default_value: '[]' - description: Images to consider as cache sources -- option: cgroup-parent - description: Optional parent cgroup for the container -- option: compress - default_value: "false" - description: Compress the build context using gzip -- option: cpu-period - default_value: "0" - description: Limit the CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit the CPU CFS (Completely Fair Scheduler) quota -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: file - shorthand: f - description: Name of the Dockerfile (Default is 'PATH/Dockerfile') -- option: force-rm - default_value: "false" - description: Always remove intermediate containers -- option: isolation - description: Container isolation technology -- option: label - default_value: '[]' - description: Set metadata for an image -- option: memory - shorthand: m - description: Memory limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: network - default_value: default - description: | - Set the networking mode for the RUN instructions during build -- option: no-cache - default_value: "false" - description: Do not use cache when building the image -- option: pull - default_value: "false" - description: Always attempt to pull a newer version of the image -- option: quiet - shorthand: q - default_value: "false" - description: Suppress the build output and print image ID on success -- option: rm - default_value: "true" - description: Remove intermediate containers after a successful build -- option: security-opt - default_value: '[]' - description: Security options -- option: shm-size - description: Size of /dev/shm, default value is 64MB -- option: squash - default_value: "false" - description: Squash newly built layers into a single new layer -- option: tag - shorthand: t - default_value: '[]' - description: Name and optionally a tag in the 'name:tag' format -- option: ulimit - default_value: '[]' - description: Ulimit options diff --git a/_data/engine-cli/docker_checkpoint.yaml b/_data/engine-cli/docker_checkpoint.yaml deleted file mode 100644 index 29a4441af107..000000000000 --- a/_data/engine-cli/docker_checkpoint.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker checkpoint -short: Manage checkpoints -long: Manage checkpoints -usage: docker checkpoint -pname: docker -plink: docker.yaml -cname: -- docker checkpoint create -- docker checkpoint ls -- docker checkpoint rm -clink: -- docker_checkpoint_create.yaml -- docker_checkpoint_ls.yaml -- docker_checkpoint_rm.yaml diff --git a/_data/engine-cli/docker_checkpoint_create.yaml b/_data/engine-cli/docker_checkpoint_create.yaml deleted file mode 100644 index 2e8f0a9529b3..000000000000 --- a/_data/engine-cli/docker_checkpoint_create.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker checkpoint create -short: Create a checkpoint from a running container -long: Create a checkpoint from a running container -usage: docker checkpoint create [OPTIONS] CONTAINER CHECKPOINT -pname: docker checkpoint -plink: docker_checkpoint.yaml -options: -- option: checkpoint-dir - description: Use a custom checkpoint storage directory -- option: leave-running - default_value: "false" - description: Leave the container running after checkpoint diff --git a/_data/engine-cli/docker_checkpoint_ls.yaml b/_data/engine-cli/docker_checkpoint_ls.yaml deleted file mode 100644 index 2020317de65a..000000000000 --- a/_data/engine-cli/docker_checkpoint_ls.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker checkpoint ls -aliases: list -short: List checkpoints for a container -long: List checkpoints for a container -usage: docker checkpoint ls [OPTIONS] CONTAINER -pname: docker checkpoint -plink: docker_checkpoint.yaml -options: -- option: checkpoint-dir - description: Use a custom checkpoint storage directory diff --git a/_data/engine-cli/docker_checkpoint_rm.yaml b/_data/engine-cli/docker_checkpoint_rm.yaml deleted file mode 100644 index 8f140a368fa4..000000000000 --- a/_data/engine-cli/docker_checkpoint_rm.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker checkpoint rm -aliases: remove -short: Remove a checkpoint -long: Remove a checkpoint -usage: docker checkpoint rm [OPTIONS] CONTAINER CHECKPOINT -pname: docker checkpoint -plink: docker_checkpoint.yaml -options: -- option: checkpoint-dir - description: Use a custom checkpoint storage directory diff --git a/_data/engine-cli/docker_commit.yaml b/_data/engine-cli/docker_commit.yaml deleted file mode 100644 index e7d1fe7a6062..000000000000 --- a/_data/engine-cli/docker_commit.yaml +++ /dev/null @@ -1,22 +0,0 @@ -command: docker commit -short: Create a new image from a container's changes -long: | - Alias for `docker container commit`. -usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -pname: docker -plink: docker.yaml -options: -- option: author - shorthand: a - description: Author (e.g., "John Hannibal Smith ") -- option: change - shorthand: c - default_value: '[]' - description: Apply Dockerfile instruction to the created image -- option: message - shorthand: m - description: Commit message -- option: pause - shorthand: p - default_value: "true" - description: Pause container during commit diff --git a/_data/engine-cli/docker_container.yaml b/_data/engine-cli/docker_container.yaml deleted file mode 100644 index 82d287f8580a..000000000000 --- a/_data/engine-cli/docker_container.yaml +++ /dev/null @@ -1,58 +0,0 @@ -command: docker container -short: Manage containers -long: Manage containers -usage: docker container -pname: docker -plink: docker.yaml -cname: -- docker container attach -- docker container commit -- docker container cp -- docker container create -- docker container diff -- docker container exec -- docker container export -- docker container inspect -- docker container kill -- docker container logs -- docker container ls -- docker container pause -- docker container port -- docker container prune -- docker container rename -- docker container restart -- docker container rm -- docker container run -- docker container start -- docker container stats -- docker container stop -- docker container top -- docker container unpause -- docker container update -- docker container wait -clink: -- docker_container_attach.yaml -- docker_container_commit.yaml -- docker_container_cp.yaml -- docker_container_create.yaml -- docker_container_diff.yaml -- docker_container_exec.yaml -- docker_container_export.yaml -- docker_container_inspect.yaml -- docker_container_kill.yaml -- docker_container_logs.yaml -- docker_container_ls.yaml -- docker_container_pause.yaml -- docker_container_port.yaml -- docker_container_prune.yaml -- docker_container_rename.yaml -- docker_container_restart.yaml -- docker_container_rm.yaml -- docker_container_run.yaml -- docker_container_start.yaml -- docker_container_stats.yaml -- docker_container_stop.yaml -- docker_container_top.yaml -- docker_container_unpause.yaml -- docker_container_update.yaml -- docker_container_wait.yaml diff --git a/_data/engine-cli/docker_container_attach.yaml b/_data/engine-cli/docker_container_attach.yaml deleted file mode 100644 index a4aae7f06882..000000000000 --- a/_data/engine-cli/docker_container_attach.yaml +++ /dev/null @@ -1,81 +0,0 @@ -command: docker container attach -short: Attach to a running container -long: | - The **docker attach** command allows you to attach to a running container using - the container's ID or name, either to view its ongoing output or to control it - interactively. You can attach to the same contained process multiple times - simultaneously, screen sharing style, or quickly view the progress of your - detached process. - - To stop a container, use `CTRL-c`. This key sequence sends `SIGKILL` to the - container. You can detach from the container (and leave it running) using a - configurable key sequence. The default sequence is `CTRL-p CTRL-q`. You - configure the key sequence using the **--detach-keys** option or a configuration - file. See **config-json(5)** for documentation on using a configuration file. - - It is forbidden to redirect the standard input of a `docker attach` command while - attaching to a tty-enabled container (i.e.: launched with `-t`). - - # Override the detach sequence - - If you want, you can configure an override the Docker key sequence for detach. - This is useful if the Docker default sequence conflicts with key sequence you - use for other applications. There are two ways to define your own detach key - sequence, as a per-container override or as a configuration property on your - entire configuration. - - To override the sequence for an individual container, use the - `--detach-keys=""` flag with the `docker attach` command. The format of - the `` is either a letter [a-Z], or the `ctrl-` combined with any of - the following: - - * `a-z` (a single lowercase alpha character ) - * `@` (at sign) - * `[` (left bracket) - * `\\` (two backward slashes) - * `_` (underscore) - * `^` (caret) - - These `a`, `ctrl-a`, `X`, or `ctrl-\\` values are all examples of valid key - sequences. To configure a different configuration default key sequence for all - containers, see **docker(1)**. - - # EXAMPLES - - ## Attaching to a container - - In this example the top command is run inside a container, from an image called - fedora, in detached mode. The ID from the container is passed into the **docker - attach** command: - - # ID=$(sudo docker run -d fedora /usr/bin/top -b) - # sudo docker attach $ID - top - 02:05:52 up 3:05, 0 users, load average: 0.01, 0.02, 0.05 - Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie - Cpu(s): 0.1%!u(MISSING)s, 0.2%!s(MISSING)y, 0.0%!n(MISSING)i, 99.7%!i(MISSING)d, 0.0%!w(MISSING)a, 0.0%!h(MISSING)i, 0.0%!s(MISSING)i, 0.0%!s(MISSING)t - Mem: 373572k total, 355560k used, 18012k free, 27872k buffers - Swap: 786428k total, 0k used, 786428k free, 221740k cached - - PID USER PR NI VIRT RES SHR S %!C(MISSING)PU %!M(MISSING)EM TIME+ COMMAND - 1 root 20 0 17200 1116 912 R 0 0.3 0:00.03 top - - top - 02:05:55 up 3:05, 0 users, load average: 0.01, 0.02, 0.05 - Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie - Cpu(s): 0.0%!u(MISSING)s, 0.2%!s(MISSING)y, 0.0%!n(MISSING)i, 99.8%!i(MISSING)d, 0.0%!w(MISSING)a, 0.0%!h(MISSING)i, 0.0%!s(MISSING)i, 0.0%!s(MISSING)t - Mem: 373572k total, 355244k used, 18328k free, 27872k buffers - Swap: 786428k total, 0k used, 786428k free, 221776k cached - - PID USER PR NI VIRT RES SHR S %!C(MISSING)PU %!M(MISSING)EM TIME+ COMMAND - 1 root 20 0 17208 1144 932 R 0 0.3 0:00.03 top -usage: docker container attach [OPTIONS] CONTAINER -pname: docker container -plink: docker_container.yaml -options: -- option: detach-keys - description: Override the key sequence for detaching a container -- option: no-stdin - default_value: "false" - description: Do not attach STDIN -- option: sig-proxy - default_value: "true" - description: Proxy all received signals to the process diff --git a/_data/engine-cli/docker_container_commit.yaml b/_data/engine-cli/docker_container_commit.yaml deleted file mode 100644 index 412db626cd8c..000000000000 --- a/_data/engine-cli/docker_container_commit.yaml +++ /dev/null @@ -1,37 +0,0 @@ -command: docker container commit -short: Create a new image from a container's changes -long: "Create a new image from an existing container specified by name or\ncontainer - ID. The new image will contain the contents of the\ncontainer filesystem, *excluding* - any data volumes. Refer to **docker-tag(1)**\nfor more information about valid image - and tag names.\n\nWhile the `docker commit` command is a convenient way of extending - an\nexisting image, you should prefer the use of a Dockerfile and `docker\nbuild` - for generating images that you intend to share with other\npeople.\n\n# EXAMPLES\n\n## - Creating a new image from an existing container\nAn existing Fedora based container - has had Apache installed while running\nin interactive mode with the bash shell. - Apache is also running. To\ncreate a new image run `docker ps` to find the container's - ID and then run:\n\n # docker commit -m=\"Added Apache to Fedora base image\" - \\\n -a=\"A D Ministrator\" 98bd7fc99854 fedora/fedora_httpd:20\n\nNote that - only a-z0-9-_. are allowed when naming images from an \nexisting container.\n\n## - Apply specified Dockerfile instructions while committing the image\nIf an existing - container was created without the DEBUG environment\nvariable set to \"true\", you - can create a new image based on that\ncontainer by first getting the container's - ID with `docker ps` and\nthen running:\n\n # docker container commit -c=\"ENV - DEBUG true\" 98bd7fc99854 debug-image\n" -usage: docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -pname: docker container -plink: docker_container.yaml -options: -- option: author - shorthand: a - description: Author (e.g., "John Hannibal Smith ") -- option: change - shorthand: c - default_value: '[]' - description: Apply Dockerfile instruction to the created image -- option: message - shorthand: m - description: Commit message -- option: pause - shorthand: p - default_value: "true" - description: Pause container during commit diff --git a/_data/engine-cli/docker_container_cp.yaml b/_data/engine-cli/docker_container_cp.yaml deleted file mode 100644 index 8004ebace45c..000000000000 --- a/_data/engine-cli/docker_container_cp.yaml +++ /dev/null @@ -1,100 +0,0 @@ -command: docker container cp -short: Copy files/folders between a container and the local filesystem -long: "The `docker container cp` utility copies the contents of `SRC_PATH` to the - `DEST_PATH`.\nYou can copy from the container's file system to the local machine - or the\nreverse, from the local filesystem to the container. If `-` is specified - for\neither the `SRC_PATH` or `DEST_PATH`, you can also stream a tar archive from\n`STDIN` - or to `STDOUT`. The `CONTAINER` can be a running or stopped container.\nThe `SRC_PATH` - or `DEST_PATH` can be a file or directory.\n\nThe `docker container cp` command - assumes container paths are relative to the container's \n`/` (root) directory. - This means supplying the initial forward slash is optional; \nThe command sees `compassionate_darwin:/tmp/foo/myfile.txt` - and\n`compassionate_darwin:tmp/foo/myfile.txt` as identical. Local machine paths - can\nbe an absolute or relative value. The command interprets a local machine's\nrelative - paths as relative to the current working directory where `docker container cp` is\nrun.\n\nThe - `cp` command behaves like the Unix `cp -a` command in that directories are\ncopied - recursively with permissions preserved if possible. Ownership is set to\nthe user - and primary group at the destination. For example, files copied to a\ncontainer - are created with `UID:GID` of the root user. Files copied to the local\nmachine - are created with the `UID:GID` of the user which invoked the `docker container cp`\ncommand. - \ If you specify the `-L` option, `docker container cp` follows any symbolic link\nin - the `SRC_PATH`. `docker container cp` does *not* create parent directories for\n`DEST_PATH` - if they do not exist.\n\nAssuming a path separator of `/`, a first argument of `SRC_PATH` - and second\nargument of `DEST_PATH`, the behavior is as follows:\n\n- `SRC_PATH` - specifies a file\n - `DEST_PATH` does not exist\n - the file is saved - to a file created at `DEST_PATH`\n - `DEST_PATH` does not exist and ends with - `/`\n - Error condition: the destination directory must exist.\n - `DEST_PATH` - exists and is a file\n - the destination is overwritten with the source file's - contents\n - `DEST_PATH` exists and is a directory\n - the file is copied - into this directory using the basename from\n `SRC_PATH`\n- `SRC_PATH` - specifies a directory\n - `DEST_PATH` does not exist\n - `DEST_PATH` is - created as a directory and the *contents* of the source\n directory are - copied into this directory\n - `DEST_PATH` exists and is a file\n - Error - condition: cannot copy a directory to a file\n - `DEST_PATH` exists and is a - directory\n - `SRC_PATH` does not end with `/.` (that is: _slash_ followed - by _dot_)\n - the source directory is copied into this directory\n - - `SRC_PATH` does end with `/.` (that is: _slash_ followed by _dot_)\n - - the *content* of the source directory is copied into this\n directory\n\nThe - command requires `SRC_PATH` and `DEST_PATH` to exist according to the above\nrules. - If `SRC_PATH` is local and is a symbolic link, the symbolic link, not\nthe target, - is copied by default. To copy the link target and not the link, \nspecify the `-L` - option.\n\nA colon (`:`) is used as a delimiter between `CONTAINER` and its path. - You can\nalso use `:` when specifying paths to a `SRC_PATH` or `DEST_PATH` on a - local\nmachine, for example `file:name.txt`. If you use a `:` in a local machine - path,\nyou must be explicit with a relative or absolute path, for example:\n\n `/path/to/file:name.txt` - or `./file:name.txt`\n\nIt is not possible to copy certain system files such as - resources under\n`/proc`, `/sys`, `/dev`, tmpfs, and mounts created by the user - in the container.\nHowever, you can still copy such files by manually running `tar` - in `docker exec`.\nFor example (consider `SRC_PATH` and `DEST_PATH` are directories):\n\n - \ $ docker exec foo tar Ccf $(dirname SRC_PATH) - $(basename SRC_PATH) | tar Cxf - DEST_PATH -\n\nor\n\n $ tar Ccf $(dirname SRC_PATH) - $(basename SRC_PATH) | - docker exec -i foo tar Cxf DEST_PATH -\n\n\nUsing `-` as the `SRC_PATH` streams - the contents of `STDIN` as a tar archive.\nThe command extracts the content of the - tar to the `DEST_PATH` in container's\nfilesystem. In this case, `DEST_PATH` must - specify a directory. Using `-` as\nthe `DEST_PATH` streams the contents of the resource - as a tar archive to `STDOUT`.\n\n# EXAMPLES\n\nSuppose a container has finished - producing some output as a file it saves\nto somewhere in its filesystem. This could - be the output of a build job or\nsome other computation. You can copy these outputs - from the container to a\nlocation on your local host.\n\nIf you want to copy the - `/tmp/foo` directory from a container to the\nexisting `/tmp` directory on your - host. If you run `docker container cp` in your `~`\n(home) directory on the local - host:\n\n $ docker container cp compassionate_darwin:tmp/foo /tmp\n\nDocker creates - a `/tmp/foo` directory on your host. Alternatively, you can omit\nthe leading slash - in the command. If you execute this command from your home\ndirectory:\n\n $ - docker container cp compassionate_darwin:tmp/foo tmp\n\nIf `~/tmp` does not exist, - Docker will create it and copy the contents of\n`/tmp/foo` from the container into - this new directory. If `~/tmp` already\nexists as a directory, then Docker will - copy the contents of `/tmp/foo` from\nthe container into a directory at `~/tmp/foo`.\n\nWhen - copying a single file to an existing `LOCALPATH`, the `docker container cp` command\nwill - either overwrite the contents of `LOCALPATH` if it is a file or place it\ninto `LOCALPATH` - if it is a directory, overwriting an existing file of the same\nname if one exists. - For example, this command:\n\n $ docker container cp sharp_ptolemy:/tmp/foo/myfile.txt - /test\n\nIf `/test` does not exist on the local machine, it will be created as a - file\nwith the contents of `/tmp/foo/myfile.txt` from the container. If `/test`\nexists - as a file, it will be overwritten. Lastly, if `/test` exists as a\ndirectory, the - file will be copied to `/test/myfile.txt`.\n\nNext, suppose you want to copy a file - or folder into a container. For example,\nthis could be a configuration file or - some other input to a long running\ncomputation that you would like to place into - a created container before it\nstarts. This is useful because it does not require - the configuration file or\nother input to exist in the container image.\n\nIf you - have a file, `config.yml`, in the current directory on your local host\nand wish - to copy it to an existing directory at `/etc/my-app.d` in a container,\nthis command - can be used:\n\n $ docker container cp config.yml myappcontainer:/etc/my-app.d\n\nIf - you have several files in a local directory `/config` which you need to copy\nto - a directory `/etc/my-app.d` in a container:\n\n $ docker container cp /config/. - myappcontainer:/etc/my-app.d\n\nThe above command will copy the contents of the - local `/config` directory into\nthe directory `/etc/my-app.d` in the container.\n\nFinally, - if you want to copy a symbolic link into a container, you typically\nwant to copy - the linked target and not the link itself. To copy the target, use\nthe `-L` option, - for example:\n\n $ ln -s /tmp/somefile /tmp/somefile.ln\n $ docker container - cp -L /tmp/somefile.ln myappcontainer:/tmp/\n\nThis command copies content of the - local `/tmp/somefile` into the file\n`/tmp/somefile.ln` in the container. Without - `-L` option, the `/tmp/somefile.ln`\npreserves its symbolic link but not its content.\n" -usage: "docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-\n\tdocker cp - [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH" -pname: docker container -plink: docker_container.yaml -options: -- option: follow-link - shorthand: L - default_value: "false" - description: Always follow symbol link in SRC_PATH diff --git a/_data/engine-cli/docker_container_create.yaml b/_data/engine-cli/docker_container_create.yaml deleted file mode 100644 index 31163b96ed26..000000000000 --- a/_data/engine-cli/docker_container_create.yaml +++ /dev/null @@ -1,345 +0,0 @@ -command: docker container create -short: Create a new container -long: "Creates a writeable container layer over the specified image and prepares it - for\nrunning the specified command. The container ID is then printed to STDOUT. - This\nis similar to **docker run -d** except the container is never started. You - can \nthen use the **docker start ** command to start the container - at\nany point.\n\nThe initial status of the container created with **docker create** - is 'created'.\n\n# OPTIONS \n\nThe `CONTAINER-DIR` must be an absolute path such - as `/src/docs`. The `HOST-DIR`\ncan be an absolute path or a `name` value. A `name` - value must start with an\nalphanumeric character, followed by `a-z0-9`, `_` (underscore), - `.` (period) or\n`-` (hyphen). An absolute path starts with a `/` (forward slash).\n\nIf - you supply a `HOST-DIR` that is an absolute path, Docker bind-mounts to the\npath - you specify. If you supply a `name`, Docker creates a named volume by that\n`name`. - For example, you can specify either `/foo` or `foo` for a `HOST-DIR`\nvalue. If - you supply the `/foo` value, Docker creates a bind-mount. If you\nsupply the `foo` - specification, Docker creates a named volume.\n\nYou can specify multiple **-v** - options to mount one or more mounts to a\ncontainer. To use these same mounts in - other containers, specify the\n**--volumes-from** option also.\n\nYou can add `:ro` - or `:rw` suffix to a volume to mount it read-only or\nread-write mode, respectively. - By default, the volumes are mounted read-write.\nSee examples.\n\nLabeling systems - like SELinux require that proper labels are placed on volume\ncontent mounted into - a container. Without a label, the security system might\nprevent the processes running - inside the container from using the content. By\ndefault, Docker does not change - the labels set by the OS.\n\nTo change a label in the container context, you can - add either of two suffixes\n`:z` or `:Z` to the volume mount. These suffixes tell - Docker to relabel file\nobjects on the shared volumes. The `z` option tells Docker - that two containers\nshare the volume content. As a result, Docker labels the content - with a shared\ncontent label. Shared volume labels allow all containers to read/write - content.\nThe `Z` option tells Docker to label the content with a private unshared - label.\nOnly the current container can use a private volume.\n\nBy default bind - mounted volumes are `private`. That means any mounts done\ninside container will - not be visible on host and vice-a-versa. One can change\nthis behavior by specifying - a volume mount propagation property. Making a\nvolume `shared` mounts done under - that volume inside container will be\nvisible on host and vice-a-versa. Making a - volume `slave` enables only one\nway mount propagation and that is mounts done on - host under that volume\nwill be visible inside container but not the other way around.\n\nTo - control mount propagation property of volume one can use `:[r]shared`,\n`:[r]slave` - or `:[r]private` propagation flag. Propagation property can\nbe specified only for - bind mounted volumes and not for internal volumes or\nnamed volumes. For mount propagation - to work source mount point (mount point\nwhere source dir is mounted on) has to - have right propagation properties. For\nshared volumes, source mount point has to - be shared. And for slave volumes,\nsource mount has to be either shared or slave.\n\nUse - `df ` to figure out the source mount and then use\n`findmnt -o TARGET,PROPAGATION - ` to figure out propagation\nproperties of source mount. If `findmnt` - utility is not available, then one\ncan look at mount entry for source mount point - in `/proc/self/mountinfo`. Look\nat `optional fields` and see if any propagaion - properties are specified.\n`shared:X` means mount is `shared`, `master:X` means - mount is `slave` and if\nnothing is there that means mount is `private`.\n\nTo change - propagation properties of a mount point use `mount` command. For\nexample, if one - wants to bind mount source directory `/foo` one can do\n`mount --bind /foo /foo` - and `mount --make-private --make-shared /foo`. This\nwill convert /foo into a `shared` - mount point. Alternatively one can directly\nchange propagation properties of source - mount. Say `/` is source mount for\n`/foo`, then use `mount --make-shared /` to - convert `/` into a `shared` mount.\n\n> **Note**:\n> When using systemd to manage - the Docker daemon's start and stop, in the systemd\n> unit file there is an option - to control mount propagation for the Docker daemon\n> itself, called `MountFlags`. - The value of this setting may cause Docker to not\n> see mount propagation changes - made on the mount point. For example, if this value\n> is `slave`, you may not be - able to use the `shared` or `rshared` propagation on\n> a volume.\n\n\nTo disable - automatic copying of data from the container path to the volume, use\nthe `nocopy` - flag. The `nocopy` flag can be set on bind mounts and named volumes.\n\n# EXAMPLES\n\n## - Specify isolation technology for container (--isolation)\n\nThis option is useful - in situations where you are running Docker containers on\nWindows. The `--isolation=` - option sets a container's isolation\ntechnology. On Linux, the only supported is - the `default` option which uses\nLinux namespaces. On Microsoft Windows, you can - specify these values:\n\n* `default`: Use the value specified by the Docker daemon's - `--exec-opt` . If the `daemon` does not specify an isolation technology, Microsoft - Windows uses `process` as its default value.\n* `process`: Namespace isolation only.\n* - `hyperv`: Hyper-V hypervisor partition-based isolation.\n\nSpecifying the `--isolation` - flag without a value is the same as setting `--isolation=\"default\"`.\n" -usage: docker container create [OPTIONS] IMAGE [COMMAND] [ARG...] -pname: docker container -plink: docker_container.yaml -options: -- option: add-host - default_value: '[]' - description: Add a custom host-to-IP mapping (host:ip) -- option: attach - shorthand: a - default_value: '[]' - description: Attach to STDIN, STDOUT or STDERR -- option: blkio-weight - default_value: "0" - description: | - Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) -- option: blkio-weight-device - default_value: '[]' - description: Block IO weight (relative device weight) -- option: cap-add - default_value: '[]' - description: Add Linux capabilities -- option: cap-drop - default_value: '[]' - description: Drop Linux capabilities -- option: cgroup-parent - description: Optional parent cgroup for the container -- option: cidfile - description: Write the container ID to the file -- option: cpu-count - default_value: "0" - description: CPU count (Windows only) -- option: cpu-percent - default_value: "0" - description: CPU percent (Windows only) -- option: cpu-period - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) quota -- option: cpu-rt-period - default_value: "0" - description: Limit CPU real-time period in microseconds -- option: cpu-rt-runtime - default_value: "0" - description: Limit CPU real-time runtime in microseconds -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpus - default_value: "0.000" - description: Number of CPUs -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: credentialspec - description: Credential spec for managed service account (Windows only) -- option: device - default_value: '[]' - description: Add a host device to the container -- option: device-read-bps - default_value: '[]' - description: Limit read rate (bytes per second) from a device -- option: device-read-iops - default_value: '[]' - description: Limit read rate (IO per second) from a device -- option: device-write-bps - default_value: '[]' - description: Limit write rate (bytes per second) to a device -- option: device-write-iops - default_value: '[]' - description: Limit write rate (IO per second) to a device -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: dns - default_value: '[]' - description: Set custom DNS servers -- option: dns-opt - default_value: '[]' - description: Set DNS options -- option: dns-option - default_value: '[]' - description: Set DNS options -- option: dns-search - default_value: '[]' - description: Set custom DNS search domains -- option: entrypoint - description: Overwrite the default ENTRYPOINT of the image -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: env-file - default_value: '[]' - description: Read in a file of environment variables -- option: expose - default_value: '[]' - description: Expose a port or a range of ports -- option: group-add - default_value: '[]' - description: Add additional groups to join -- option: health-cmd - description: Command to run to check health -- option: health-interval - default_value: "0" - description: Time between running the check (ns|us|ms|s|m|h) (default 0s) -- option: health-retries - default_value: "0" - description: Consecutive failures needed to report unhealthy -- option: health-timeout - default_value: "0" - description: | - Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s) -- option: help - default_value: "false" - description: Print usage -- option: hostname - shorthand: h - description: Container host name -- option: init - default_value: "false" - description: | - Run an init inside the container that forwards signals and reaps processes -- option: init-path - description: Path to the docker-init binary -- option: interactive - shorthand: i - default_value: "false" - description: Keep STDIN open even if not attached -- option: io-maxbandwidth - description: | - Maximum IO bandwidth limit for the system drive (Windows only) -- option: io-maxiops - default_value: "0" - description: Maximum IOps limit for the system drive (Windows only) -- option: ip - description: IPv4 address (e.g., 172.30.100.104) -- option: ip6 - description: IPv6 address (e.g., 2001:db8::33) -- option: ipc - description: IPC namespace to use -- option: isolation - description: Container isolation technology -- option: kernel-memory - description: Kernel memory limit -- option: label - shorthand: l - default_value: '[]' - description: Set meta data on a container -- option: label-file - default_value: '[]' - description: Read in a line delimited file of labels -- option: link - default_value: '[]' - description: Add link to another container -- option: link-local-ip - default_value: '[]' - description: Container IPv4/IPv6 link-local addresses -- option: log-driver - description: Logging driver for the container -- option: log-opt - default_value: '[]' - description: Log driver options -- option: mac-address - description: Container MAC address (e.g., 92:d0:c6:0a:29:33) -- option: memory - shorthand: m - description: Memory limit -- option: memory-reservation - description: Memory soft limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: memory-swappiness - default_value: "-1" - description: Tune container memory swappiness (0 to 100) -- option: name - description: Assign a name to the container -- option: net - default_value: default - description: Connect a container to a network -- option: net-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: network - default_value: default - description: Connect a container to a network -- option: network-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: no-healthcheck - default_value: "false" - description: Disable any container-specified HEALTHCHECK -- option: oom-kill-disable - default_value: "false" - description: Disable OOM Killer -- option: oom-score-adj - default_value: "0" - description: Tune host's OOM preferences (-1000 to 1000) -- option: pid - description: PID namespace to use -- option: pids-limit - default_value: "0" - description: Tune container pids limit (set -1 for unlimited) -- option: privileged - default_value: "false" - description: Give extended privileges to this container -- option: publish - shorthand: p - default_value: '[]' - description: Publish a container's port(s) to the host -- option: publish-all - shorthand: P - default_value: "false" - description: Publish all exposed ports to random ports -- option: read-only - default_value: "false" - description: Mount the container's root filesystem as read only -- option: restart - default_value: "no" - description: Restart policy to apply when a container exits -- option: rm - default_value: "false" - description: Automatically remove the container when it exits -- option: runtime - description: Runtime to use for this container -- option: security-opt - default_value: '[]' - description: Security Options -- option: shm-size - description: Size of /dev/shm, default value is 64MB -- option: stop-signal - default_value: SIGTERM - description: Signal to stop a container, SIGTERM by default -- option: stop-timeout - default_value: "0" - description: Timeout (in seconds) to stop a container -- option: storage-opt - default_value: '[]' - description: Storage driver options for the container -- option: sysctl - default_value: map[] - description: Sysctl options -- option: tmpfs - default_value: '[]' - description: Mount a tmpfs directory -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: ulimit - default_value: '[]' - description: Ulimit options -- option: user - shorthand: u - description: 'Username or UID (format: [:])' -- option: userns - description: User namespace to use -- option: uts - description: UTS namespace to use -- option: volume - shorthand: v - default_value: '[]' - description: Bind mount a volume -- option: volume-driver - description: Optional volume driver for the container -- option: volumes-from - default_value: '[]' - description: Mount volumes from the specified container(s) -- option: workdir - shorthand: w - description: Working directory inside the container diff --git a/_data/engine-cli/docker_container_diff.yaml b/_data/engine-cli/docker_container_diff.yaml deleted file mode 100644 index c344f75d496c..000000000000 --- a/_data/engine-cli/docker_container_diff.yaml +++ /dev/null @@ -1,45 +0,0 @@ -command: docker container diff -short: Inspect changes to files or directories on a container's filesystem -long: | - List the changed files and directories in a container᾿s filesystem since the - container was created. Three different types of change are tracked: - - | Symbol | Description | - |--------|---------------------------------| - | `A` | A file or directory was added | - | `D` | A file or directory was deleted | - | `C` | A file or directory was changed | - - You can use the full or shortened container ID or the container name set using - **docker run --name** option. - - # EXAMPLES - - Inspect the changes to an `nginx` container: - - ```bash - $ docker diff 1fdfd1f54c1b - - C /dev - C /dev/console - C /dev/core - C /dev/stdout - C /dev/fd - C /dev/ptmx - C /dev/stderr - C /dev/stdin - C /run - A /run/nginx.pid - C /var/lib/nginx/tmp - A /var/lib/nginx/tmp/client_body - A /var/lib/nginx/tmp/fastcgi - A /var/lib/nginx/tmp/proxy - A /var/lib/nginx/tmp/scgi - A /var/lib/nginx/tmp/uwsgi - C /var/log/nginx - A /var/log/nginx/access.log - A /var/log/nginx/error.log - ``` -usage: docker container diff CONTAINER -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_container_exec.yaml b/_data/engine-cli/docker_container_exec.yaml deleted file mode 100644 index c7fa774a2ba1..000000000000 --- a/_data/engine-cli/docker_container_exec.yaml +++ /dev/null @@ -1,43 +0,0 @@ -command: docker container exec -short: Run a command in a running container -long: "Run a process in a running container.\n\nThe command started using `docker - exec` will only run while the container's primary\nprocess (`PID 1`) is running, - and will not be restarted if the container is restarted.\n\nIf the container is - paused, then the `docker exec` command will wait until the\ncontainer is unpaused, - and then run\n\n# CAPABILITIES\n\n`privileged` gives the process extended\n[Linux - capabilities](http://man7.org/linux/man-pages/man7/capabilities.7.html)\nwhen running - in a container. \n\nWithout this flag, the process run by `docker exec` in a running - container has\nthe same capabilities as the container, which may be limited. Set\n`--privileged` - to give all capabilities to the process.\n\n# USER\n`user` sets the username or - UID used and optionally the groupname or GID for the specified command.\n\n The - followings examples are all valid:\n --user [user | user:group | uid | uid:gid - | user:gid | uid:group ]\n\n Without this argument the command will be run as - root in the container.\n" -usage: docker container exec [OPTIONS] CONTAINER COMMAND [ARG...] -pname: docker container -plink: docker_container.yaml -options: -- option: detach - shorthand: d - default_value: "false" - description: 'Detached mode: run command in the background' -- option: detach-keys - description: Override the key sequence for detaching a container -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: interactive - shorthand: i - default_value: "false" - description: Keep STDIN open even if not attached -- option: privileged - default_value: "false" - description: Give extended privileges to the command -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: user - shorthand: u - description: 'Username or UID (format: [:])' diff --git a/_data/engine-cli/docker_container_export.yaml b/_data/engine-cli/docker_container_export.yaml deleted file mode 100644 index 5de326849450..000000000000 --- a/_data/engine-cli/docker_container_export.yaml +++ /dev/null @@ -1,30 +0,0 @@ -command: docker container export -short: Export a container's filesystem as a tar archive -long: | - Export the contents of a container's filesystem using the full or shortened - container ID or container name. The output is exported to STDOUT and can be - redirected to a tar file. - - Stream to a file instead of STDOUT by using **-o**. - - # EXAMPLES - Export the contents of the container called angry_bell to a tar file - called angry_bell.tar: - - # docker export angry_bell > angry_bell.tar - # docker export --output=angry_bell-latest.tar angry_bell - # ls -sh angry_bell.tar - 321M angry_bell.tar - # ls -sh angry_bell-latest.tar - 321M angry_bell-latest.tar - - # See also - **docker-import(1)** to create an empty filesystem image - and import the contents of the tarball into it, then optionally tag it. -usage: docker container export [OPTIONS] CONTAINER -pname: docker container -plink: docker_container.yaml -options: -- option: output - shorthand: o - description: Write to a file, instead of STDOUT diff --git a/_data/engine-cli/docker_container_inspect.yaml b/_data/engine-cli/docker_container_inspect.yaml deleted file mode 100644 index 6590496cbdaf..000000000000 --- a/_data/engine-cli/docker_container_inspect.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker container inspect -short: Display detailed information on one or more containers -long: Display detailed information on one or more containers -usage: docker container inspect [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template -- option: size - shorthand: s - default_value: "false" - description: Display total file sizes diff --git a/_data/engine-cli/docker_container_kill.yaml b/_data/engine-cli/docker_container_kill.yaml deleted file mode 100644 index 95801192de69..000000000000 --- a/_data/engine-cli/docker_container_kill.yaml +++ /dev/null @@ -1,13 +0,0 @@ -command: docker container kill -short: Kill one or more running containers -long: | - The main process inside each container specified will be sent SIGKILL, - or any signal specified with option --signal. -usage: docker container kill [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: signal - shorthand: s - default_value: KILL - description: Signal to send to the container diff --git a/_data/engine-cli/docker_container_logs.yaml b/_data/engine-cli/docker_container_logs.yaml deleted file mode 100644 index 6b4262cfc334..000000000000 --- a/_data/engine-cli/docker_container_logs.yaml +++ /dev/null @@ -1,52 +0,0 @@ -command: docker container logs -short: Fetch the logs of a container -long: | - The **docker container logs** command batch-retrieves whatever logs are present for - a container at the time of execution. This does not guarantee execution - order when combined with a docker run (i.e., your run may not have generated - any logs at the time you execute docker container logs). - - The **docker container logs --follow** command combines commands **docker container logs** and - **docker attach**. It will first return all logs from the beginning and - then continue streaming new output from the container's stdout and stderr. - - **Warning**: This command works only for the **json-file** or **journald** - logging drivers. - - The `--since` option can be Unix timestamps, date formatted timestamps, or Go - duration strings (e.g. `10m`, `1h30m`) computed relative to the client machine's - time. Supported formats for date formatted time stamps include RFC3339Nano, - RFC3339, `2006-01-02T15:04:05`, `2006-01-02T15:04:05.999999999`, - `2006-01-02Z07:00`, and `2006-01-02`. The local timezone on the client will be - used if you do not provide either a `Z` or a `+-00:00` timezone offset at the - end of the timestamp. When providing Unix timestamps enter - seconds[.nanoseconds], where seconds is the number of seconds that have elapsed - since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (aka Unix - epoch or Unix time), and the optional .nanoseconds field is a fraction of a - second no more than nine digits long. You can combine the `--since` option with - either or both of the `--follow` or `--tail` options. - - The `docker container logs --details` command will add on extra attributes, such as - environment variables and labels, provided to `--log-opt` when creating the - container. -usage: docker container logs [OPTIONS] CONTAINER -pname: docker container -plink: docker_container.yaml -options: -- option: details - default_value: "false" - description: Show extra details provided to logs -- option: follow - shorthand: f - default_value: "false" - description: Follow log output -- option: since - description: | - Show logs since timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) -- option: tail - default_value: all - description: Number of lines to show from the end of the logs -- option: timestamps - shorthand: t - default_value: "false" - description: Show timestamps diff --git a/_data/engine-cli/docker_container_ls.yaml b/_data/engine-cli/docker_container_ls.yaml deleted file mode 100644 index 81a7fe422a48..000000000000 --- a/_data/engine-cli/docker_container_ls.yaml +++ /dev/null @@ -1,132 +0,0 @@ -command: docker container ls -aliases: ps, list -short: List containers -long: | - List the containers in the local repository. By default this shows only - the running containers. - - ## Filters - - Filter output based on these conditions: - - exited= an exit code of - - label= or label== - - status=(created|restarting|running|paused|exited|dead) - - name= a container's name - - id= a container's ID - - is-task=(true|false) - containers that are a task (part of a service managed by swarm) - - before=(|) - - since=(|) - - ancestor=([:tag]||) - containers created from an image or a descendant. - - volume=(|) - - network=(|) - containers connected to the provided network - - health=(starting|healthy|unhealthy|none) - filters containers based on healthcheck status - - ## Format - - Pretty-print containers using a Go template. - Valid placeholders: - .ID - Container ID - .Image - Image ID - .Command - Quoted command - .CreatedAt - Time when the container was created. - .RunningFor - Elapsed time since the container was started. - .Ports - Exposed ports. - .Status - Container status. - .Size - Container disk size. - .Names - Container names. - .Labels - All labels assigned to the container. - .Label - Value of a specific label for this container. For example `{{.Label "com.docker.swarm.cpu"}}` - .Mounts - Names of the volumes mounted in this container. - - # EXAMPLES - # Display all containers, including non-running - - # docker container ls -a - CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES - a87ecb4f327c fedora:20 /bin/sh -c #(nop) MA 20 minutes ago Exit 0 desperate_brattain - 01946d9d34d8 vpavlin/rhel7:latest /bin/sh -c #(nop) MA 33 minutes ago Exit 0 thirsty_bell - c1d3b0166030 acffc0358b9e /bin/sh -c yum -y up 2 weeks ago Exit 1 determined_torvalds - 41d50ecd2f57 fedora:20 /bin/sh -c #(nop) MA 2 weeks ago Exit 0 drunk_pike - - # Display only IDs of all containers, including non-running - - # docker container ls -a -q - a87ecb4f327c - 01946d9d34d8 - c1d3b0166030 - 41d50ecd2f57 - - # Display only IDs of all containers that have the name `determined_torvalds` - - # docker container ls -a -q --filter=name=determined_torvalds - c1d3b0166030 - - # Display containers with their commands - - # docker container ls --format "{{.ID}}: {{.Command}}" - a87ecb4f327c: /bin/sh -c #(nop) MA - 01946d9d34d8: /bin/sh -c #(nop) MA - c1d3b0166030: /bin/sh -c yum -y up - 41d50ecd2f57: /bin/sh -c #(nop) MA - - # Display containers with their labels in a table - - # docker container ls --format "table {{.ID}}\t{{.Labels}}" - CONTAINER ID LABELS - a87ecb4f327c com.docker.swarm.node=ubuntu,com.docker.swarm.storage=ssd - 01946d9d34d8 - c1d3b0166030 com.docker.swarm.node=debian,com.docker.swarm.cpu=6 - 41d50ecd2f57 com.docker.swarm.node=fedora,com.docker.swarm.cpu=3,com.docker.swarm.storage=ssd - - # Display containers with their node label in a table - - # docker container ls --format 'table {{.ID}}\t{{(.Label "com.docker.swarm.node")}}' - CONTAINER ID NODE - a87ecb4f327c ubuntu - 01946d9d34d8 - c1d3b0166030 debian - 41d50ecd2f57 fedora - - # Display containers with `remote-volume` mounted - - $ docker container ls --filter volume=remote-volume --format "table {{.ID}}\t{{.Mounts}}" - CONTAINER ID MOUNTS - 9c3527ed70ce remote-volume - - # Display containers with a volume mounted in `/data` - - $ docker container ls --filter volume=/data --format "table {{.ID}}\t{{.Mounts}}" - CONTAINER ID MOUNTS - 9c3527ed70ce remote-volume -usage: docker container ls [OPTIONS] -pname: docker container -plink: docker_container.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Show all containers (default shows just running) -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: format - description: Pretty-print containers using a Go template -- option: last - shorthand: "n" - default_value: "-1" - description: Show n last created containers (includes all states) -- option: latest - shorthand: l - default_value: "false" - description: Show the latest created container (includes all states) -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only display numeric IDs -- option: size - shorthand: s - default_value: "false" - description: Display total file sizes diff --git a/_data/engine-cli/docker_container_pause.yaml b/_data/engine-cli/docker_container_pause.yaml deleted file mode 100644 index aa7ad6382362..000000000000 --- a/_data/engine-cli/docker_container_pause.yaml +++ /dev/null @@ -1,18 +0,0 @@ -command: docker container pause -short: Pause all processes within one or more containers -long: | - The `docker container pause` command suspends all processes in the specified containers. - On Linux, this uses the cgroups freezer. Traditionally, when suspending a process - the `SIGSTOP` signal is used, which is observable by the process being suspended. - With the cgroups freezer the process is unaware, and unable to capture, - that it is being suspended, and subsequently resumed. On Windows, only Hyper-V - containers can be paused. - - See the [cgroups freezer documentation] - (https://www.kernel.org/doc/Documentation/cgroup-v1/freezer-subsystem.txt) for - further details. - - **docker-container-unpause(1)** to unpause all processes within a container. -usage: docker container pause CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_container_port.yaml b/_data/engine-cli/docker_container_port.yaml deleted file mode 100644 index 9b03d016b363..000000000000 --- a/_data/engine-cli/docker_container_port.yaml +++ /dev/null @@ -1,32 +0,0 @@ -command: docker container port -short: List port mappings or a specific mapping for the container -long: | - List port mappings for the CONTAINER, or lookup the public-facing port that is NAT-ed to the PRIVATE_PORT - - # EXAMPLES - - # docker ps - CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES - b650456536c7 busybox:latest top 54 minutes ago Up 54 minutes 0.0.0.0:1234->9876/tcp, 0.0.0.0:4321->7890/tcp test - - ## Find out all the ports mapped - - # docker container port test - 7890/tcp -> 0.0.0.0:4321 - 9876/tcp -> 0.0.0.0:1234 - - ## Find out a specific mapping - - # docker container port test 7890/tcp - 0.0.0.0:4321 - - # docker container port test 7890 - 0.0.0.0:4321 - - ## An example showing error for non-existent mapping - - # docker container port test 7890/udp - 2014/06/24 11:53:36 Error: No public port '7890/udp' published for test -usage: docker container port CONTAINER [PRIVATE_PORT[/PROTO]] -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_container_prune.yaml b/_data/engine-cli/docker_container_prune.yaml deleted file mode 100644 index 91f6f3501b12..000000000000 --- a/_data/engine-cli/docker_container_prune.yaml +++ /dev/null @@ -1,13 +0,0 @@ -command: docker container prune -short: Remove all stopped containers -long: Remove all stopped containers -usage: docker container prune [OPTIONS] -pname: docker container -plink: docker_container.yaml -options: -- option: filter - description: Provide filter values (e.g. 'until=') -- option: force - shorthand: f - default_value: "false" - description: Do not prompt for confirmation diff --git a/_data/engine-cli/docker_container_rename.yaml b/_data/engine-cli/docker_container_rename.yaml deleted file mode 100644 index 6c19dce04475..000000000000 --- a/_data/engine-cli/docker_container_rename.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker container rename -short: Rename a container -long: | - Rename a container. Container may be running, paused or stopped. -usage: docker container rename CONTAINER NEW_NAME -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_container_restart.yaml b/_data/engine-cli/docker_container_restart.yaml deleted file mode 100644 index 0e0003ec18a2..000000000000 --- a/_data/engine-cli/docker_container_restart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker container restart -short: Restart one or more containers -long: | - Restart each container listed. -usage: docker container restart [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: time - shorthand: t - default_value: "10" - description: Seconds to wait for stop before killing the container diff --git a/_data/engine-cli/docker_container_rm.yaml b/_data/engine-cli/docker_container_rm.yaml deleted file mode 100644 index 45b456632367..000000000000 --- a/_data/engine-cli/docker_container_rm.yaml +++ /dev/null @@ -1,56 +0,0 @@ -command: docker container rm -short: Remove one or more containers -long: | - **docker container rm** will remove one or more containers from the host node. The - container name or ID can be used. This does not remove images. You cannot - remove a running container unless you use the **-f** option. To see all - containers on a host use the **docker container ls -a** command. - - # EXAMPLES - - ## Removing a container using its ID - - To remove a container using its ID, find either from a **docker ps -a** - command, or use the ID returned from the **docker run** command, or retrieve - it from a file used to store it using the **docker run --cidfile**: - - docker container rm abebf7571666 - - ## Removing a container using the container name - - The name of the container can be found using the **docker ps -a** - command. The use that name as follows: - - docker container rm hopeful_morse - - ## Removing a container and all associated volumes - - $ docker container rm -v redis - redis - - This command will remove the container and any volumes associated with it. - Note that if a volume was specified with a name, it will not be removed. - - $ docker create -v awesome:/foo -v /bar --name hello redis - hello - $ docker container rm -v hello - - In this example, the volume for `/foo` will remain in tact, but the volume for - `/bar` will be removed. The same behavior holds for volumes inherited with - `--volumes-from`. -usage: docker container rm [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force the removal of a running container (uses SIGKILL) -- option: link - shorthand: l - default_value: "false" - description: Remove the specified link -- option: volumes - shorthand: v - default_value: "false" - description: Remove the volumes associated with the container diff --git a/_data/engine-cli/docker_container_run.yaml b/_data/engine-cli/docker_container_run.yaml deleted file mode 100644 index 5b7312842162..000000000000 --- a/_data/engine-cli/docker_container_run.yaml +++ /dev/null @@ -1,288 +0,0 @@ -command: docker container run -short: Run a command in a new container -long: | - Alias for `docker run`. -usage: docker container run [OPTIONS] IMAGE [COMMAND] [ARG...] -pname: docker container -plink: docker_container.yaml -options: -- option: add-host - default_value: '[]' - description: Add a custom host-to-IP mapping (host:ip) -- option: attach - shorthand: a - default_value: '[]' - description: Attach to STDIN, STDOUT or STDERR -- option: blkio-weight - default_value: "0" - description: | - Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) -- option: blkio-weight-device - default_value: '[]' - description: Block IO weight (relative device weight) -- option: cap-add - default_value: '[]' - description: Add Linux capabilities -- option: cap-drop - default_value: '[]' - description: Drop Linux capabilities -- option: cgroup-parent - description: Optional parent cgroup for the container -- option: cidfile - description: Write the container ID to the file -- option: cpu-count - default_value: "0" - description: CPU count (Windows only) -- option: cpu-percent - default_value: "0" - description: CPU percent (Windows only) -- option: cpu-period - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) quota -- option: cpu-rt-period - default_value: "0" - description: Limit CPU real-time period in microseconds -- option: cpu-rt-runtime - default_value: "0" - description: Limit CPU real-time runtime in microseconds -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpus - default_value: "0.000" - description: Number of CPUs -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: credentialspec - description: Credential spec for managed service account (Windows only) -- option: detach - shorthand: d - default_value: "false" - description: Run container in background and print container ID -- option: detach-keys - description: Override the key sequence for detaching a container -- option: device - default_value: '[]' - description: Add a host device to the container -- option: device-read-bps - default_value: '[]' - description: Limit read rate (bytes per second) from a device -- option: device-read-iops - default_value: '[]' - description: Limit read rate (IO per second) from a device -- option: device-write-bps - default_value: '[]' - description: Limit write rate (bytes per second) to a device -- option: device-write-iops - default_value: '[]' - description: Limit write rate (IO per second) to a device -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: dns - default_value: '[]' - description: Set custom DNS servers -- option: dns-opt - default_value: '[]' - description: Set DNS options -- option: dns-option - default_value: '[]' - description: Set DNS options -- option: dns-search - default_value: '[]' - description: Set custom DNS search domains -- option: entrypoint - description: Overwrite the default ENTRYPOINT of the image -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: env-file - default_value: '[]' - description: Read in a file of environment variables -- option: expose - default_value: '[]' - description: Expose a port or a range of ports -- option: group-add - default_value: '[]' - description: Add additional groups to join -- option: health-cmd - description: Command to run to check health -- option: health-interval - default_value: "0" - description: Time between running the check (ns|us|ms|s|m|h) (default 0s) -- option: health-retries - default_value: "0" - description: Consecutive failures needed to report unhealthy -- option: health-timeout - default_value: "0" - description: | - Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s) -- option: help - default_value: "false" - description: Print usage -- option: hostname - shorthand: h - description: Container host name -- option: init - default_value: "false" - description: | - Run an init inside the container that forwards signals and reaps processes -- option: init-path - description: Path to the docker-init binary -- option: interactive - shorthand: i - default_value: "false" - description: Keep STDIN open even if not attached -- option: io-maxbandwidth - description: | - Maximum IO bandwidth limit for the system drive (Windows only) -- option: io-maxiops - default_value: "0" - description: Maximum IOps limit for the system drive (Windows only) -- option: ip - description: IPv4 address (e.g., 172.30.100.104) -- option: ip6 - description: IPv6 address (e.g., 2001:db8::33) -- option: ipc - description: IPC namespace to use -- option: isolation - description: Container isolation technology -- option: kernel-memory - description: Kernel memory limit -- option: label - shorthand: l - default_value: '[]' - description: Set meta data on a container -- option: label-file - default_value: '[]' - description: Read in a line delimited file of labels -- option: link - default_value: '[]' - description: Add link to another container -- option: link-local-ip - default_value: '[]' - description: Container IPv4/IPv6 link-local addresses -- option: log-driver - description: Logging driver for the container -- option: log-opt - default_value: '[]' - description: Log driver options -- option: mac-address - description: Container MAC address (e.g., 92:d0:c6:0a:29:33) -- option: memory - shorthand: m - description: Memory limit -- option: memory-reservation - description: Memory soft limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: memory-swappiness - default_value: "-1" - description: Tune container memory swappiness (0 to 100) -- option: name - description: Assign a name to the container -- option: net - default_value: default - description: Connect a container to a network -- option: net-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: network - default_value: default - description: Connect a container to a network -- option: network-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: no-healthcheck - default_value: "false" - description: Disable any container-specified HEALTHCHECK -- option: oom-kill-disable - default_value: "false" - description: Disable OOM Killer -- option: oom-score-adj - default_value: "0" - description: Tune host's OOM preferences (-1000 to 1000) -- option: pid - description: PID namespace to use -- option: pids-limit - default_value: "0" - description: Tune container pids limit (set -1 for unlimited) -- option: privileged - default_value: "false" - description: Give extended privileges to this container -- option: publish - shorthand: p - default_value: '[]' - description: Publish a container's port(s) to the host -- option: publish-all - shorthand: P - default_value: "false" - description: Publish all exposed ports to random ports -- option: read-only - default_value: "false" - description: Mount the container's root filesystem as read only -- option: restart - default_value: "no" - description: Restart policy to apply when a container exits -- option: rm - default_value: "false" - description: Automatically remove the container when it exits -- option: runtime - description: Runtime to use for this container -- option: security-opt - default_value: '[]' - description: Security Options -- option: shm-size - description: Size of /dev/shm, default value is 64MB -- option: sig-proxy - default_value: "true" - description: Proxy received signals to the process -- option: stop-signal - default_value: SIGTERM - description: Signal to stop a container, SIGTERM by default -- option: stop-timeout - default_value: "0" - description: Timeout (in seconds) to stop a container -- option: storage-opt - default_value: '[]' - description: Storage driver options for the container -- option: sysctl - default_value: map[] - description: Sysctl options -- option: tmpfs - default_value: '[]' - description: Mount a tmpfs directory -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: ulimit - default_value: '[]' - description: Ulimit options -- option: user - shorthand: u - description: 'Username or UID (format: [:])' -- option: userns - description: User namespace to use -- option: uts - description: UTS namespace to use -- option: volume - shorthand: v - default_value: '[]' - description: Bind mount a volume -- option: volume-driver - description: Optional volume driver for the container -- option: volumes-from - default_value: '[]' - description: Mount volumes from the specified container(s) -- option: workdir - shorthand: w - description: Working directory inside the container diff --git a/_data/engine-cli/docker_container_start.yaml b/_data/engine-cli/docker_container_start.yaml deleted file mode 100644 index 38a2f3fa7881..000000000000 --- a/_data/engine-cli/docker_container_start.yaml +++ /dev/null @@ -1,22 +0,0 @@ -command: docker container start -short: Start one or more stopped containers -long: | - Start one or more containers. -usage: docker container start [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: attach - shorthand: a - default_value: "false" - description: Attach STDOUT/STDERR and forward signals -- option: checkpoint - description: Restore from this checkpoint -- option: checkpoint-dir - description: Use a custom checkpoint storage directory -- option: detach-keys - description: Override the key sequence for detaching a container -- option: interactive - shorthand: i - default_value: "false" - description: Attach container's STDIN diff --git a/_data/engine-cli/docker_container_stats.yaml b/_data/engine-cli/docker_container_stats.yaml deleted file mode 100644 index 8e2e39677b03..000000000000 --- a/_data/engine-cli/docker_container_stats.yaml +++ /dev/null @@ -1,48 +0,0 @@ -command: docker container stats -short: Display a live stream of container(s) resource usage statistics -long: | - Display a live stream of one or more containers' resource usage statistics - - # Format - - Pretty-print containers statistics using a Go template. - Valid placeholders: - .Container - Container name or ID. - .Name - Container name. - .ID - Container ID. - .CPUPerc - CPU percentage. - .MemUsage - Memory usage. - .NetIO - Network IO. - .BlockIO - Block IO. - .MemPerc - Memory percentage (Not available on Windows). - .PIDs - Number of PIDs (Not available on Windows). - - # EXAMPLES - - Running `docker container stats` on all running containers - - $ docker container stats - CONTAINER CPU %!M(MISSING)EM USAGE / LIMIT MEM %!N(MISSING)ET I/O BLOCK I/O - 1285939c1fd3 0.07%! (MISSING)KiB / 64 MiB 1.21%! (MISSING)B / 648 B 3.568 MB / 512 KB - 9c76f7834ae2 0.07%! (MISSING)MiB / 64 MiB 4.29%! (MISSING)KB / 648 B 12.4 MB / 0 B - d1ea048f04e4 0.03%! (MISSING)MiB / 64 MiB 6.30%! (MISSING)KB / 648 B 27.7 MB / 0 B - - Running `docker container stats` on multiple containers by name and id. - - $ docker container stats fervent_panini 5acfcb1b4fd1 - CONTAINER CPU %!M(MISSING)EM USAGE/LIMIT MEM %!N(MISSING)ET I/O - 5acfcb1b4fd1 0.00%! (MISSING)MiB/1.045 GiB 11.03%! (MISSING)kB/648 B - fervent_panini 0.02%! (MISSING)MiB/1.045 GiB 1.06%! (MISSING)B/648 B -usage: docker container stats [OPTIONS] [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Show all containers (default shows just running) -- option: format - description: Pretty-print images using a Go template -- option: no-stream - default_value: "false" - description: Disable streaming stats and only pull the first result diff --git a/_data/engine-cli/docker_container_stop.yaml b/_data/engine-cli/docker_container_stop.yaml deleted file mode 100644 index 47567e488c66..000000000000 --- a/_data/engine-cli/docker_container_stop.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker container stop -short: Stop one or more running containers -long: | - Stop a container (Send SIGTERM, and then SIGKILL after grace period) -usage: docker container stop [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: time - shorthand: t - default_value: "10" - description: Seconds to wait for stop before killing it diff --git a/_data/engine-cli/docker_container_top.yaml b/_data/engine-cli/docker_container_top.yaml deleted file mode 100644 index c0f746c8c6cd..000000000000 --- a/_data/engine-cli/docker_container_top.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker container top -short: Display the running processes of a container -long: | - Display the running process of the container. ps-OPTION can be any of the options you would pass to a Linux ps command. - - All displayed information is from host's point of view. - - # EXAMPLES - - Run **docker container top** with the ps option of -x: - - $ docker container top 8601afda2b -x - PID TTY STAT TIME COMMAND - 16623 ? Ss 0:00 sleep 99999 -usage: docker container top CONTAINER [ps OPTIONS] -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_container_unpause.yaml b/_data/engine-cli/docker_container_unpause.yaml deleted file mode 100644 index e23c47969979..000000000000 --- a/_data/engine-cli/docker_container_unpause.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker container unpause -short: Unpause all processes within one or more containers -long: | - The `docker container unpause` command un-suspends all processes in a container. - On Linux, it does this using the cgroups freezer. - - See the [cgroups freezer documentation] - (https://www.kernel.org/doc/Documentation/cgroup-v1/freezer-subsystem.txt) for - further details. -usage: docker container unpause CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_container_update.yaml b/_data/engine-cli/docker_container_update.yaml deleted file mode 100644 index 5a5ad255f6cb..000000000000 --- a/_data/engine-cli/docker_container_update.yaml +++ /dev/null @@ -1,87 +0,0 @@ -command: docker container update -short: Update configuration of one or more containers -long: "The **docker container update** command dynamically updates container configuration.\nYou - can use this command to prevent containers from consuming too many \nresources from - their Docker host. With a single command, you can place \nlimits on a single container - or on many. To specify more than one container,\nprovide space-separated list of - container names or IDs.\n\nWith the exception of the **--kernel-memory** option, - you can specify these\noptions on a running or a stopped container. On kernel version - older than\n4.6, You can only update **--kernel-memory** on a stopped container - or on\na running container with kernel memory initialized.\n\n# OPTIONS\n\n## kernel-memory\n\nKernel - memory limit (format: `[]`, where unit = b, k, m or g)\n\nNote that - on kernel version older than 4.6, you can not update kernel memory on\na running - container if the container is started without kernel memory initialized,\nin this - case, it can only be updated after it's stopped. The new setting takes\neffect when - the container is started.\n\n## memory\n\nMemory limit (format: , where unit = b, k, m or g)\n\nNote that the memory should be smaller than - the already set swap memory limit.\nIf you want update a memory limit bigger than - the already set swap memory limit,\nyou should update swap memory limit at the same - time. If you don't set swap memory \nlimit on docker create/run but only memory - limit, the swap memory is double\nthe memory limit.\n\n# EXAMPLES\n\nThe following - sections illustrate ways to use this command.\n\n### Update a container's cpu-shares\n\nTo - limit a container's cpu-shares to 512, first identify the container\nname or ID. - You can use **docker ps** to find these values. You can also\nuse the ID returned - from the **docker run** command. Then, do the following:\n\n```bash\n$ docker container - update --cpu-shares 512 abebf7571666\n```\n\n### Update a container with cpu-shares - and memory\n\nTo update multiple resource configurations for multiple containers:\n\n```bash\n$ - docker container update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse\n```\n\n### - Update a container's kernel memory constraints\n\nYou can update a container's kernel - memory limit using the **--kernel-memory**\noption. On kernel version older than - 4.6, this option can be updated on a\nrunning container only if the container was - started with **--kernel-memory**.\nIf the container was started *without* **--kernel-memory** - you need to stop\nthe container before updating kernel memory.\n\nFor example, if - you started a container with this command:\n\n```bash\n$ docker run -dit --name - test --kernel-memory 50M ubuntu bash\n```\n\nYou can update kernel memory while - the container is running:\n\n```bash\n$ docker container update --kernel-memory - 80M test\n```\n\nIf you started a container *without* kernel memory initialized:\n\n```bash\n$ - docker run -dit --name test2 --memory 300M ubuntu bash\n```\n\nUpdate kernel memory - of running container `test2` will fail. You need to stop\nthe container before updating - the **--kernel-memory** setting. The next time you\nstart it, the container uses - the new value.\n\nKernel version newer than (include) 4.6 does not have this limitation, - you\ncan use `--kernel-memory` the same way as other options.\n\n### Update a container's - restart policy\n\nYou can change a container's restart policy on a running container. - The new\nrestart policy takes effect instantly after you run `docker container update` - on a\ncontainer.\n\nTo update restart policy for one or more containers:\n\n```bash\n$ - docker container update --restart=on-failure:3 abebf7571666 hopeful_morse\n```\n\nNote - that if the container is started with \"--rm\" flag, you cannot update the restart\npolicy - for it. The `AutoRemove` and `RestartPolicy` are mutually exclusive for the\ncontainer.\n" -usage: docker container update [OPTIONS] CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml -options: -- option: blkio-weight - default_value: "0" - description: | - Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) -- option: cpu-period - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) quota -- option: cpu-rt-period - default_value: "0" - description: Limit the CPU real-time period in microseconds -- option: cpu-rt-runtime - default_value: "0" - description: Limit the CPU real-time runtime in microseconds -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: kernel-memory - description: Kernel memory limit -- option: memory - shorthand: m - description: Memory limit -- option: memory-reservation - description: Memory soft limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: restart - description: Restart policy to apply when a container exits diff --git a/_data/engine-cli/docker_container_wait.yaml b/_data/engine-cli/docker_container_wait.yaml deleted file mode 100644 index 1ef5bb52b8c7..000000000000 --- a/_data/engine-cli/docker_container_wait.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker container wait -short: Block until one or more containers stop, then print their exit codes -long: | - Block until a container stops, then print its exit code. - - # EXAMPLES - - $ docker run -d fedora sleep 99 - 079b83f558a2bc52ecad6b2a5de13622d584e6bb1aea058c11b36511e85e7622 - $ docker container wait 079b83f558a2bc - 0 -usage: docker container wait CONTAINER [CONTAINER...] -pname: docker container -plink: docker_container.yaml diff --git a/_data/engine-cli/docker_cp.yaml b/_data/engine-cli/docker_cp.yaml deleted file mode 100644 index efd7ba83d8f9..000000000000 --- a/_data/engine-cli/docker_cp.yaml +++ /dev/null @@ -1,13 +0,0 @@ -command: docker cp -short: Copy files/folders between a container and the local filesystem -long: | - Alias for `docker container cp`. -usage: "docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-\n\tdocker cp [OPTIONS] - SRC_PATH|- CONTAINER:DEST_PATH" -pname: docker -plink: docker.yaml -options: -- option: follow-link - shorthand: L - default_value: "false" - description: Always follow symbol link in SRC_PATH diff --git a/_data/engine-cli/docker_create.yaml b/_data/engine-cli/docker_create.yaml deleted file mode 100644 index 87e9d7b8cf18..000000000000 --- a/_data/engine-cli/docker_create.yaml +++ /dev/null @@ -1,279 +0,0 @@ -command: docker create -short: Create a new container -long: | - Alias for `docker container create`. -usage: docker create [OPTIONS] IMAGE [COMMAND] [ARG...] -pname: docker -plink: docker.yaml -options: -- option: add-host - default_value: '[]' - description: Add a custom host-to-IP mapping (host:ip) -- option: attach - shorthand: a - default_value: '[]' - description: Attach to STDIN, STDOUT or STDERR -- option: blkio-weight - default_value: "0" - description: | - Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) -- option: blkio-weight-device - default_value: '[]' - description: Block IO weight (relative device weight) -- option: cap-add - default_value: '[]' - description: Add Linux capabilities -- option: cap-drop - default_value: '[]' - description: Drop Linux capabilities -- option: cgroup-parent - description: Optional parent cgroup for the container -- option: cidfile - description: Write the container ID to the file -- option: cpu-count - default_value: "0" - description: CPU count (Windows only) -- option: cpu-percent - default_value: "0" - description: CPU percent (Windows only) -- option: cpu-period - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) quota -- option: cpu-rt-period - default_value: "0" - description: Limit CPU real-time period in microseconds -- option: cpu-rt-runtime - default_value: "0" - description: Limit CPU real-time runtime in microseconds -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpus - default_value: "0.000" - description: Number of CPUs -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: credentialspec - description: Credential spec for managed service account (Windows only) -- option: device - default_value: '[]' - description: Add a host device to the container -- option: device-read-bps - default_value: '[]' - description: Limit read rate (bytes per second) from a device -- option: device-read-iops - default_value: '[]' - description: Limit read rate (IO per second) from a device -- option: device-write-bps - default_value: '[]' - description: Limit write rate (bytes per second) to a device -- option: device-write-iops - default_value: '[]' - description: Limit write rate (IO per second) to a device -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: dns - default_value: '[]' - description: Set custom DNS servers -- option: dns-opt - default_value: '[]' - description: Set DNS options -- option: dns-option - default_value: '[]' - description: Set DNS options -- option: dns-search - default_value: '[]' - description: Set custom DNS search domains -- option: entrypoint - description: Overwrite the default ENTRYPOINT of the image -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: env-file - default_value: '[]' - description: Read in a file of environment variables -- option: expose - default_value: '[]' - description: Expose a port or a range of ports -- option: group-add - default_value: '[]' - description: Add additional groups to join -- option: health-cmd - description: Command to run to check health -- option: health-interval - default_value: "0" - description: Time between running the check (ns|us|ms|s|m|h) (default 0s) -- option: health-retries - default_value: "0" - description: Consecutive failures needed to report unhealthy -- option: health-timeout - default_value: "0" - description: | - Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s) -- option: help - default_value: "false" - description: Print usage -- option: hostname - shorthand: h - description: Container host name -- option: init - default_value: "false" - description: | - Run an init inside the container that forwards signals and reaps processes -- option: init-path - description: Path to the docker-init binary -- option: interactive - shorthand: i - default_value: "false" - description: Keep STDIN open even if not attached -- option: io-maxbandwidth - description: | - Maximum IO bandwidth limit for the system drive (Windows only) -- option: io-maxiops - default_value: "0" - description: Maximum IOps limit for the system drive (Windows only) -- option: ip - description: IPv4 address (e.g., 172.30.100.104) -- option: ip6 - description: IPv6 address (e.g., 2001:db8::33) -- option: ipc - description: IPC namespace to use -- option: isolation - description: Container isolation technology -- option: kernel-memory - description: Kernel memory limit -- option: label - shorthand: l - default_value: '[]' - description: Set meta data on a container -- option: label-file - default_value: '[]' - description: Read in a line delimited file of labels -- option: link - default_value: '[]' - description: Add link to another container -- option: link-local-ip - default_value: '[]' - description: Container IPv4/IPv6 link-local addresses -- option: log-driver - description: Logging driver for the container -- option: log-opt - default_value: '[]' - description: Log driver options -- option: mac-address - description: Container MAC address (e.g., 92:d0:c6:0a:29:33) -- option: memory - shorthand: m - description: Memory limit -- option: memory-reservation - description: Memory soft limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: memory-swappiness - default_value: "-1" - description: Tune container memory swappiness (0 to 100) -- option: name - description: Assign a name to the container -- option: net - default_value: default - description: Connect a container to a network -- option: net-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: network - default_value: default - description: Connect a container to a network -- option: network-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: no-healthcheck - default_value: "false" - description: Disable any container-specified HEALTHCHECK -- option: oom-kill-disable - default_value: "false" - description: Disable OOM Killer -- option: oom-score-adj - default_value: "0" - description: Tune host's OOM preferences (-1000 to 1000) -- option: pid - description: PID namespace to use -- option: pids-limit - default_value: "0" - description: Tune container pids limit (set -1 for unlimited) -- option: privileged - default_value: "false" - description: Give extended privileges to this container -- option: publish - shorthand: p - default_value: '[]' - description: Publish a container's port(s) to the host -- option: publish-all - shorthand: P - default_value: "false" - description: Publish all exposed ports to random ports -- option: read-only - default_value: "false" - description: Mount the container's root filesystem as read only -- option: restart - default_value: "no" - description: Restart policy to apply when a container exits -- option: rm - default_value: "false" - description: Automatically remove the container when it exits -- option: runtime - description: Runtime to use for this container -- option: security-opt - default_value: '[]' - description: Security Options -- option: shm-size - description: Size of /dev/shm, default value is 64MB -- option: stop-signal - default_value: SIGTERM - description: Signal to stop a container, SIGTERM by default -- option: stop-timeout - default_value: "0" - description: Timeout (in seconds) to stop a container -- option: storage-opt - default_value: '[]' - description: Storage driver options for the container -- option: sysctl - default_value: map[] - description: Sysctl options -- option: tmpfs - default_value: '[]' - description: Mount a tmpfs directory -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: ulimit - default_value: '[]' - description: Ulimit options -- option: user - shorthand: u - description: 'Username or UID (format: [:])' -- option: userns - description: User namespace to use -- option: uts - description: UTS namespace to use -- option: volume - shorthand: v - default_value: '[]' - description: Bind mount a volume -- option: volume-driver - description: Optional volume driver for the container -- option: volumes-from - default_value: '[]' - description: Mount volumes from the specified container(s) -- option: workdir - shorthand: w - description: Working directory inside the container diff --git a/_data/engine-cli/docker_deploy.yaml b/_data/engine-cli/docker_deploy.yaml deleted file mode 100644 index a7347c7654cc..000000000000 --- a/_data/engine-cli/docker_deploy.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker deploy -short: Deploy a new stack or update an existing stack -long: Deploy a new stack or update an existing stack -usage: docker deploy [OPTIONS] STACK -pname: docker -plink: docker.yaml -options: -- option: bundle-file - description: Path to a Distributed Application Bundle file -- option: compose-file - shorthand: c - description: Path to a Compose file -- option: with-registry-auth - default_value: "false" - description: Send registry authentication details to Swarm agents diff --git a/_data/engine-cli/docker_diff.yaml b/_data/engine-cli/docker_diff.yaml deleted file mode 100644 index cf2f7a5beb2f..000000000000 --- a/_data/engine-cli/docker_diff.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker diff -short: Inspect changes to files or directories on a container's filesystem -long: | - Alias for `docker container diff`. -usage: docker diff CONTAINER -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_events.yaml b/_data/engine-cli/docker_events.yaml deleted file mode 100644 index ec5c3c9b22da..000000000000 --- a/_data/engine-cli/docker_events.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker events -short: Get real time events from the server -long: | - Alias for `docker system events`. -usage: docker events [OPTIONS] -pname: docker -plink: docker.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: format - description: Format the output using the given Go template -- option: since - description: Show all events created since timestamp -- option: until - description: Stream events until this timestamp diff --git a/_data/engine-cli/docker_exec.yaml b/_data/engine-cli/docker_exec.yaml deleted file mode 100644 index 392d22d0fa69..000000000000 --- a/_data/engine-cli/docker_exec.yaml +++ /dev/null @@ -1,32 +0,0 @@ -command: docker exec -short: Run a command in a running container -long: | - Alias for `docker container exec`. -usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] -pname: docker -plink: docker.yaml -options: -- option: detach - shorthand: d - default_value: "false" - description: 'Detached mode: run command in the background' -- option: detach-keys - description: Override the key sequence for detaching a container -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: interactive - shorthand: i - default_value: "false" - description: Keep STDIN open even if not attached -- option: privileged - default_value: "false" - description: Give extended privileges to the command -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: user - shorthand: u - description: 'Username or UID (format: [:])' diff --git a/_data/engine-cli/docker_export.yaml b/_data/engine-cli/docker_export.yaml deleted file mode 100644 index 7d68cb3d5f14..000000000000 --- a/_data/engine-cli/docker_export.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker export -short: Export a container's filesystem as a tar archive -long: | - Alias for `docker container export`. -usage: docker export [OPTIONS] CONTAINER -pname: docker -plink: docker.yaml -options: -- option: output - shorthand: o - description: Write to a file, instead of STDOUT diff --git a/_data/engine-cli/docker_history.yaml b/_data/engine-cli/docker_history.yaml deleted file mode 100644 index dffc7cbfd50c..000000000000 --- a/_data/engine-cli/docker_history.yaml +++ /dev/null @@ -1,19 +0,0 @@ -command: docker history -short: Show the history of an image -long: | - Alias for `docker image history`. -usage: docker history [OPTIONS] IMAGE -pname: docker -plink: docker.yaml -options: -- option: human - shorthand: H - default_value: "true" - description: Print sizes and dates in human readable format -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only show numeric IDs diff --git a/_data/engine-cli/docker_image.yaml b/_data/engine-cli/docker_image.yaml deleted file mode 100644 index 09ecfd7be7fd..000000000000 --- a/_data/engine-cli/docker_image.yaml +++ /dev/null @@ -1,32 +0,0 @@ -command: docker image -short: Manage images -long: Manage images -usage: docker image -pname: docker -plink: docker.yaml -cname: -- docker image build -- docker image history -- docker image import -- docker image inspect -- docker image load -- docker image ls -- docker image prune -- docker image pull -- docker image push -- docker image rm -- docker image save -- docker image tag -clink: -- docker_image_build.yaml -- docker_image_history.yaml -- docker_image_import.yaml -- docker_image_inspect.yaml -- docker_image_load.yaml -- docker_image_ls.yaml -- docker_image_prune.yaml -- docker_image_pull.yaml -- docker_image_push.yaml -- docker_image_rm.yaml -- docker_image_save.yaml -- docker_image_tag.yaml diff --git a/_data/engine-cli/docker_image_build.yaml b/_data/engine-cli/docker_image_build.yaml deleted file mode 100644 index 216631c92dcc..000000000000 --- a/_data/engine-cli/docker_image_build.yaml +++ /dev/null @@ -1,85 +0,0 @@ -command: docker image build -short: Build an image from a Dockerfile -long: | - Alias for `docker build`. -usage: docker image build [OPTIONS] PATH | URL | - -pname: docker image -plink: docker_image.yaml -options: -- option: build-arg - default_value: '[]' - description: Set build-time variables -- option: cache-from - default_value: '[]' - description: Images to consider as cache sources -- option: cgroup-parent - description: Optional parent cgroup for the container -- option: compress - default_value: "false" - description: Compress the build context using gzip -- option: cpu-period - default_value: "0" - description: Limit the CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit the CPU CFS (Completely Fair Scheduler) quota -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: file - shorthand: f - description: Name of the Dockerfile (Default is 'PATH/Dockerfile') -- option: force-rm - default_value: "false" - description: Always remove intermediate containers -- option: isolation - description: Container isolation technology -- option: label - default_value: '[]' - description: Set metadata for an image -- option: memory - shorthand: m - description: Memory limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: network - default_value: default - description: | - Set the networking mode for the RUN instructions during build -- option: no-cache - default_value: "false" - description: Do not use cache when building the image -- option: pull - default_value: "false" - description: Always attempt to pull a newer version of the image -- option: quiet - shorthand: q - default_value: "false" - description: Suppress the build output and print image ID on success -- option: rm - default_value: "true" - description: Remove intermediate containers after a successful build -- option: security-opt - default_value: '[]' - description: Security options -- option: shm-size - description: Size of /dev/shm, default value is 64MB -- option: squash - default_value: "false" - description: Squash newly built layers into a single new layer -- option: tag - shorthand: t - default_value: '[]' - description: Name and optionally a tag in the 'name:tag' format -- option: ulimit - default_value: '[]' - description: Ulimit options diff --git a/_data/engine-cli/docker_image_history.yaml b/_data/engine-cli/docker_image_history.yaml deleted file mode 100644 index b11134208df3..000000000000 --- a/_data/engine-cli/docker_image_history.yaml +++ /dev/null @@ -1,32 +0,0 @@ -command: docker image history -short: Show the history of an image -long: "Show the history of when and how an image was created.\n\n# EXAMPLES\n $ - docker history fedora\n IMAGE CREATED CREATED BY SIZE - \ COMMENT\n 105182bb5e8b 5 days ago /bin/sh -c #(nop) ADD - file:71356d2ad59aa3119d 372.7 MB\n 73bd853d2ea5 13 days ago /bin/sh - -c #(nop) MAINTAINER Lokesh Mandvekar 0 B\n 511136ea3c5a 10 months ago 0 - B Imported from -\n\n## Display comments in the image history\nThe - `docker commit` command has a **-m** flag for adding comments to the image. These - comments will be displayed in the image history.\n\n $ sudo docker history docker:scm\n - \ IMAGE CREATED CREATED BY SIZE - \ COMMENT\n 2ac9d1098bf1 3 months ago /bin/bash 241.4 - MB Added Apache to Fedora base image\n 88b42ffd1f7c 5 months - ago /bin/sh -c #(nop) ADD file:1fd8d7f9f6557cafc7 373.7 MB \n - \ c69cab00d6ef 5 months ago /bin/sh -c #(nop) MAINTAINER Lokesh - Mandvekar 0 B \n 511136ea3c5a 19 months ago 0 - B Imported from -\n" -usage: docker image history [OPTIONS] IMAGE -pname: docker image -plink: docker_image.yaml -options: -- option: human - shorthand: H - default_value: "true" - description: Print sizes and dates in human readable format -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only show numeric IDs diff --git a/_data/engine-cli/docker_image_import.yaml b/_data/engine-cli/docker_image_import.yaml deleted file mode 100644 index d4f79f579890..000000000000 --- a/_data/engine-cli/docker_image_import.yaml +++ /dev/null @@ -1,28 +0,0 @@ -command: docker image import -short: Import the contents from a tarball to create a filesystem image -long: "Create a new filesystem image from the contents of a tarball (`.tar`,\n`.tar.gz`, - `.tgz`, `.bzip`, `.tar.xz`, `.txz`) into it, then optionally tag it.\n\n\n# EXAMPLES\n\n## - Import from a remote location\n\n # docker image import http://example.com/exampleimage.tgz - example/imagerepo\n\n## Import from a local file\n\nImport to docker via pipe and - stdin:\n\n # cat exampleimage.tgz | docker image import - example/imagelocal\n\nImport - with a commit message. \n\n # cat exampleimage.tgz | docker image import --message - \"New image imported from tarball\" - exampleimagelocal:new\n\nImport to a Docker - image from a local file.\n\n # docker image import /path/to/exampleimage.tgz - \n\n\n## Import from a local file and tag\n\nImport to docker via pipe and stdin:\n\n - \ # cat exampleimageV2.tgz | docker image import - example/imagelocal:V-2.0\n\n## - Import from a local directory\n\n # tar -c . | docker image import - exampleimagedir\n\n## - Apply specified Dockerfile instructions while importing the image\nThis example - sets the docker image ENV variable DEBUG to true by default.\n\n # tar -c . | - docker image import -c=\"ENV DEBUG true\" - exampleimagedir\n\n# See also\n**docker-export(1)** - to export the contents of a filesystem as a tar archive to STDOUT.\n" -usage: docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] -pname: docker image -plink: docker_image.yaml -options: -- option: change - shorthand: c - default_value: '[]' - description: Apply Dockerfile instruction to the created image -- option: message - shorthand: m - description: Set commit message for imported image diff --git a/_data/engine-cli/docker_image_inspect.yaml b/_data/engine-cli/docker_image_inspect.yaml deleted file mode 100644 index f8b6ec854f00..000000000000 --- a/_data/engine-cli/docker_image_inspect.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker image inspect -short: Display detailed information on one or more images -long: Display detailed information on one or more images -usage: docker image inspect [OPTIONS] IMAGE [IMAGE...] -pname: docker image -plink: docker_image.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_image_load.yaml b/_data/engine-cli/docker_image_load.yaml deleted file mode 100644 index cd2b4625329c..000000000000 --- a/_data/engine-cli/docker_image_load.yaml +++ /dev/null @@ -1,39 +0,0 @@ -command: docker image load -short: Load an image from a tar archive or STDIN -long: | - Loads a tarred repository from a file or the standard input stream. - Restores both images and tags. Write image names or IDs imported it - standard output stream. - - # EXAMPLES - - $ docker images - REPOSITORY TAG IMAGE ID CREATED SIZE - busybox latest 769b9341d937 7 weeks ago 2.489 MB - $ docker load --input fedora.tar - # […] - Loaded image: fedora:rawhide - # […] - Loaded image: fedora:20 - # […] - $ docker images - REPOSITORY TAG IMAGE ID CREATED SIZE - busybox latest 769b9341d937 7 weeks ago 2.489 MB - fedora rawhide 0d20aec6529d 7 weeks ago 387 MB - fedora 20 58394af37342 7 weeks ago 385.5 MB - fedora heisenbug 58394af37342 7 weeks ago 385.5 MB - fedora latest 58394af37342 7 weeks ago 385.5 MB - - # See also - **docker-image-save(1)** to save one or more images to a tar archive (streamed to STDOUT by default). -usage: docker image load [OPTIONS] -pname: docker image -plink: docker_image.yaml -options: -- option: input - shorthand: i - description: Read from tar archive file, instead of STDIN -- option: quiet - shorthand: q - default_value: "false" - description: Suppress the load output diff --git a/_data/engine-cli/docker_image_ls.yaml b/_data/engine-cli/docker_image_ls.yaml deleted file mode 100644 index 669dc415ec1e..000000000000 --- a/_data/engine-cli/docker_image_ls.yaml +++ /dev/null @@ -1,80 +0,0 @@ -command: docker image ls -aliases: images, list -short: List images -long: "This command lists the images stored in the local Docker repository.\n\nBy - default, intermediate images, used during builds, are not listed. Some of the\noutput, - e.g., image ID, is truncated, for space reasons. However the truncated\nimage ID, - and often the first few characters, are enough to be used in other\nDocker commands - that use the image ID. The output includes repository, tag, image\nID, date created - and the virtual size.\n\nThe title REPOSITORY for the first title may seem confusing. - It is essentially\nthe image name. However, because you can tag a specific image, - and multiple tags\n(image instances) can be associated with a single name, the name - is really a\nrepository for all tagged images of the same name. For example consider - an image\ncalled fedora. It may be tagged with 18, 19, or 20, etc. to manage different\nversions.\n\n## - Filters\n\nFilters the output based on these conditions:\n\n - dangling=(true|false) - - find unused images\n - label= or label==\n - before=([:tag]||)\n - \ - since=([:tag]||)\n\n## Format\n\n Pretty-print - images using a Go template.\n Valid placeholders:\n .ID - Image ID\n .Repository - - Image repository\n .Tag - Image tag\n .Digest - Image digest\n .CreatedSince - - Elapsed time since the image was created\n .CreatedAt - Time when the image - was created\n .Size - Image disk size\n\n# EXAMPLES\n\n## Listing the images\n\nTo - list the images in a local repository (not the registry) run:\n\n docker image - ls\n\nThe list will contain the image repository name, a tag for the image, and - an\nimage ID, when it was created and its virtual size. Columns: REPOSITORY, TAG,\nIMAGE - ID, CREATED, and SIZE.\n\nThe `docker image ls` command takes an optional `[REPOSITORY[:TAG]]` - argument\nthat restricts the list to images that match the argument. If you specify\n`REPOSITORY`but - no `TAG`, the `docker image ls` command lists all images in the\ngiven repository.\n\n - \ docker image ls java\n\nThe `[REPOSITORY[:TAG]]` value must be an \"exact match\". - This means that, for example,\n`docker image ls jav` does not match the image `java`.\n\nIf - both `REPOSITORY` and `TAG` are provided, only images matching that\nrepository - and tag are listed. To find all local images in the \"java\"\nrepository with tag - \"8\" you can use:\n\n docker image ls java:8\n\nTo get a verbose list of images - which contains all the intermediate images\nused in builds use **-a**:\n\n docker - image ls -a\n\nPreviously, the docker image ls command supported the --tree and - --dot arguments,\nwhich displayed different visualizations of the image data. Docker - core removed\nthis functionality in the 1.7 version. If you liked this functionality, - you can\nstill find it in the third-party dockviz tool: https://github.com/justone/dockviz.\n\n## - Listing images in a desired format\n\nWhen using the --format option, the image - command will either output the data \nexactly as the template declares or, when - using the `table` directive, will \ninclude column headers as well. You can use - special characters like `\\t` for\ninserting tab spacing between columns. \n\nThe - following example uses a template without headers and outputs the ID and \nRepository - entries separated by a colon for all images:\n\n docker images --format \"{{.ID}}: - {{.Repository}}\"\n 77af4d6b9913: \n b6fa739cedf5: committ\n 78a85c484bad: - ipbabble\n 30557a29d5ab: docker\n 5ed6274db6ce: \n 746b819f315e: - postgres\n 746b819f315e: postgres\n 746b819f315e: postgres\n 746b819f315e: - postgres\n\nTo list all images with their repository and tag in a table format you - can use:\n\n docker images --format \"table {{.ID}}\\t{{.Repository}}\\t{{.Tag}}\"\n - \ IMAGE ID REPOSITORY TAG\n 77af4d6b9913 - \ \n b6fa739cedf5 committ latest\n - \ 78a85c484bad ipbabble \n 30557a29d5ab docker - \ latest\n 5ed6274db6ce \n - \ 746b819f315e postgres 9\n 746b819f315e postgres - \ 9.3\n 746b819f315e postgres 9.3.5\n - \ 746b819f315e postgres latest\n\nValid template placeholders - are listed above.\n\n## Listing only the shortened image IDs\n\nListing just the - shortened image IDs. This can be useful for some automated\ntools.\n\n docker - image ls -q\n" -usage: docker image ls [OPTIONS] [REPOSITORY[:TAG]] -pname: docker image -plink: docker_image.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Show all images (default hides intermediate images) -- option: digests - default_value: "false" - description: Show digests -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: format - description: Pretty-print images using a Go template -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only show numeric IDs diff --git a/_data/engine-cli/docker_image_prune.yaml b/_data/engine-cli/docker_image_prune.yaml deleted file mode 100644 index a56480ee207d..000000000000 --- a/_data/engine-cli/docker_image_prune.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker image prune -short: Remove unused images -long: Remove unused images -usage: docker image prune [OPTIONS] -pname: docker image -plink: docker_image.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Remove all unused images, not just dangling ones -- option: filter - description: Provide filter values (e.g. 'until=') -- option: force - shorthand: f - default_value: "false" - description: Do not prompt for confirmation diff --git a/_data/engine-cli/docker_image_pull.yaml b/_data/engine-cli/docker_image_pull.yaml deleted file mode 100644 index dc4b81863645..000000000000 --- a/_data/engine-cli/docker_image_pull.yaml +++ /dev/null @@ -1,107 +0,0 @@ -command: docker image pull -short: Pull an image or a repository from a registry -long: "This command pulls down an image or a repository from a registry. If\nthere - is more than one image for a repository (e.g., fedora) then all\nimages for that - repository name can be pulled down including any tags\n(see the option **-a** or - **--all-tags**).\n\nIf you do not specify a `REGISTRY_HOST`, the command uses Docker's - public\nregistry located at `registry-1.docker.io` by default. \n\n# EXAMPLES\n\n### - Pull an image from Docker Hub\n\nTo download a particular image, or set of images - (i.e., a repository), use\n`docker image pull`. If no tag is provided, Docker Engine - uses the `:latest` tag as a\ndefault. This command pulls the `debian:latest` image:\n\n - \ $ docker image pull debian\n\n Using default tag: latest\n latest: Pulling - from library/debian\n fdd5d7827f33: Pull complete\n a3ed95caeb02: Pull complete\n - \ Digest: sha256:e7d38b3517548a1c71e41bffe9c8ae6d6d29546ce46bf62159837aad072c90aa\n - \ Status: Downloaded newer image for debian:latest\n\nDocker images can consist - of multiple layers. In the example above, the image\nconsists of two layers; `fdd5d7827f33` - and `a3ed95caeb02`.\n\nLayers can be reused by images. For example, the `debian:jessie` - image shares\nboth layers with `debian:latest`. Pulling the `debian:jessie` image - therefore\nonly pulls its metadata, but not its layers, because all layers are already\npresent - locally:\n\n $ docker image pull debian:jessie\n\n jessie: Pulling from library/debian\n - \ fdd5d7827f33: Already exists\n a3ed95caeb02: Already exists\n Digest: - sha256:a9c958be96d7d40df920e7041608f2f017af81800ca5ad23e327bc402626b58e\n Status: - Downloaded newer image for debian:jessie\n\nTo see which images are present locally, - use the **docker-images(1)**\ncommand:\n\n $ docker images\n\n REPOSITORY - \ TAG IMAGE ID CREATED SIZE\n debian jessie f50f9524513f - \ 5 days ago 125.1 MB\n debian latest f50f9524513f 5 days ago - \ 125.1 MB\n\nDocker uses a content-addressable image store, and the image ID is - a SHA256\ndigest covering the image's configuration and layers. In the example above,\n`debian:jessie` - and `debian:latest` have the same image ID because they are\nactually the *same* - image tagged with different names. Because they are the\nsame image, their layers - are stored only once and do not consume extra disk\nspace.\n\nFor more information - about images, layers, and the content-addressable store,\nrefer to [understand images, - containers, and storage drivers](https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/)\nin - the online documentation.\n\n\n## Pull an image by digest (immutable identifier)\n\nSo - far, you've pulled images by their name (and \"tag\"). Using names and tags is\na - convenient way to work with images. When using tags, you can `docker image pull` - an\nimage again to make sure you have the most up-to-date version of that image.\nFor - example, `docker image pull ubuntu:14.04` pulls the latest version of the Ubuntu\n14.04 - image.\n\nIn some cases you don't want images to be updated to newer versions, but - prefer\nto use a fixed version of an image. Docker enables you to pull an image - by its\n*digest*. When pulling an image by digest, you specify *exactly* which version\nof - an image to pull. Doing so, allows you to \"pin\" an image to that version,\nand - guarantee that the image you're using is always the same.\n\nTo know the digest - of an image, pull the image first. Let's pull the latest\n`ubuntu:14.04` image from - Docker Hub:\n\n $ docker image pull ubuntu:14.04\n\n 14.04: Pulling from library/ubuntu\n - \ 5a132a7e7af1: Pull complete\n fd2731e4c50c: Pull complete\n 28a2f68d1120: - Pull complete\n a3ed95caeb02: Pull complete\n Digest: sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2\n - \ Status: Downloaded newer image for ubuntu:14.04\n\nDocker prints the digest - of the image after the pull has finished. In the example\nabove, the digest of the - image is:\n\n sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2\n\nDocker - also prints the digest of an image when *pushing* to a registry. This\nmay be useful - if you want to pin to a version of the image you just pushed.\n\nA digest takes - the place of the tag when pulling an image, for example, to \npull the above image - by digest, run the following command:\n\n $ docker image pull ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2\n\n - \ sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2: Pulling - from library/ubuntu\n 5a132a7e7af1: Already exists\n fd2731e4c50c: Already - exists\n 28a2f68d1120: Already exists\n a3ed95caeb02: Already exists\n Digest: - sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2\n Status: - Downloaded newer image for ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2\n\nDigest - can also be used in the `FROM` of a Dockerfile, for example:\n\n FROM ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2\n - \ MAINTAINER some maintainer \n\n> **Note**: Using this - feature \"pins\" an image to a specific version in time.\n> Docker will therefore - not pull updated versions of an image, which may include \n> security updates. If - you want to pull an updated image, you need to change the\n> digest accordingly.\n\n## - Pulling from a different registry\n\nBy default, `docker image pull` pulls images - from Docker Hub. It is also possible to\nmanually specify the path of a registry - to pull from. For example, if you have\nset up a local registry, you can specify - its path to pull from it. A registry\npath is similar to a URL, but does not contain - a protocol specifier (`https://`).\n\nThe following command pulls the `testing/test-image` - image from a local registry\nlistening on port 5000 (`myregistry.local:5000`):\n\n - \ $ docker image pull myregistry.local:5000/testing/test-image\n\nRegistry credentials - are managed by **docker-login(1)**.\n\nDocker uses the `https://` protocol to communicate - with a registry, unless the\nregistry is allowed to be accessed over an insecure - connection. Refer to the\n[insecure registries](https://docs.docker.com/engine/reference/commandline/daemon/#insecure-registries)\nsection - in the online documentation for more information.\n\n\n## Pull a repository with - multiple images\n\nBy default, `docker image pull` pulls a *single* image from the - registry. A repository\ncan contain multiple images. To pull all images from a repository, - provide the\n`-a` (or `--all-tags`) option when using `docker image pull`.\n\nThis - command pulls all images from the `fedora` repository:\n\n $ docker image pull - --all-tags fedora\n\n Pulling repository fedora\n ad57ef8d78d7: Download complete\n - \ 105182bb5e8b: Download complete\n 511136ea3c5a: Download complete\n 73bd853d2ea5: - Download complete\n ....\n\n Status: Downloaded newer image for fedora\n\nAfter - the pull has completed use the `docker images` command to see the\nimages that were - pulled. The example below shows all the `fedora` images\nthat are present locally:\n\n - \ $ docker images fedora\n\n REPOSITORY TAG IMAGE ID CREATED - \ SIZE\n fedora rawhide ad57ef8d78d7 5 days ago 359.3 MB\n - \ fedora 20 105182bb5e8b 5 days ago 372.7 MB\n fedora heisenbug - \ 105182bb5e8b 5 days ago 372.7 MB\n fedora latest 105182bb5e8b - \ 5 days ago 372.7 MB\n\n\n## Canceling a pull\n\nKilling the `docker image - pull` process, for example by pressing `CTRL-c` while it is\nrunning in a terminal, - will terminate the pull operation.\n\n $ docker image pull fedora\n\n Using - default tag: latest\n latest: Pulling from library/fedora\n a3ed95caeb02: - Pulling fs layer\n 236608c7b546: Pulling fs layer\n ^C\n\n> **Note**: Technically, - the Engine terminates a pull operation when the\n> connection between the Docker - Engine daemon and the Docker Engine client\n> initiating the pull is lost. If the - connection with the Engine daemon is\n> lost for other reasons than a manual interaction, - the pull is also aborted.\n" -usage: docker image pull [OPTIONS] NAME[:TAG|@DIGEST] -pname: docker image -plink: docker_image.yaml -options: -- option: all-tags - shorthand: a - default_value: "false" - description: Download all tagged images in the repository -- option: disable-content-trust - default_value: "true" - description: Skip image verification diff --git a/_data/engine-cli/docker_image_push.yaml b/_data/engine-cli/docker_image_push.yaml deleted file mode 100644 index 937c04cdce98..000000000000 --- a/_data/engine-cli/docker_image_push.yaml +++ /dev/null @@ -1,44 +0,0 @@ -command: docker image push -short: Push an image or a repository to a registry -long: | - Use `docker image push` to share your images to the [Docker Hub](https://hub.docker.com) - registry or to a self-hosted one. - - Refer to **docker-image-tag(1)** for more information about valid image and tag names. - - Killing the **docker image push** process, for example by pressing **CTRL-c** while it - is running in a terminal, terminates the push operation. - - Registry credentials are managed by **docker-login(1)**. - - # EXAMPLES - - ## Pushing a new image to a registry - - First save the new image by finding the container ID (using **docker container ls**) - and then committing it to a new image name. Note that only a-z0-9-_. are - allowed when naming images: - - # docker container commit c16378f943fe rhel-httpd - - Now, push the image to the registry using the image ID. In this example the - registry is on host named `registry-host` and listening on port `5000`. To do - this, tag the image with the host name or IP address, and the port of the - registry: - - # docker image tag rhel-httpd registry-host:5000/myadmin/rhel-httpd - # docker image push registry-host:5000/myadmin/rhel-httpd - - Check that this worked by running: - - # docker image ls - - You should see both `rhel-httpd` and `registry-host:5000/myadmin/rhel-httpd` - listed. -usage: docker image push [OPTIONS] NAME[:TAG] -pname: docker image -plink: docker_image.yaml -options: -- option: disable-content-trust - default_value: "true" - description: Skip image signing diff --git a/_data/engine-cli/docker_image_rm.yaml b/_data/engine-cli/docker_image_rm.yaml deleted file mode 100644 index 101dd83f1c44..000000000000 --- a/_data/engine-cli/docker_image_rm.yaml +++ /dev/null @@ -1,26 +0,0 @@ -command: docker image rm -aliases: rmi, remove -short: Remove one or more images -long: | - Removes one or more images from the host node. This does not remove images from - a registry. You cannot remove an image of a running container unless you use the - **-f** option. To see all images on a host use the **docker image ls** command. - - # EXAMPLES - - ## Removing an image - - Here is an example of removing an image: - - docker image rm fedora/httpd -usage: docker image rm [OPTIONS] IMAGE [IMAGE...] -pname: docker image -plink: docker_image.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force removal of the image -- option: no-prune - default_value: "false" - description: Do not delete untagged parents diff --git a/_data/engine-cli/docker_image_save.yaml b/_data/engine-cli/docker_image_save.yaml deleted file mode 100644 index 4855f281a55d..000000000000 --- a/_data/engine-cli/docker_image_save.yaml +++ /dev/null @@ -1,29 +0,0 @@ -command: docker image save -short: Save one or more images to a tar archive (streamed to STDOUT by default) -long: | - Produces a tarred repository to the standard output stream. Contains all - parent layers, and all tags + versions, or specified repo:tag. - - Stream to a file instead of STDOUT by using **-o**. - - # EXAMPLES - - Save all fedora repository images to a fedora-all.tar and save the latest - fedora image to a fedora-latest.tar: - - $ docker image save fedora > fedora-all.tar - $ docker image save --output=fedora-latest.tar fedora:latest - $ ls -sh fedora-all.tar - 721M fedora-all.tar - $ ls -sh fedora-latest.tar - 367M fedora-latest.tar - - # See also - **docker-image-load(1)** to load an image from a tar archive on STDIN. -usage: docker image save [OPTIONS] IMAGE [IMAGE...] -pname: docker image -plink: docker_image.yaml -options: -- option: output - shorthand: o - description: Write to a file, instead of STDOUT diff --git a/_data/engine-cli/docker_image_tag.yaml b/_data/engine-cli/docker_image_tag.yaml deleted file mode 100644 index 0eabd906fe29..000000000000 --- a/_data/engine-cli/docker_image_tag.yaml +++ /dev/null @@ -1,31 +0,0 @@ -command: docker image tag -short: Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE -long: "Assigns a new alias to an image in a registry. An alias refers to the\nentire - image name including the optional `TAG` after the ':'. \n\n# OPTIONS\n**NAME**\n - \ The image name which is made up of slash-separated name components, \n optionally - prefixed by a registry hostname. The hostname must comply with \n standard DNS - rules, but may not contain underscores. If a hostname is \n present, it may optionally - be followed by a port number in the format \n `:8080`. If not present, the command - uses Docker's public registry located at\n `registry-1.docker.io` by default. - Name components may contain lowercase \n letters, digits and separators. A separator - is defined as a period, one or\n two underscores, or one or more dashes. A name - component may not start or end \n with a separator.\n\n**TAG**\n The tag assigned - to the image to version and distinguish images with the same\n name. The tag name - must be valid ASCII and may contain lowercase and\n uppercase letters, digits, - underscores, periods and hyphens. A tag name\n may not start with a period or - a hyphen and may contain a maximum of 128\n characters.\n\n# EXAMPLES\n\n## Tagging - an image referenced by ID\n\nTo tag a local image with ID \"0e5574283393\" into - the \"fedora\" repository with \n\"version1.0\":\n\n docker image tag 0e5574283393 - fedora/httpd:version1.0\n\n## Tagging an image referenced by Name\n\nTo tag a local - image with name \"httpd\" into the \"fedora\" repository with \n\"version1.0\":\n\n - \ docker image tag httpd fedora/httpd:version1.0\n\nNote that since the tag name - is not specified, the alias is created for an\nexisting local version `httpd:latest`.\n\n## - Tagging an image referenced by Name and Tag\n\nTo tag a local image with name \"httpd\" - and tag \"test\" into the \"fedora\"\nrepository with \"version1.0.test\":\n\n docker - image tag httpd:test fedora/httpd:version1.0.test\n\n## Tagging an image for a private - repository\n\nTo push an image to a private registry and not the central Docker\nregistry - you must tag it with the registry hostname and port (if needed).\n\n docker image - tag 0e5574283393 myregistryhost:5000/fedora/httpd:version1.0\n" -usage: docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] -pname: docker image -plink: docker_image.yaml diff --git a/_data/engine-cli/docker_images.yaml b/_data/engine-cli/docker_images.yaml deleted file mode 100644 index cb521f9cd566..000000000000 --- a/_data/engine-cli/docker_images.yaml +++ /dev/null @@ -1,27 +0,0 @@ -command: docker images -short: List images -long: | - Alias for `docker image ls`. -usage: docker images [OPTIONS] [REPOSITORY[:TAG]] -pname: docker -plink: docker.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Show all images (default hides intermediate images) -- option: digests - default_value: "false" - description: Show digests -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: format - description: Pretty-print images using a Go template -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only show numeric IDs diff --git a/_data/engine-cli/docker_import.yaml b/_data/engine-cli/docker_import.yaml deleted file mode 100644 index 544bc7e79076..000000000000 --- a/_data/engine-cli/docker_import.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker import -short: Import the contents from a tarball to create a filesystem image -long: | - Alias for `docker image import`. -usage: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] -pname: docker -plink: docker.yaml -options: -- option: change - shorthand: c - default_value: '[]' - description: Apply Dockerfile instruction to the created image -- option: message - shorthand: m - description: Set commit message for imported image diff --git a/_data/engine-cli/docker_info.yaml b/_data/engine-cli/docker_info.yaml deleted file mode 100644 index 9edfd80a901a..000000000000 --- a/_data/engine-cli/docker_info.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker info -short: Display system-wide information -long: | - Alias for `docker system info`. -usage: docker info [OPTIONS] -pname: docker -plink: docker.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_inspect.yaml b/_data/engine-cli/docker_inspect.yaml deleted file mode 100644 index 9b9f3d968b79..000000000000 --- a/_data/engine-cli/docker_inspect.yaml +++ /dev/null @@ -1,119 +0,0 @@ -command: docker inspect -short: Return low-level information on Docker objects -long: "This displays the low-level information on Docker object(s) (e.g. container, - \nimage, volume,network, node, service, or task) identified by name or ID. By default,\nthis - will render all results in a JSON array. If the container and image have\nthe same - name, this will return container JSON for unspecified type. If a format\nis specified, - the given template will be executed for each result.\n\n# EXAMPLES\n\nGet information - about an image when image name conflicts with the container name,\ne.g. both image - and container are named rhel7:\n\n $ docker inspect --type=image rhel7\n [\n - \ {\n \"Id\": \"fe01a428b9d9de35d29531e9994157978e8c48fa693e1bf1d221dffbbb67b170\",\n - \ \"Parent\": \"10acc31def5d6f249b548e01e8ffbaccfd61af0240c17315a7ad393d022c5ca2\",\n - \ ....\n }\n ]\n\n## Getting information on a container\n\nTo get information - on a container use its ID or instance name:\n\n $ docker inspect d2cc496561d6\n - \ [{\n \"Id\": \"d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47\",\n - \ \"Created\": \"2015-06-08T16:18:02.505155285Z\",\n \"Path\": \"bash\",\n - \ \"Args\": [],\n \"State\": {\n \"Running\": false,\n \"Paused\": - false,\n \"Restarting\": false,\n \"OOMKilled\": false,\n \"Dead\": - false,\n \"Pid\": 0,\n \"ExitCode\": 0,\n \"Error\": \"\",\n - \ \"StartedAt\": \"2015-06-08T16:18:03.643865954Z\",\n \"FinishedAt\": - \"2015-06-08T16:57:06.448552862Z\"\n },\n \"Image\": \"ded7cd95e059788f2586a51c275a4f151653779d6a7f4dad77c2bd34601d94e4\",\n - \ \"NetworkSettings\": {\n \"Bridge\": \"\",\n \"SandboxID\": \"6b4851d1903e16dd6a567bd526553a86664361f31036eaaa2f8454d6f4611f6f\",\n - \ \"HairpinMode\": false,\n \"LinkLocalIPv6Address\": \"\",\n \"LinkLocalIPv6PrefixLen\": - 0,\n \"Ports\": {},\n \"SandboxKey\": \"/var/run/docker/netns/6b4851d1903e\",\n - \ \"SecondaryIPAddresses\": null,\n \"SecondaryIPv6Addresses\": null,\n - \ \"EndpointID\": \"7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d\",\n - \ \"Gateway\": \"172.17.0.1\",\n \"GlobalIPv6Address\": \"\",\n \"GlobalIPv6PrefixLen\": - 0,\n \"IPAddress\": \"172.17.0.2\",\n \"IPPrefixLen\": 16,\n \"IPv6Gateway\": - \"\",\n \"MacAddress\": \"02:42:ac:12:00:02\",\n \"Networks\": {\n - \ \"bridge\": {\n \"NetworkID\": \"7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812\",\n - \ \"EndpointID\": \"7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d\",\n - \ \"Gateway\": \"172.17.0.1\",\n \"IPAddress\": \"172.17.0.2\",\n - \ \"IPPrefixLen\": 16,\n \"IPv6Gateway\": \"\",\n \"GlobalIPv6Address\": - \"\",\n \"GlobalIPv6PrefixLen\": 0,\n \"MacAddress\": - \"02:42:ac:12:00:02\"\n }\n }\n\n },\n \"ResolvConfPath\": - \"/var/lib/docker/containers/d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47/resolv.conf\",\n - \ \"HostnamePath\": \"/var/lib/docker/containers/d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47/hostname\",\n - \ \"HostsPath\": \"/var/lib/docker/containers/d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47/hosts\",\n - \ \"LogPath\": \"/var/lib/docker/containers/d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47/d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47-json.log\",\n - \ \"Name\": \"/adoring_wozniak\",\n \"RestartCount\": 0,\n \"Driver\": \"devicemapper\",\n - \ \"MountLabel\": \"\",\n \"ProcessLabel\": \"\",\n \"Mounts\": [\n {\n - \ \"Source\": \"/data\",\n \"Destination\": \"/data\",\n \"Mode\": - \"ro,Z\",\n \"RW\": false\n\t\"Propagation\": \"\"\n }\n ],\n \"AppArmorProfile\": - \"\",\n \"ExecIDs\": null,\n \"HostConfig\": {\n \"Binds\": null,\n - \ \"ContainerIDFile\": \"\",\n \"Memory\": 0,\n \"MemorySwap\": - 0,\n \"CpuShares\": 0,\n \"CpuPeriod\": 0,\n \"CpusetCpus\": - \"\",\n \"CpusetMems\": \"\",\n \"CpuQuota\": 0,\n \"BlkioWeight\": - 0,\n \"OomKillDisable\": false,\n \"Privileged\": false,\n \"PortBindings\": - {},\n \"Links\": null,\n \"PublishAllPorts\": false,\n \"Dns\": - null,\n \"DnsSearch\": null,\n \"DnsOptions\": null,\n \"ExtraHosts\": - null,\n \"VolumesFrom\": null,\n \"Devices\": [],\n \"NetworkMode\": - \"bridge\",\n \"IpcMode\": \"\",\n \"PidMode\": \"\",\n \"UTSMode\": - \"\",\n \"CapAdd\": null,\n \"CapDrop\": null,\n \"RestartPolicy\": - {\n \"Name\": \"no\",\n \"MaximumRetryCount\": 0\n },\n - \ \"SecurityOpt\": null,\n \"ReadonlyRootfs\": false,\n \"Ulimits\": - null,\n \"LogConfig\": {\n \"Type\": \"json-file\",\n \"Config\": - {}\n },\n \"CgroupParent\": \"\"\n },\n \"GraphDriver\": {\n - \ \"Name\": \"devicemapper\",\n \"Data\": {\n \"DeviceId\": - \"5\",\n \"DeviceName\": \"docker-253:1-2763198-d2cc496561d6d520cbc0236b4ba88c362c446a7619992123f11c809cded25b47\",\n - \ \"DeviceSize\": \"171798691840\"\n }\n },\n \"Config\": - {\n \"Hostname\": \"d2cc496561d6\",\n \"Domainname\": \"\",\n \"User\": - \"\",\n \"AttachStdin\": true,\n \"AttachStdout\": true,\n \"AttachStderr\": - true,\n \"ExposedPorts\": null,\n \"Tty\": true,\n \"OpenStdin\": - true,\n \"StdinOnce\": true,\n \"Env\": null,\n \"Cmd\": [\n - \ \"bash\"\n ],\n \"Image\": \"fedora\",\n \"Volumes\": - null,\n \"VolumeDriver\": \"\",\n \"WorkingDir\": \"\",\n \"Entrypoint\": - null,\n \"NetworkDisabled\": false,\n \"MacAddress\": \"\",\n \"OnBuild\": - null,\n \"Labels\": {},\n \"Memory\": 0,\n \"MemorySwap\": - 0,\n \"CpuShares\": 0,\n \"Cpuset\": \"\",\n \"StopSignal\": - \"SIGTERM\"\n }\n }\n ]\n## Getting the IP address of a container instance\n\nTo - get the IP address of a container use:\n\n $ docker inspect --format='{{range - .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' d2cc496561d6\n 172.17.0.2\n\n## - Listing all port bindings\n\nOne can loop over arrays and maps in the results to - produce simple text\noutput:\n\n $ docker inspect --format='{{range $p, $conf - := .NetworkSettings.Ports}} \\\n {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' - d2cc496561d6\n 80/tcp -> 80\n\nYou can get more information about how to write - a Go template from:\nhttps://golang.org/pkg/text/template/.\n\n## Getting size information - on a container\n\n $ docker inspect -s d2cc496561d6\n [\n {\n ....\n - \ \"SizeRw\": 0,\n \"SizeRootFs\": 972,\n ....\n }\n ]\n\n## Getting - information on an image\n\nUse an image's ID or name (e.g., repository/name[:tag]) - to get information\nabout the image:\n\n $ docker inspect ded7cd95e059\n [{\n - \ \"Id\": \"ded7cd95e059788f2586a51c275a4f151653779d6a7f4dad77c2bd34601d94e4\",\n - \ \"Parent\": \"48ecf305d2cf7046c1f5f8fcbcd4994403173441d4a7f125b1bb0ceead9de731\",\n - \ \"Comment\": \"\",\n \"Created\": \"2015-05-27T16:58:22.937503085Z\",\n \"Container\": - \"76cf7f67d83a7a047454b33007d03e32a8f474ad332c3a03c94537edd22b312b\",\n \"ContainerConfig\": - {\n \"Hostname\": \"76cf7f67d83a\",\n \"Domainname\": \"\",\n \"User\": - \"\",\n \"AttachStdin\": false,\n \"AttachStdout\": false,\n \"AttachStderr\": - false,\n \"ExposedPorts\": null,\n \"Tty\": false,\n \"OpenStdin\": - false,\n \"StdinOnce\": false,\n \"Env\": null,\n \"Cmd\": - [\n \"/bin/sh\",\n \"-c\",\n \"#(nop) ADD file:4be46382bcf2b095fcb9fe8334206b584eff60bb3fad8178cbd97697fcb2ea83 - in /\"\n ],\n \"Image\": \"48ecf305d2cf7046c1f5f8fcbcd4994403173441d4a7f125b1bb0ceead9de731\",\n - \ \"Volumes\": null,\n \"VolumeDriver\": \"\",\n \"WorkingDir\": - \"\",\n \"Entrypoint\": null,\n \"NetworkDisabled\": false,\n \"MacAddress\": - \"\",\n \"OnBuild\": null,\n \"Labels\": {}\n },\n \"DockerVersion\": - \"1.6.0\",\n \"Author\": \"Lokesh Mandvekar \\u003clsm5@fedoraproject.org\\u003e\",\n - \ \"Config\": {\n \"Hostname\": \"76cf7f67d83a\",\n \"Domainname\": - \"\",\n \"User\": \"\",\n \"AttachStdin\": false,\n \"AttachStdout\": - false,\n \"AttachStderr\": false,\n \"ExposedPorts\": null,\n \"Tty\": - false,\n \"OpenStdin\": false,\n \"StdinOnce\": false,\n \"Env\": - null,\n \"Cmd\": null,\n \"Image\": \"48ecf305d2cf7046c1f5f8fcbcd4994403173441d4a7f125b1bb0ceead9de731\",\n - \ \"Volumes\": null,\n \"VolumeDriver\": \"\",\n \"WorkingDir\": - \"\",\n \"Entrypoint\": null,\n \"NetworkDisabled\": false,\n \"MacAddress\": - \"\",\n \"OnBuild\": null,\n \"Labels\": {}\n },\n \"Architecture\": - \"amd64\",\n \"Os\": \"linux\",\n \"Size\": 186507296,\n \"VirtualSize\": - 186507296,\n \"GraphDriver\": {\n \"Name\": \"devicemapper\",\n \"Data\": - {\n \"DeviceId\": \"3\",\n \"DeviceName\": \"docker-253:1-2763198-ded7cd95e059788f2586a51c275a4f151653779d6a7f4dad77c2bd34601d94e4\",\n - \ \"DeviceSize\": \"171798691840\"\n }\n }\n }\n ]\n" -usage: docker inspect [OPTIONS] NAME|ID [NAME|ID...] -pname: docker -plink: docker.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template -- option: size - shorthand: s - default_value: "false" - description: Display total file sizes if the type is container -- option: type - description: Return JSON for specified type diff --git a/_data/engine-cli/docker_kill.yaml b/_data/engine-cli/docker_kill.yaml deleted file mode 100644 index 0c2a6e010593..000000000000 --- a/_data/engine-cli/docker_kill.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker kill -short: Kill one or more running containers -long: | - Alias for `docker container kill`. -usage: docker kill [OPTIONS] CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: signal - shorthand: s - default_value: KILL - description: Signal to send to the container diff --git a/_data/engine-cli/docker_load.yaml b/_data/engine-cli/docker_load.yaml deleted file mode 100644 index a12df8c5a34e..000000000000 --- a/_data/engine-cli/docker_load.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker load -short: Load an image from a tar archive or STDIN -long: | - Alias for `docker image load`. -usage: docker load [OPTIONS] -pname: docker -plink: docker.yaml -options: -- option: input - shorthand: i - description: Read from tar archive file, instead of STDIN -- option: quiet - shorthand: q - default_value: "false" - description: Suppress the load output diff --git a/_data/engine-cli/docker_login.yaml b/_data/engine-cli/docker_login.yaml deleted file mode 100644 index 1f668bcea9e0..000000000000 --- a/_data/engine-cli/docker_login.yaml +++ /dev/null @@ -1,35 +0,0 @@ -command: docker login -short: Log in to a Docker registry -long: | - Log in to a Docker Registry located on the specified - `SERVER`. You can specify a URL or a `hostname` for the `SERVER` value. If you - do not specify a `SERVER`, the command uses Docker's public registry located at - `https://registry-1.docker.io/` by default. To get a username/password for Docker's public registry, create an account on Docker Hub. - - `docker login` requires user to use `sudo` or be `root`, except when: - - 1. connecting to a remote daemon, such as a `docker-machine` provisioned `docker engine`. - 2. user is added to the `docker` group. This will impact the security of your system; the `docker` group is `root` equivalent. See [Docker Daemon Attack Surface](https://docs.docker.com/engine/security/security/#/docker-daemon-attack-surface) for details. - - You can log into any public or private repository for which you have - credentials. When you log in, the command stores encoded credentials in - `$HOME/.docker/config.json` on Linux or `%!U(MISSING)SERPROFILE%!/(MISSING).docker/config.json` on Windows. - - # EXAMPLES - - ## Login to a registry on your localhost - - # docker login localhost:8080 - - # See also - **docker-logout(1)** to log out from a Docker registry. -usage: docker login [OPTIONS] [SERVER] -pname: docker -plink: docker.yaml -options: -- option: password - shorthand: p - description: Password -- option: username - shorthand: u - description: Username diff --git a/_data/engine-cli/docker_logout.yaml b/_data/engine-cli/docker_logout.yaml deleted file mode 100644 index e4d6f45d07e8..000000000000 --- a/_data/engine-cli/docker_logout.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker logout -short: Log out from a Docker registry -long: "Log out of a Docker Registry located on the specified `SERVER`. You can\nspecify - a URL or a `hostname` for the `SERVER` value. If you do not specify a\n`SERVER`, - the command attempts to log you out of Docker's public registry\nlocated at `https://registry-1.docker.io/` - by default. \n\n# EXAMPLES\n\n## Log out from a registry on your localhost\n\n - \ # docker logout localhost:8080\n\n# See also\n**docker-login(1)** to log in - to a Docker registry server.\n" -usage: docker logout [SERVER] -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_logs.yaml b/_data/engine-cli/docker_logs.yaml deleted file mode 100644 index ddd75192d4f7..000000000000 --- a/_data/engine-cli/docker_logs.yaml +++ /dev/null @@ -1,25 +0,0 @@ -command: docker logs -short: Fetch the logs of a container -long: | - Alias for `docker container logs`. -usage: docker logs [OPTIONS] CONTAINER -pname: docker -plink: docker.yaml -options: -- option: details - default_value: "false" - description: Show extra details provided to logs -- option: follow - shorthand: f - default_value: "false" - description: Follow log output -- option: since - description: | - Show logs since timestamp (e.g. 2013-01-02T13:23:37) or relative (e.g. 42m for 42 minutes) -- option: tail - default_value: all - description: Number of lines to show from the end of the logs -- option: timestamps - shorthand: t - default_value: "false" - description: Show timestamps diff --git a/_data/engine-cli/docker_network.yaml b/_data/engine-cli/docker_network.yaml deleted file mode 100644 index 60b18974deaa..000000000000 --- a/_data/engine-cli/docker_network.yaml +++ /dev/null @@ -1,22 +0,0 @@ -command: docker network -short: Manage networks -long: Manage networks -usage: docker network -pname: docker -plink: docker.yaml -cname: -- docker network connect -- docker network create -- docker network disconnect -- docker network inspect -- docker network ls -- docker network prune -- docker network rm -clink: -- docker_network_connect.yaml -- docker_network_create.yaml -- docker_network_disconnect.yaml -- docker_network_inspect.yaml -- docker_network_ls.yaml -- docker_network_prune.yaml -- docker_network_rm.yaml diff --git a/_data/engine-cli/docker_network_connect.yaml b/_data/engine-cli/docker_network_connect.yaml deleted file mode 100644 index 242d2272e439..000000000000 --- a/_data/engine-cli/docker_network_connect.yaml +++ /dev/null @@ -1,59 +0,0 @@ -command: docker network connect -short: Connect a container to a network -long: | - Connects a container to a network. You can connect a container by name - or by ID. Once connected, the container can communicate with other containers in - the same network. - - ```bash - $ docker network connect multi-host-network container1 - ``` - - You can also use the `docker run --network=` option to start a container and immediately connect it to a network. - - ```bash - $ docker run -itd --network=multi-host-network --ip 172.20.88.22 --ip6 2001:db8::8822 busybox - ``` - You can pause, restart, and stop containers that are connected to a network. - A container connects to its configured networks when it runs. - - If specified, the container's IP address(es) is reapplied when a stopped - container is restarted. If the IP address is no longer available, the container - fails to start. One way to guarantee that the IP address is available is - to specify an `--ip-range` when creating the network, and choose the static IP - address(es) from outside that range. This ensures that the IP address is not - given to another container while this container is not on the network. - - ```bash - $ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network - ``` - - ```bash - $ docker network connect --ip 172.20.128.2 multi-host-network container2 - ``` - - To verify the container is connected, use the `docker network inspect` command. Use `docker network disconnect` to remove a container from the network. - - Once connected in network, containers can communicate using only another - container's IP address or name. For `overlay` networks or custom plugins that - support multi-host connectivity, containers connected to the same multi-host - network but launched from different Engines can also communicate in this way. - - You can connect a container to one or more networks. The networks need not be the same type. For example, you can connect a single container bridge and overlay networks. -usage: docker network connect [OPTIONS] NETWORK CONTAINER -pname: docker network -plink: docker_network.yaml -options: -- option: alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: ip - description: IPv4 address (e.g., 172.30.100.104) -- option: ip6 - description: IPv6 address (e.g., 2001:db8::33) -- option: link - default_value: '[]' - description: Add link to another container -- option: link-local-ip - default_value: '[]' - description: Add a link-local address for the container diff --git a/_data/engine-cli/docker_network_create.yaml b/_data/engine-cli/docker_network_create.yaml deleted file mode 100644 index 223c76d6bfb9..000000000000 --- a/_data/engine-cli/docker_network_create.yaml +++ /dev/null @@ -1,102 +0,0 @@ -command: docker network create -short: Create a network -long: "Creates a new network. The `DRIVER` accepts `bridge` or `overlay` which are - the\nbuilt-in network drivers. If you have installed a third party or your own custom\nnetwork - driver you can specify that `DRIVER` here also. If you don't specify the\n`--driver` - option, the command automatically creates a `bridge` network for you.\nWhen you - install Docker Engine it creates a `bridge` network automatically. This\nnetwork - corresponds to the `docker0` bridge that Engine has traditionally relied\non. When - launch a new container with `docker run` it automatically connects to\nthis bridge - network. You cannot remove this default bridge network but you can\ncreate new ones - using the `network create` command.\n\n```bash\n$ docker network create -d bridge - my-bridge-network\n```\n\nBridge networks are isolated networks on a single Engine - installation. If you\nwant to create a network that spans multiple Docker hosts - each running an\nEngine, you must create an `overlay` network. Unlike `bridge` networks - overlay\nnetworks require some pre-existing conditions before you can create one. - These\nconditions are:\n\n* Access to a key-value store. Engine supports Consul, - Etcd, and Zookeeper (Distributed store) key-value stores.\n* A cluster of hosts - with connectivity to the key-value store.\n* A properly configured Engine `daemon` - on each host in the cluster.\n\nThe `dockerd` options that support the `overlay` - network are:\n\n* `--cluster-store`\n* `--cluster-store-opt`\n* `--cluster-advertise`\n\nTo - read more about these options and how to configure them, see [\"*Get started\nwith - multi-host\nnetwork*\"](https://docs.docker.com/engine/userguide/networking/get-started-overlay/).\n\nIt - is also a good idea, though not required, that you install Docker Swarm on to\nmanage - the cluster that makes up your network. Swarm provides sophisticated\ndiscovery - and server management that can assist your implementation.\n\nOnce you have prepared - the `overlay` network prerequisites you simply choose a\nDocker host in the cluster - and issue the following to create the network:\n\n```bash\n$ docker network create - -d overlay my-multihost-network\n```\n\nNetwork names must be unique. The Docker - daemon attempts to identify naming\nconflicts but this is not guaranteed. It is - the user's responsibility to avoid\nname conflicts.\n\n## Connect containers\n\nWhen - you start a container use the `--network` flag to connect it to a network.\nThis - adds the `busybox` container to the `mynet` network.\n\n```bash\n$ docker run -itd - --network=mynet busybox\n```\n\nIf you want to add a container to a network after - the container is already\nrunning use the `docker network connect` subcommand.\n\nYou - can connect multiple containers to the same network. Once connected, the\ncontainers - can communicate using only another container's IP address or name.\nFor `overlay` - networks or custom plugins that support multi-host connectivity,\ncontainers connected - to the same multi-host network but launched from different\nEngines can also communicate - in this way.\n\nYou can disconnect a container from a network using the `docker - network\ndisconnect` command.\n\n## Specifying advanced options\n\nWhen you create - a network, Engine creates a non-overlapping subnetwork for the\nnetwork by default. - This subnetwork is not a subdivision of an existing network.\nIt is purely for ip-addressing - purposes. You can override this default and\nspecify subnetwork values directly - using the `--subnet` option. On a\n`bridge` network you can only create a single - subnet:\n\n```bash\n$ docker network create -d bridge --subnet=192.168.0.0/16 br0\n```\n\nAdditionally, - you also specify the `--gateway` `--ip-range` and `--aux-address`\noptions.\n\n```bash\n$ - docker network create \\\n --driver=bridge \\\n --subnet=172.28.0.0/16 \\\n --ip-range=172.28.5.0/24 - \\\n --gateway=172.28.5.254 \\\n br0\n```\n\nIf you omit the `--gateway` flag - the Engine selects one for you from inside a\npreferred pool. For `overlay` networks - and for network driver plugins that\nsupport it you can create multiple subnetworks.\n\n```bash\n$ - docker network create -d overlay \\\n --subnet=192.168.0.0/16 \\\n --subnet=192.170.0.0/16 - \\\n --gateway=192.168.0.100 \\ \n --gateway=192.170.0.100 \\\n --ip-range=192.168.1.0/24 - \\\n --aux-address=\"my-router=192.168.1.5\" --aux-address=\"my-switch=192.168.1.6\" - \\\n --aux-address=\"my-printer=192.170.1.5\" --aux-address=\"my-nas=192.170.1.6\" - \\\n my-multihost-network\n```\n\nBe sure that your subnetworks do not overlap. - If they do, the network create\nfails and Engine returns an error.\n\n### Network - internal mode\n\nBy default, when you connect a container to an `overlay` network, - Docker also\nconnects a bridge network to it to provide external connectivity. If - you want\nto create an externally isolated `overlay` network, you can specify the\n`--internal` - option.\n" -usage: docker network create [OPTIONS] NETWORK -pname: docker network -plink: docker_network.yaml -options: -- option: attachable - default_value: "false" - description: Enable manual container attachment -- option: aux-address - default_value: map[] - description: Auxiliary IPv4 or IPv6 addresses used by Network driver -- option: driver - shorthand: d - default_value: bridge - description: Driver to manage the Network -- option: gateway - default_value: '[]' - description: IPv4 or IPv6 Gateway for the master subnet -- option: internal - default_value: "false" - description: Restrict external access to the network -- option: ip-range - default_value: '[]' - description: Allocate container ip from a sub-range -- option: ipam-driver - default_value: default - description: IP Address Management Driver -- option: ipam-opt - default_value: map[] - description: Set IPAM driver specific options -- option: ipv6 - default_value: "false" - description: Enable IPv6 networking -- option: label - default_value: '[]' - description: Set metadata on a network -- option: opt - shorthand: o - default_value: map[] - description: Set driver specific options -- option: subnet - default_value: '[]' - description: Subnet in CIDR format that represents a network segment diff --git a/_data/engine-cli/docker_network_disconnect.yaml b/_data/engine-cli/docker_network_disconnect.yaml deleted file mode 100644 index 87fca9d5bf50..000000000000 --- a/_data/engine-cli/docker_network_disconnect.yaml +++ /dev/null @@ -1,16 +0,0 @@ -command: docker network disconnect -short: Disconnect a container from a network -long: | - Disconnects a container from a network. - - ```bash - $ docker network disconnect multi-host-network container1 - ``` -usage: docker network disconnect [OPTIONS] NETWORK CONTAINER -pname: docker network -plink: docker_network.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force the container to disconnect from a network diff --git a/_data/engine-cli/docker_network_inspect.yaml b/_data/engine-cli/docker_network_inspect.yaml deleted file mode 100644 index 733ceca4bc34..000000000000 --- a/_data/engine-cli/docker_network_inspect.yaml +++ /dev/null @@ -1,98 +0,0 @@ -command: docker network inspect -short: Display detailed information on one or more networks -long: | - Returns information about one or more networks. By default, this command renders all results in a JSON object. For example, if you connect two containers to the default `bridge` network: - - ```bash - $ sudo docker run -itd --name=container1 busybox - f2870c98fd504370fb86e59f32cd0753b1ac9b69b7d80566ffc7192a82b3ed27 - - $ sudo docker run -itd --name=container2 busybox - bda12f8922785d1f160be70736f26c1e331ab8aaf8ed8d56728508f2e2fd4727 - ``` - - The `network inspect` command shows the containers, by id, in its - results. You can specify an alternate format to execute a given - template for each result. Go's - [text/template](http://golang.org/pkg/text/template/) package - describes all the details of the format. - - ```bash - $ sudo docker network inspect bridge - [ - { - "Name": "bridge", - "Id": "b2b1a2cba717161d984383fd68218cf70bbbd17d328496885f7c921333228b0f", - "Scope": "local", - "Driver": "bridge", - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.17.42.1/16", - "Gateway": "172.17.42.1" - } - ] - }, - "Internal": false, - "Containers": { - "bda12f8922785d1f160be70736f26c1e331ab8aaf8ed8d56728508f2e2fd4727": { - "Name": "container2", - "EndpointID": "0aebb8fcd2b282abe1365979536f21ee4ceaf3ed56177c628eae9f706e00e019", - "MacAddress": "02:42:ac:11:00:02", - "IPv4Address": "172.17.0.2/16", - "IPv6Address": "" - }, - "f2870c98fd504370fb86e59f32cd0753b1ac9b69b7d80566ffc7192a82b3ed27": { - "Name": "container1", - "EndpointID": "a00676d9c91a96bbe5bcfb34f705387a33d7cc365bac1a29e4e9728df92d10ad", - "MacAddress": "02:42:ac:11:00:01", - "IPv4Address": "172.17.0.1/16", - "IPv6Address": "" - } - }, - "Options": { - "com.docker.network.bridge.default_bridge": "true", - "com.docker.network.bridge.enable_icc": "true", - "com.docker.network.bridge.enable_ip_masquerade": "true", - "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", - "com.docker.network.bridge.name": "docker0", - "com.docker.network.driver.mtu": "1500" - } - } - ] - ``` - - Returns the information about the user-defined network: - - ```bash - $ docker network create simple-network - 69568e6336d8c96bbf57869030919f7c69524f71183b44d80948bd3927c87f6a - $ docker network inspect simple-network - [ - { - "Name": "simple-network", - "Id": "69568e6336d8c96bbf57869030919f7c69524f71183b44d80948bd3927c87f6a", - "Scope": "local", - "Driver": "bridge", - "IPAM": { - "Driver": "default", - "Config": [ - { - "Subnet": "172.22.0.0/16", - "Gateway": "172.22.0.1" - } - ] - }, - "Containers": {}, - "Options": {} - } - ] - ``` -usage: docker network inspect [OPTIONS] NETWORK [NETWORK...] -pname: docker network -plink: docker_network.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_network_ls.yaml b/_data/engine-cli/docker_network_ls.yaml deleted file mode 100644 index fb0441f07457..000000000000 --- a/_data/engine-cli/docker_network_ls.yaml +++ /dev/null @@ -1,80 +0,0 @@ -command: docker network ls -aliases: list -short: List networks -long: "Lists all the networks the Engine `daemon` knows about. This includes the\nnetworks - that span across multiple hosts in a cluster, for example:\n\n```bash\n $ docker - network ls\n NETWORK ID NAME DRIVER SCOPE\n - \ 7fca4eb8c647 bridge bridge local\n 9f904ee27bf5 - \ none null local\n cf03ee007fb4 host - \ host local\n 78b03ee04fc4 multi-host overlay - \ swarm\n```\n\nUse the `--no-trunc` option to display the full network id:\n\n```bash\n$ - docker network ls --no-trunc\nNETWORK ID NAME - \ DRIVER\n18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3 - \ none null \nc288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47 - \ host host \n7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185 - \ bridge bridge \n95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd - \ foo bridge \n63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161 - \ dev bridge\n```\n\n## Filtering\n\nThe filtering flag (`-f` or - `--filter`) format is a `key=value` pair. If there\nis more than one filter, then - pass multiple flags (e.g. `--filter \"foo=bar\" --filter \"bif=baz\"`).\nMultiple - filter flags are combined as an `OR` filter. For example, \n`-f type=custom -f type=builtin` - returns both `custom` and `builtin` networks.\n\nThe currently supported filters - are:\n\n* driver\n* id (network's id)\n* label (`label=` or `label==`)\n* - name (network's name)\n* type (custom|builtin)\n\n#### Driver\n\nThe `driver` filter - matches networks based on their driver.\n\nThe following example matches networks - with the `bridge` driver:\n\n```bash\n$ docker network ls --filter driver=bridge\nNETWORK - ID NAME DRIVER\ndb9db329f835 test1 bridge\nf6e212da9dfd - \ test2 bridge\n```\n\n#### ID\n\nThe `id` filter matches on - all or part of a network's ID.\n\nThe following filter matches all networks with - an ID containing the\n`63d1ff1f77b0...` string.\n\n```bash\n$ docker network ls - --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161\nNETWORK - ID NAME DRIVER\n63d1ff1f77b0 dev bridge\n```\n\nYou - can also filter for a substring in an ID as this shows:\n\n```bash\n$ docker network - ls --filter id=95e74588f40d\nNETWORK ID NAME DRIVER\n95e74588f40d - \ foo bridge\n\n$ docker network ls --filter id=95e\nNETWORK - ID NAME DRIVER\n95e74588f40d foo bridge\n```\n\n#### - Label\n\nThe `label` filter matches networks based on the presence of a `label` - alone or a `label` and a\nvalue.\n\nThe following filter matches networks with the - `usage` label regardless of its value.\n\n```bash\n$ docker network ls -f \"label=usage\"\nNETWORK - ID NAME DRIVER\ndb9db329f835 test1 bridge - \ \nf6e212da9dfd test2 bridge\n```\n\nThe following - filter matches networks with the `usage` label with the `prod` value.\n\n```bash\n$ - docker network ls -f \"label=usage=prod\"\nNETWORK ID NAME DRIVER\nf6e212da9dfd - \ test2 bridge\n```\n\n#### Name\n\nThe `name` filter matches - on all or part of a network's name.\n\nThe following filter matches all networks - with a name containing the `foobar` string.\n\n```bash\n$ docker network ls --filter - name=foobar\nNETWORK ID NAME DRIVER\n06e7eef0a170 foobar - \ bridge\n```\n\nYou can also filter for a substring in a name as this - shows:\n\n```bash\n$ docker network ls --filter name=foo\nNETWORK ID NAME - \ DRIVER\n95e74588f40d foo bridge\n06e7eef0a170 - \ foobar bridge\n```\n\n#### Type\n\nThe `type` filter supports - two values; `builtin` displays predefined networks\n(`bridge`, `none`, `host`), - whereas `custom` displays user defined networks.\n\nThe following filter matches - all user defined networks:\n\n```bash\n$ docker network ls --filter type=custom\nNETWORK - ID NAME DRIVER\n95e74588f40d foo bridge\n63d1ff1f77b0 - \ dev bridge\n```\n\nBy having this flag it allows for batch - cleanup. For example, use this filter\nto delete all user defined networks:\n\n```bash\n$ - docker network rm `docker network ls --filter type=custom -q`\n```\n\nA warning - will be issued when trying to remove a network that has containers\nattached.\n\n## - Format\n\nFormat uses a Go template to print the output. The following variables - are \nsupported: \n\n* .ID - Network ID\n* .Name - Network name\n* .Driver - Network - driver\n* .Scope - Network scope (local, global)\n* .IPv6 - Whether IPv6 is enabled - on the network or not\n* .Internal - Whether the network is internal or not\n* .Labels - - All labels assigned to the network\n* .Label - Value of a specific label for this - network. For example `{{.Label \"project.version\"}}`\n" -usage: docker network ls [OPTIONS] -pname: docker network -plink: docker_network.yaml -options: -- option: filter - shorthand: f - description: Provide filter values (e.g. 'driver=bridge') -- option: format - description: Pretty-print networks using a Go template -- option: no-trunc - default_value: "false" - description: Do not truncate the output -- option: quiet - shorthand: q - default_value: "false" - description: Only display network IDs diff --git a/_data/engine-cli/docker_network_prune.yaml b/_data/engine-cli/docker_network_prune.yaml deleted file mode 100644 index 147c815bda5f..000000000000 --- a/_data/engine-cli/docker_network_prune.yaml +++ /dev/null @@ -1,13 +0,0 @@ -command: docker network prune -short: Remove all unused networks -long: Remove all unused networks -usage: docker network prune [OPTIONS] -pname: docker network -plink: docker_network.yaml -options: -- option: filter - description: Provide filter values (e.g. 'until=') -- option: force - shorthand: f - default_value: "false" - description: Do not prompt for confirmation diff --git a/_data/engine-cli/docker_network_rm.yaml b/_data/engine-cli/docker_network_rm.yaml deleted file mode 100644 index aadab50de015..000000000000 --- a/_data/engine-cli/docker_network_rm.yaml +++ /dev/null @@ -1,27 +0,0 @@ -command: docker network rm -aliases: remove -short: Remove one or more networks -long: | - Removes one or more networks by name or identifier. To remove a network, - you must first disconnect any containers connected to it. - To remove the network named 'my-network': - - ```bash - $ docker network rm my-network - ``` - - To delete multiple networks in a single `docker network rm` command, provide - multiple network names or ids. The following example deletes a network with id - `3695c422697f` and a network named `my-network`: - - ```bash - $ docker network rm 3695c422697f my-network - ``` - - When you specify multiple networks, the command attempts to delete each in turn. - If the deletion of one network fails, the command continues to the next on the - list and tries to delete that. The command reports success or failure for each - deletion. -usage: docker network rm NETWORK [NETWORK...] -pname: docker network -plink: docker_network.yaml diff --git a/_data/engine-cli/docker_node.yaml b/_data/engine-cli/docker_node.yaml deleted file mode 100644 index c079518a23ac..000000000000 --- a/_data/engine-cli/docker_node.yaml +++ /dev/null @@ -1,22 +0,0 @@ -command: docker node -short: Manage Swarm nodes -long: Manage Swarm nodes -usage: docker node -pname: docker -plink: docker.yaml -cname: -- docker node demote -- docker node inspect -- docker node ls -- docker node promote -- docker node ps -- docker node rm -- docker node update -clink: -- docker_node_demote.yaml -- docker_node_inspect.yaml -- docker_node_ls.yaml -- docker_node_promote.yaml -- docker_node_ps.yaml -- docker_node_rm.yaml -- docker_node_update.yaml diff --git a/_data/engine-cli/docker_node_demote.yaml b/_data/engine-cli/docker_node_demote.yaml deleted file mode 100644 index 282c0971faf9..000000000000 --- a/_data/engine-cli/docker_node_demote.yaml +++ /dev/null @@ -1,6 +0,0 @@ -command: docker node demote -short: Demote one or more nodes from manager in the swarm -long: Demote one or more nodes from manager in the swarm -usage: docker node demote NODE [NODE...] -pname: docker node -plink: docker_node.yaml diff --git a/_data/engine-cli/docker_node_inspect.yaml b/_data/engine-cli/docker_node_inspect.yaml deleted file mode 100644 index 7b3af8991fe3..000000000000 --- a/_data/engine-cli/docker_node_inspect.yaml +++ /dev/null @@ -1,13 +0,0 @@ -command: docker node inspect -short: Display detailed information on one or more nodes -long: Display detailed information on one or more nodes -usage: docker node inspect [OPTIONS] self|NODE [NODE...] -pname: docker node -plink: docker_node.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template -- option: pretty - default_value: "false" - description: Print the information in a human friendly format. diff --git a/_data/engine-cli/docker_node_ls.yaml b/_data/engine-cli/docker_node_ls.yaml deleted file mode 100644 index 4153feb83fe9..000000000000 --- a/_data/engine-cli/docker_node_ls.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker node ls -aliases: list -short: List nodes in the swarm -long: List nodes in the swarm -usage: docker node ls [OPTIONS] -pname: docker node -plink: docker_node.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: quiet - shorthand: q - default_value: "false" - description: Only display IDs diff --git a/_data/engine-cli/docker_node_promote.yaml b/_data/engine-cli/docker_node_promote.yaml deleted file mode 100644 index ee12b6d7b6d6..000000000000 --- a/_data/engine-cli/docker_node_promote.yaml +++ /dev/null @@ -1,6 +0,0 @@ -command: docker node promote -short: Promote one or more nodes to manager in the swarm -long: Promote one or more nodes to manager in the swarm -usage: docker node promote NODE [NODE...] -pname: docker node -plink: docker_node.yaml diff --git a/_data/engine-cli/docker_node_ps.yaml b/_data/engine-cli/docker_node_ps.yaml deleted file mode 100644 index e17c1612c716..000000000000 --- a/_data/engine-cli/docker_node_ps.yaml +++ /dev/null @@ -1,16 +0,0 @@ -command: docker node ps -short: List tasks running on one or more nodes, defaults to current node -long: List tasks running on one or more nodes, defaults to current node -usage: docker node ps [OPTIONS] [NODE...] -pname: docker node -plink: docker_node.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: no-resolve - default_value: "false" - description: Do not map IDs to Names -- option: no-trunc - default_value: "false" - description: Do not truncate output diff --git a/_data/engine-cli/docker_node_rm.yaml b/_data/engine-cli/docker_node_rm.yaml deleted file mode 100644 index 9481141a3205..000000000000 --- a/_data/engine-cli/docker_node_rm.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker node rm -aliases: remove -short: Remove one or more nodes from the swarm -long: Remove one or more nodes from the swarm -usage: docker node rm [OPTIONS] NODE [NODE...] -pname: docker node -plink: docker_node.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force remove a node from the swarm diff --git a/_data/engine-cli/docker_node_update.yaml b/_data/engine-cli/docker_node_update.yaml deleted file mode 100644 index bf7187c6dd6f..000000000000 --- a/_data/engine-cli/docker_node_update.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker node update -short: Update a node -long: Update a node -usage: docker node update [OPTIONS] NODE -pname: docker node -plink: docker_node.yaml -options: -- option: availability - description: Availability of the node (active/pause/drain) -- option: label-add - default_value: '[]' - description: Add or update a node label (key=value) -- option: label-rm - default_value: '[]' - description: Remove a node label if exists -- option: role - description: Role of the node (worker/manager) diff --git a/_data/engine-cli/docker_pause.yaml b/_data/engine-cli/docker_pause.yaml deleted file mode 100644 index f6420665b700..000000000000 --- a/_data/engine-cli/docker_pause.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker pause -short: Pause all processes within one or more containers -long: | - Alias for `docker container pause`. -usage: docker pause CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_plugin.yaml b/_data/engine-cli/docker_plugin.yaml deleted file mode 100644 index bd0e6572e53f..000000000000 --- a/_data/engine-cli/docker_plugin.yaml +++ /dev/null @@ -1,26 +0,0 @@ -command: docker plugin -short: Manage plugins -long: Manage plugins -usage: docker plugin -pname: docker -plink: docker.yaml -cname: -- docker plugin create -- docker plugin disable -- docker plugin enable -- docker plugin inspect -- docker plugin install -- docker plugin ls -- docker plugin push -- docker plugin rm -- docker plugin set -clink: -- docker_plugin_create.yaml -- docker_plugin_disable.yaml -- docker_plugin_enable.yaml -- docker_plugin_inspect.yaml -- docker_plugin_install.yaml -- docker_plugin_ls.yaml -- docker_plugin_push.yaml -- docker_plugin_rm.yaml -- docker_plugin_set.yaml diff --git a/_data/engine-cli/docker_plugin_create.yaml b/_data/engine-cli/docker_plugin_create.yaml deleted file mode 100644 index ba4b3da251e2..000000000000 --- a/_data/engine-cli/docker_plugin_create.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker plugin create -short: Create a plugin from a rootfs and configuration. Plugin data directory must - contain config.json and rootfs directory. -long: Create a plugin from a rootfs and configuration. Plugin data directory must - contain config.json and rootfs directory. -usage: docker plugin create [OPTIONS] PLUGIN PLUGIN-DATA-DIR -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: compress - default_value: "false" - description: Compress the context using gzip diff --git a/_data/engine-cli/docker_plugin_disable.yaml b/_data/engine-cli/docker_plugin_disable.yaml deleted file mode 100644 index e29d14291004..000000000000 --- a/_data/engine-cli/docker_plugin_disable.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker plugin disable -short: Disable a plugin -long: Disable a plugin -usage: docker plugin disable [OPTIONS] PLUGIN -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force the disable of an active plugin diff --git a/_data/engine-cli/docker_plugin_enable.yaml b/_data/engine-cli/docker_plugin_enable.yaml deleted file mode 100644 index 1ba94b4185fa..000000000000 --- a/_data/engine-cli/docker_plugin_enable.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker plugin enable -short: Enable a plugin -long: Enable a plugin -usage: docker plugin enable [OPTIONS] PLUGIN -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: timeout - default_value: "0" - description: HTTP client timeout (in seconds) diff --git a/_data/engine-cli/docker_plugin_inspect.yaml b/_data/engine-cli/docker_plugin_inspect.yaml deleted file mode 100644 index f4b0911f8661..000000000000 --- a/_data/engine-cli/docker_plugin_inspect.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker plugin inspect -short: Display detailed information on one or more plugins -long: Display detailed information on one or more plugins -usage: docker plugin inspect [OPTIONS] PLUGIN [PLUGIN...] -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_plugin_install.yaml b/_data/engine-cli/docker_plugin_install.yaml deleted file mode 100644 index 81ee03d8fe19..000000000000 --- a/_data/engine-cli/docker_plugin_install.yaml +++ /dev/null @@ -1,18 +0,0 @@ -command: docker plugin install -short: Install a plugin -long: Install a plugin -usage: docker plugin install [OPTIONS] PLUGIN [KEY=VALUE...] -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: alias - description: Local name for plugin -- option: disable - default_value: "false" - description: Do not enable the plugin on install -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: grant-all-permissions - default_value: "false" - description: Grant all permissions necessary to run the plugin diff --git a/_data/engine-cli/docker_plugin_ls.yaml b/_data/engine-cli/docker_plugin_ls.yaml deleted file mode 100644 index 9308dbe1314e..000000000000 --- a/_data/engine-cli/docker_plugin_ls.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker plugin ls -aliases: list -short: List plugins -long: List plugins -usage: docker plugin ls [OPTIONS] -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: format - description: Pretty-print plugins using a Go template -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only display plugin IDs diff --git a/_data/engine-cli/docker_plugin_push.yaml b/_data/engine-cli/docker_plugin_push.yaml deleted file mode 100644 index 529c1ebe0521..000000000000 --- a/_data/engine-cli/docker_plugin_push.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker plugin push -short: Push a plugin to a registry -long: Push a plugin to a registry -usage: docker plugin push [OPTIONS] PLUGIN[:TAG] -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: disable-content-trust - default_value: "true" - description: Skip image signing diff --git a/_data/engine-cli/docker_plugin_rm.yaml b/_data/engine-cli/docker_plugin_rm.yaml deleted file mode 100644 index 026789d886d5..000000000000 --- a/_data/engine-cli/docker_plugin_rm.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker plugin rm -aliases: remove -short: Remove one or more plugins -long: Remove one or more plugins -usage: docker plugin rm [OPTIONS] PLUGIN [PLUGIN...] -pname: docker plugin -plink: docker_plugin.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force the removal of an active plugin diff --git a/_data/engine-cli/docker_plugin_set.yaml b/_data/engine-cli/docker_plugin_set.yaml deleted file mode 100644 index 2aa6ff26b4b4..000000000000 --- a/_data/engine-cli/docker_plugin_set.yaml +++ /dev/null @@ -1,6 +0,0 @@ -command: docker plugin set -short: Change settings for a plugin -long: Change settings for a plugin -usage: docker plugin set PLUGIN KEY=VALUE [KEY=VALUE...] -pname: docker plugin -plink: docker_plugin.yaml diff --git a/_data/engine-cli/docker_port.yaml b/_data/engine-cli/docker_port.yaml deleted file mode 100644 index 32b5a21cc344..000000000000 --- a/_data/engine-cli/docker_port.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker port -short: List port mappings or a specific mapping for the container -long: | - Alias for `docker container port`. -usage: docker port CONTAINER [PRIVATE_PORT[/PROTO]] -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_ps.yaml b/_data/engine-cli/docker_ps.yaml deleted file mode 100644 index 7124bf995389..000000000000 --- a/_data/engine-cli/docker_ps.yaml +++ /dev/null @@ -1,36 +0,0 @@ -command: docker ps -short: List containers -long: | - Alias for `docker container ls`. -usage: docker ps [OPTIONS] -pname: docker -plink: docker.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Show all containers (default shows just running) -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: format - description: Pretty-print containers using a Go template -- option: last - shorthand: "n" - default_value: "-1" - description: Show n last created containers (includes all states) -- option: latest - shorthand: l - default_value: "false" - description: Show the latest created container (includes all states) -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only display numeric IDs -- option: size - shorthand: s - default_value: "false" - description: Display total file sizes diff --git a/_data/engine-cli/docker_pull.yaml b/_data/engine-cli/docker_pull.yaml deleted file mode 100644 index cd110e84868a..000000000000 --- a/_data/engine-cli/docker_pull.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker pull -short: Pull an image or a repository from a registry -long: | - Alias for `docker image pull`. -usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] -pname: docker -plink: docker.yaml -options: -- option: all-tags - shorthand: a - default_value: "false" - description: Download all tagged images in the repository -- option: disable-content-trust - default_value: "true" - description: Skip image verification diff --git a/_data/engine-cli/docker_push.yaml b/_data/engine-cli/docker_push.yaml deleted file mode 100644 index 374fac44ab0f..000000000000 --- a/_data/engine-cli/docker_push.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker push -short: Push an image or a repository to a registry -long: | - Alias for `docker image push`. -usage: docker push [OPTIONS] NAME[:TAG] -pname: docker -plink: docker.yaml -options: -- option: disable-content-trust - default_value: "true" - description: Skip image signing diff --git a/_data/engine-cli/docker_rename.yaml b/_data/engine-cli/docker_rename.yaml deleted file mode 100644 index e76d113c1eb1..000000000000 --- a/_data/engine-cli/docker_rename.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker rename -short: Rename a container -long: | - Alias for `docker container rename`. -usage: docker rename CONTAINER NEW_NAME -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_restart.yaml b/_data/engine-cli/docker_restart.yaml deleted file mode 100644 index 4c2e2ef708a7..000000000000 --- a/_data/engine-cli/docker_restart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker restart -short: Restart one or more containers -long: | - Alias for `docker container restart`. -usage: docker restart [OPTIONS] CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: time - shorthand: t - default_value: "10" - description: Seconds to wait for stop before killing the container diff --git a/_data/engine-cli/docker_rm.yaml b/_data/engine-cli/docker_rm.yaml deleted file mode 100644 index cc7c3953060f..000000000000 --- a/_data/engine-cli/docker_rm.yaml +++ /dev/null @@ -1,20 +0,0 @@ -command: docker rm -short: Remove one or more containers -long: | - Alias for `docker container rm`. -usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force the removal of a running container (uses SIGKILL) -- option: link - shorthand: l - default_value: "false" - description: Remove the specified link -- option: volumes - shorthand: v - default_value: "false" - description: Remove the volumes associated with the container diff --git a/_data/engine-cli/docker_rmi.yaml b/_data/engine-cli/docker_rmi.yaml deleted file mode 100644 index f86f0505361c..000000000000 --- a/_data/engine-cli/docker_rmi.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker rmi -short: Remove one or more images -long: | - Alias for `docker image rm`. -usage: docker rmi [OPTIONS] IMAGE [IMAGE...] -pname: docker -plink: docker.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force removal of the image -- option: no-prune - default_value: "false" - description: Do not delete untagged parents diff --git a/_data/engine-cli/docker_run.yaml b/_data/engine-cli/docker_run.yaml deleted file mode 100644 index 56991bf1ebd1..000000000000 --- a/_data/engine-cli/docker_run.yaml +++ /dev/null @@ -1,287 +0,0 @@ -command: docker run -short: Run a command in a new container -long: Run a command in a new container -usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] -pname: docker -plink: docker.yaml -options: -- option: add-host - default_value: '[]' - description: Add a custom host-to-IP mapping (host:ip) -- option: attach - shorthand: a - default_value: '[]' - description: Attach to STDIN, STDOUT or STDERR -- option: blkio-weight - default_value: "0" - description: | - Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) -- option: blkio-weight-device - default_value: '[]' - description: Block IO weight (relative device weight) -- option: cap-add - default_value: '[]' - description: Add Linux capabilities -- option: cap-drop - default_value: '[]' - description: Drop Linux capabilities -- option: cgroup-parent - description: Optional parent cgroup for the container -- option: cidfile - description: Write the container ID to the file -- option: cpu-count - default_value: "0" - description: CPU count (Windows only) -- option: cpu-percent - default_value: "0" - description: CPU percent (Windows only) -- option: cpu-period - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) quota -- option: cpu-rt-period - default_value: "0" - description: Limit CPU real-time period in microseconds -- option: cpu-rt-runtime - default_value: "0" - description: Limit CPU real-time runtime in microseconds -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpus - default_value: "0.000" - description: Number of CPUs -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: credentialspec - description: Credential spec for managed service account (Windows only) -- option: detach - shorthand: d - default_value: "false" - description: Run container in background and print container ID -- option: detach-keys - description: Override the key sequence for detaching a container -- option: device - default_value: '[]' - description: Add a host device to the container -- option: device-read-bps - default_value: '[]' - description: Limit read rate (bytes per second) from a device -- option: device-read-iops - default_value: '[]' - description: Limit read rate (IO per second) from a device -- option: device-write-bps - default_value: '[]' - description: Limit write rate (bytes per second) to a device -- option: device-write-iops - default_value: '[]' - description: Limit write rate (IO per second) to a device -- option: disable-content-trust - default_value: "true" - description: Skip image verification -- option: dns - default_value: '[]' - description: Set custom DNS servers -- option: dns-opt - default_value: '[]' - description: Set DNS options -- option: dns-option - default_value: '[]' - description: Set DNS options -- option: dns-search - default_value: '[]' - description: Set custom DNS search domains -- option: entrypoint - description: Overwrite the default ENTRYPOINT of the image -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: env-file - default_value: '[]' - description: Read in a file of environment variables -- option: expose - default_value: '[]' - description: Expose a port or a range of ports -- option: group-add - default_value: '[]' - description: Add additional groups to join -- option: health-cmd - description: Command to run to check health -- option: health-interval - default_value: "0" - description: Time between running the check (ns|us|ms|s|m|h) (default 0s) -- option: health-retries - default_value: "0" - description: Consecutive failures needed to report unhealthy -- option: health-timeout - default_value: "0" - description: | - Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s) -- option: help - default_value: "false" - description: Print usage -- option: hostname - shorthand: h - description: Container host name -- option: init - default_value: "false" - description: | - Run an init inside the container that forwards signals and reaps processes -- option: init-path - description: Path to the docker-init binary -- option: interactive - shorthand: i - default_value: "false" - description: Keep STDIN open even if not attached -- option: io-maxbandwidth - description: | - Maximum IO bandwidth limit for the system drive (Windows only) -- option: io-maxiops - default_value: "0" - description: Maximum IOps limit for the system drive (Windows only) -- option: ip - description: IPv4 address (e.g., 172.30.100.104) -- option: ip6 - description: IPv6 address (e.g., 2001:db8::33) -- option: ipc - description: IPC namespace to use -- option: isolation - description: Container isolation technology -- option: kernel-memory - description: Kernel memory limit -- option: label - shorthand: l - default_value: '[]' - description: Set meta data on a container -- option: label-file - default_value: '[]' - description: Read in a line delimited file of labels -- option: link - default_value: '[]' - description: Add link to another container -- option: link-local-ip - default_value: '[]' - description: Container IPv4/IPv6 link-local addresses -- option: log-driver - description: Logging driver for the container -- option: log-opt - default_value: '[]' - description: Log driver options -- option: mac-address - description: Container MAC address (e.g., 92:d0:c6:0a:29:33) -- option: memory - shorthand: m - description: Memory limit -- option: memory-reservation - description: Memory soft limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: memory-swappiness - default_value: "-1" - description: Tune container memory swappiness (0 to 100) -- option: name - description: Assign a name to the container -- option: net - default_value: default - description: Connect a container to a network -- option: net-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: network - default_value: default - description: Connect a container to a network -- option: network-alias - default_value: '[]' - description: Add network-scoped alias for the container -- option: no-healthcheck - default_value: "false" - description: Disable any container-specified HEALTHCHECK -- option: oom-kill-disable - default_value: "false" - description: Disable OOM Killer -- option: oom-score-adj - default_value: "0" - description: Tune host's OOM preferences (-1000 to 1000) -- option: pid - description: PID namespace to use -- option: pids-limit - default_value: "0" - description: Tune container pids limit (set -1 for unlimited) -- option: privileged - default_value: "false" - description: Give extended privileges to this container -- option: publish - shorthand: p - default_value: '[]' - description: Publish a container's port(s) to the host -- option: publish-all - shorthand: P - default_value: "false" - description: Publish all exposed ports to random ports -- option: read-only - default_value: "false" - description: Mount the container's root filesystem as read only -- option: restart - default_value: "no" - description: Restart policy to apply when a container exits -- option: rm - default_value: "false" - description: Automatically remove the container when it exits -- option: runtime - description: Runtime to use for this container -- option: security-opt - default_value: '[]' - description: Security Options -- option: shm-size - description: Size of /dev/shm, default value is 64MB -- option: sig-proxy - default_value: "true" - description: Proxy received signals to the process -- option: stop-signal - default_value: SIGTERM - description: Signal to stop a container, SIGTERM by default -- option: stop-timeout - default_value: "0" - description: Timeout (in seconds) to stop a container -- option: storage-opt - default_value: '[]' - description: Storage driver options for the container -- option: sysctl - default_value: map[] - description: Sysctl options -- option: tmpfs - default_value: '[]' - description: Mount a tmpfs directory -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: ulimit - default_value: '[]' - description: Ulimit options -- option: user - shorthand: u - description: 'Username or UID (format: [:])' -- option: userns - description: User namespace to use -- option: uts - description: UTS namespace to use -- option: volume - shorthand: v - default_value: '[]' - description: Bind mount a volume -- option: volume-driver - description: Optional volume driver for the container -- option: volumes-from - default_value: '[]' - description: Mount volumes from the specified container(s) -- option: workdir - shorthand: w - description: Working directory inside the container diff --git a/_data/engine-cli/docker_save.yaml b/_data/engine-cli/docker_save.yaml deleted file mode 100644 index ecf7234832e4..000000000000 --- a/_data/engine-cli/docker_save.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker save -short: Save one or more images to a tar archive (streamed to STDOUT by default) -long: | - Alias for `docker image save`. -usage: docker save [OPTIONS] IMAGE [IMAGE...] -pname: docker -plink: docker.yaml -options: -- option: output - shorthand: o - description: Write to a file, instead of STDOUT diff --git a/_data/engine-cli/docker_search.yaml b/_data/engine-cli/docker_search.yaml deleted file mode 100644 index 3308069f1afe..000000000000 --- a/_data/engine-cli/docker_search.yaml +++ /dev/null @@ -1,59 +0,0 @@ -command: docker search -short: Search the Docker Hub for images -long: | - Search Docker Hub for images that match the specified `TERM`. The table - of images returned displays the name, description (truncated by default), number - of stars awarded, whether the image is official, and whether it is automated. - - *Note* - Search queries will only return up to 25 results - - ## Filter - - Filter output based on these conditions: - - stars= - - is-automated=(true|false) - - is-official=(true|false) - - # EXAMPLES - - ## Search Docker Hub for ranked images - - Search a registry for the term 'fedora' and only display those images - ranked 3 or higher: - - $ docker search --filter=stars=3 fedora - NAME DESCRIPTION STARS OFFICIAL AUTOMATED - mattdm/fedora A basic Fedora image corresponding roughly... 50 - fedora (Semi) Official Fedora base image. 38 - mattdm/fedora-small A small Fedora image on which to build. Co... 8 - goldmann/wildfly A WildFly application server running on a ... 3 [OK] - - ## Search Docker Hub for automated images - - Search Docker Hub for the term 'fedora' and only display automated images - ranked 1 or higher: - - $ docker search --filter=is-automated=true --filter=stars=1 fedora - NAME DESCRIPTION STARS OFFICIAL AUTOMATED - goldmann/wildfly A WildFly application server running on a ... 3 [OK] - tutum/fedora-20 Fedora 20 image with SSH access. For the r... 1 [OK] -usage: docker search [OPTIONS] TERM -pname: docker -plink: docker.yaml -options: -- option: automated - default_value: "false" - description: Only show automated builds -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: limit - default_value: "25" - description: Max number of search results -- option: no-trunc - default_value: "false" - description: Don't truncate output -- option: stars - shorthand: s - default_value: "0" - description: Only displays with at least x stars diff --git a/_data/engine-cli/docker_secret.yaml b/_data/engine-cli/docker_secret.yaml deleted file mode 100644 index bad1030e0e4e..000000000000 --- a/_data/engine-cli/docker_secret.yaml +++ /dev/null @@ -1,16 +0,0 @@ -command: docker secret -short: Manage Docker secrets -long: Manage Docker secrets -usage: docker secret -pname: docker -plink: docker.yaml -cname: -- docker secret create -- docker secret inspect -- docker secret ls -- docker secret rm -clink: -- docker_secret_create.yaml -- docker_secret_inspect.yaml -- docker_secret_ls.yaml -- docker_secret_rm.yaml diff --git a/_data/engine-cli/docker_secret_create.yaml b/_data/engine-cli/docker_secret_create.yaml deleted file mode 100644 index 56ad1f7cbfee..000000000000 --- a/_data/engine-cli/docker_secret_create.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker secret create -short: Create a secret from a file or STDIN as content -long: Create a secret from a file or STDIN as content -usage: docker secret create [OPTIONS] SECRET file|- -pname: docker secret -plink: docker_secret.yaml -options: -- option: label - shorthand: l - default_value: '[]' - description: Secret labels diff --git a/_data/engine-cli/docker_secret_inspect.yaml b/_data/engine-cli/docker_secret_inspect.yaml deleted file mode 100644 index 64657022313f..000000000000 --- a/_data/engine-cli/docker_secret_inspect.yaml +++ /dev/null @@ -1,10 +0,0 @@ -command: docker secret inspect -short: Display detailed information on one or more secrets -long: Display detailed information on one or more secrets -usage: docker secret inspect [OPTIONS] SECRET [SECRET...] -pname: docker secret -plink: docker_secret.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_secret_ls.yaml b/_data/engine-cli/docker_secret_ls.yaml deleted file mode 100644 index 8d4e44d1a0ce..000000000000 --- a/_data/engine-cli/docker_secret_ls.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker secret ls -aliases: list -short: List secrets -long: List secrets -usage: docker secret ls [OPTIONS] -pname: docker secret -plink: docker_secret.yaml -options: -- option: quiet - shorthand: q - default_value: "false" - description: Only display IDs diff --git a/_data/engine-cli/docker_secret_rm.yaml b/_data/engine-cli/docker_secret_rm.yaml deleted file mode 100644 index 6965c2ffdab5..000000000000 --- a/_data/engine-cli/docker_secret_rm.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker secret rm -aliases: remove -short: Remove one or more secrets -long: Remove one or more secrets -usage: docker secret rm SECRET [SECRET...] -pname: docker secret -plink: docker_secret.yaml diff --git a/_data/engine-cli/docker_service.yaml b/_data/engine-cli/docker_service.yaml deleted file mode 100644 index 9e919b0fc814..000000000000 --- a/_data/engine-cli/docker_service.yaml +++ /dev/null @@ -1,24 +0,0 @@ -command: docker service -short: Manage services -long: Manage services -usage: docker service -pname: docker -plink: docker.yaml -cname: -- docker service create -- docker service inspect -- docker service logs -- docker service ls -- docker service ps -- docker service rm -- docker service scale -- docker service update -clink: -- docker_service_create.yaml -- docker_service_inspect.yaml -- docker_service_logs.yaml -- docker_service_ls.yaml -- docker_service_ps.yaml -- docker_service_rm.yaml -- docker_service_scale.yaml -- docker_service_update.yaml diff --git a/_data/engine-cli/docker_service_create.yaml b/_data/engine-cli/docker_service_create.yaml deleted file mode 100644 index c9258efed360..000000000000 --- a/_data/engine-cli/docker_service_create.yaml +++ /dev/null @@ -1,130 +0,0 @@ -command: docker service create -short: Create a new service -long: Create a new service -usage: docker service create [OPTIONS] IMAGE [COMMAND] [ARG...] -pname: docker service -plink: docker_service.yaml -options: -- option: constraint - default_value: '[]' - description: Placement constraints -- option: container-label - default_value: '[]' - description: Container labels -- option: dns - default_value: '[]' - description: Set custom DNS servers -- option: dns-option - default_value: '[]' - description: Set DNS options -- option: dns-search - default_value: '[]' - description: Set custom DNS search domains -- option: endpoint-mode - description: Endpoint mode (vip or dnsrr) -- option: env - shorthand: e - default_value: '[]' - description: Set environment variables -- option: env-file - default_value: '[]' - description: Read in a file of environment variables -- option: group - default_value: '[]' - description: Set one or more supplementary user groups for the container -- option: health-cmd - description: Command to run to check health -- option: health-interval - description: Time between running the check (ns|us|ms|s|m|h) -- option: health-retries - default_value: "0" - description: Consecutive failures needed to report unhealthy -- option: health-timeout - description: Maximum time to allow one check to run (ns|us|ms|s|m|h) -- option: host - default_value: '[]' - description: Set one or more custom host-to-IP mappings (host:ip) -- option: hostname - description: Container hostname -- option: label - shorthand: l - default_value: '[]' - description: Service labels -- option: limit-cpu - default_value: "0.000" - description: Limit CPUs -- option: limit-memory - default_value: 0 B - description: Limit Memory -- option: log-driver - description: Logging driver for service -- option: log-opt - default_value: '[]' - description: Logging driver options -- option: mode - default_value: replicated - description: Service mode (replicated or global) -- option: mount - description: Attach a filesystem mount to the service -- option: name - description: Service name -- option: network - default_value: '[]' - description: Network attachments -- option: no-healthcheck - default_value: "false" - description: Disable any container-specified HEALTHCHECK -- option: publish - shorthand: p - description: Publish a port as a node port -- option: replicas - description: Number of tasks -- option: reserve-cpu - default_value: "0.000" - description: Reserve CPUs -- option: reserve-memory - default_value: 0 B - description: Reserve Memory -- option: restart-condition - description: Restart when condition is met (none, on-failure, or any) -- option: restart-delay - description: Delay between restart attempts (ns|us|ms|s|m|h) -- option: restart-max-attempts - description: Maximum number of restarts before giving up -- option: restart-window - description: Window used to evaluate the restart policy (ns|us|ms|s|m|h) -- option: secret - description: Specify secrets to expose to the service -- option: stop-grace-period - description: | - Time to wait before force killing a container (ns|us|ms|s|m|h) -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: update-delay - default_value: "0" - description: Delay between updates (ns|us|ms|s|m|h) (default 0s) -- option: update-failure-action - default_value: pause - description: Action on update failure (pause|continue) -- option: update-max-failure-ratio - default_value: "0" - description: Failure rate to tolerate during an update -- option: update-monitor - default_value: "0" - description: | - Duration after each task update to monitor for failure (ns|us|ms|s|m|h) (default 0s) -- option: update-parallelism - default_value: "1" - description: | - Maximum number of tasks updated simultaneously (0 to update all at once) -- option: user - shorthand: u - description: 'Username or UID (format: [:])' -- option: with-registry-auth - default_value: "false" - description: Send registry authentication details to swarm agents -- option: workdir - shorthand: w - description: Working directory inside the container diff --git a/_data/engine-cli/docker_service_inspect.yaml b/_data/engine-cli/docker_service_inspect.yaml deleted file mode 100644 index 05a937868742..000000000000 --- a/_data/engine-cli/docker_service_inspect.yaml +++ /dev/null @@ -1,13 +0,0 @@ -command: docker service inspect -short: Display detailed information on one or more services -long: Display detailed information on one or more services -usage: docker service inspect [OPTIONS] SERVICE [SERVICE...] -pname: docker service -plink: docker_service.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template -- option: pretty - default_value: "false" - description: Print the information in a human friendly format. diff --git a/_data/engine-cli/docker_service_logs.yaml b/_data/engine-cli/docker_service_logs.yaml deleted file mode 100644 index adbacd1a4b5e..000000000000 --- a/_data/engine-cli/docker_service_logs.yaml +++ /dev/null @@ -1,26 +0,0 @@ -command: docker service logs -short: Fetch the logs of a service -long: Fetch the logs of a service -usage: docker service logs [OPTIONS] SERVICE -pname: docker service -plink: docker_service.yaml -options: -- option: details - default_value: "false" - description: Show extra details provided to logs -- option: follow - shorthand: f - default_value: "false" - description: Follow log output -- option: no-resolve - default_value: "false" - description: Do not map IDs to Names -- option: since - description: Show logs since timestamp -- option: tail - default_value: all - description: Number of lines to show from the end of the logs -- option: timestamps - shorthand: t - default_value: "false" - description: Show timestamps diff --git a/_data/engine-cli/docker_service_ls.yaml b/_data/engine-cli/docker_service_ls.yaml deleted file mode 100644 index cfdd0504ff95..000000000000 --- a/_data/engine-cli/docker_service_ls.yaml +++ /dev/null @@ -1,15 +0,0 @@ -command: docker service ls -aliases: list -short: List services -long: List services -usage: docker service ls [OPTIONS] -pname: docker service -plink: docker_service.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: quiet - shorthand: q - default_value: "false" - description: Only display IDs diff --git a/_data/engine-cli/docker_service_ps.yaml b/_data/engine-cli/docker_service_ps.yaml deleted file mode 100644 index b47b0c5ad815..000000000000 --- a/_data/engine-cli/docker_service_ps.yaml +++ /dev/null @@ -1,20 +0,0 @@ -command: docker service ps -short: List the tasks of one or more services -long: List the tasks of one or more services -usage: docker service ps [OPTIONS] SERVICE [SERVICE...] -pname: docker service -plink: docker_service.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: no-resolve - default_value: "false" - description: Do not map IDs to Names -- option: no-trunc - default_value: "false" - description: Do not truncate output -- option: quiet - shorthand: q - default_value: "false" - description: Only display task IDs diff --git a/_data/engine-cli/docker_service_rm.yaml b/_data/engine-cli/docker_service_rm.yaml deleted file mode 100644 index 94d27f91fb88..000000000000 --- a/_data/engine-cli/docker_service_rm.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker service rm -aliases: remove -short: Remove one or more services -long: Remove one or more services -usage: docker service rm SERVICE [SERVICE...] -pname: docker service -plink: docker_service.yaml diff --git a/_data/engine-cli/docker_service_scale.yaml b/_data/engine-cli/docker_service_scale.yaml deleted file mode 100644 index aa546312259a..000000000000 --- a/_data/engine-cli/docker_service_scale.yaml +++ /dev/null @@ -1,6 +0,0 @@ -command: docker service scale -short: Scale one or multiple replicated services -long: Scale one or multiple replicated services -usage: docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...] -pname: docker service -plink: docker_service.yaml diff --git a/_data/engine-cli/docker_service_update.yaml b/_data/engine-cli/docker_service_update.yaml deleted file mode 100644 index a33e09918864..000000000000 --- a/_data/engine-cli/docker_service_update.yaml +++ /dev/null @@ -1,162 +0,0 @@ -command: docker service update -short: Update a service -long: Update a service -usage: docker service update [OPTIONS] SERVICE -pname: docker service -plink: docker_service.yaml -options: -- option: args - description: Service command args -- option: constraint-add - default_value: '[]' - description: Add or update a placement constraint -- option: constraint-rm - default_value: '[]' - description: Remove a constraint -- option: container-label-add - default_value: '[]' - description: Add or update a container label -- option: container-label-rm - default_value: '[]' - description: Remove a container label by its key -- option: dns-add - default_value: '[]' - description: Add or update a custom DNS server -- option: dns-option-add - default_value: '[]' - description: Add or update a DNS option -- option: dns-option-rm - default_value: '[]' - description: Remove a DNS option -- option: dns-rm - default_value: '[]' - description: Remove a custom DNS server -- option: dns-search-add - default_value: '[]' - description: Add or update a custom DNS search domain -- option: dns-search-rm - default_value: '[]' - description: Remove a DNS search domain -- option: endpoint-mode - description: Endpoint mode (vip or dnsrr) -- option: env-add - default_value: '[]' - description: Add or update an environment variable -- option: env-rm - default_value: '[]' - description: Remove an environment variable -- option: force - default_value: "false" - description: Force update even if no changes require it -- option: group-add - default_value: '[]' - description: Add an additional supplementary user group to the container -- option: group-rm - default_value: '[]' - description: | - Remove a previously added supplementary user group from the container -- option: health-cmd - description: Command to run to check health -- option: health-interval - description: Time between running the check (ns|us|ms|s|m|h) -- option: health-retries - default_value: "0" - description: Consecutive failures needed to report unhealthy -- option: health-timeout - description: Maximum time to allow one check to run (ns|us|ms|s|m|h) -- option: host-add - default_value: '[]' - description: Add or update a custom host-to-IP mapping (host:ip) -- option: host-rm - default_value: '[]' - description: Remove a custom host-to-IP mapping (host:ip) -- option: hostname - description: Container hostname -- option: image - description: Service image tag -- option: label-add - default_value: '[]' - description: Add or update a service label -- option: label-rm - default_value: '[]' - description: Remove a label by its key -- option: limit-cpu - default_value: "0.000" - description: Limit CPUs -- option: limit-memory - default_value: 0 B - description: Limit Memory -- option: log-driver - description: Logging driver for service -- option: log-opt - default_value: '[]' - description: Logging driver options -- option: mount-add - description: Add or update a mount on a service -- option: mount-rm - default_value: '[]' - description: Remove a mount by its target path -- option: no-healthcheck - default_value: "false" - description: Disable any container-specified HEALTHCHECK -- option: publish-add - description: Add or update a published port -- option: publish-rm - description: Remove a published port by its target port -- option: replicas - description: Number of tasks -- option: reserve-cpu - default_value: "0.000" - description: Reserve CPUs -- option: reserve-memory - default_value: 0 B - description: Reserve Memory -- option: restart-condition - description: Restart when condition is met (none, on-failure, or any) -- option: restart-delay - description: Delay between restart attempts (ns|us|ms|s|m|h) -- option: restart-max-attempts - description: Maximum number of restarts before giving up -- option: restart-window - description: Window used to evaluate the restart policy (ns|us|ms|s|m|h) -- option: rollback - default_value: "false" - description: Rollback to previous specification -- option: secret-add - description: Add or update a secret on a service -- option: secret-rm - default_value: '[]' - description: Remove a secret -- option: stop-grace-period - description: | - Time to wait before force killing a container (ns|us|ms|s|m|h) -- option: tty - shorthand: t - default_value: "false" - description: Allocate a pseudo-TTY -- option: update-delay - default_value: "0" - description: Delay between updates (ns|us|ms|s|m|h) (default 0s) -- option: update-failure-action - default_value: pause - description: Action on update failure (pause|continue) -- option: update-max-failure-ratio - default_value: "0" - description: Failure rate to tolerate during an update -- option: update-monitor - default_value: "0" - description: | - Duration after each task update to monitor for failure (ns|us|ms|s|m|h) (default 0s) -- option: update-parallelism - default_value: "1" - description: | - Maximum number of tasks updated simultaneously (0 to update all at once) -- option: user - shorthand: u - description: 'Username or UID (format: [:])' -- option: with-registry-auth - default_value: "false" - description: Send registry authentication details to swarm agents -- option: workdir - shorthand: w - description: Working directory inside the container diff --git a/_data/engine-cli/docker_stack.yaml b/_data/engine-cli/docker_stack.yaml deleted file mode 100644 index 59f04a610d86..000000000000 --- a/_data/engine-cli/docker_stack.yaml +++ /dev/null @@ -1,18 +0,0 @@ -command: docker stack -short: Manage Docker stacks -long: Manage Docker stacks -usage: docker stack -pname: docker -plink: docker.yaml -cname: -- docker stack deploy -- docker stack ls -- docker stack ps -- docker stack rm -- docker stack services -clink: -- docker_stack_deploy.yaml -- docker_stack_ls.yaml -- docker_stack_ps.yaml -- docker_stack_rm.yaml -- docker_stack_services.yaml diff --git a/_data/engine-cli/docker_stack_deploy.yaml b/_data/engine-cli/docker_stack_deploy.yaml deleted file mode 100644 index 55453223f982..000000000000 --- a/_data/engine-cli/docker_stack_deploy.yaml +++ /dev/null @@ -1,16 +0,0 @@ -command: docker stack deploy -aliases: up -short: Deploy a new stack or update an existing stack -long: Deploy a new stack or update an existing stack -usage: docker stack deploy [OPTIONS] STACK -pname: docker stack -plink: docker_stack.yaml -options: -- option: bundle-file - description: Path to a Distributed Application Bundle file -- option: compose-file - shorthand: c - description: Path to a Compose file -- option: with-registry-auth - default_value: "false" - description: Send registry authentication details to Swarm agents diff --git a/_data/engine-cli/docker_stack_ls.yaml b/_data/engine-cli/docker_stack_ls.yaml deleted file mode 100644 index 6d55173033f7..000000000000 --- a/_data/engine-cli/docker_stack_ls.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker stack ls -aliases: list -short: List stacks -long: List stacks -usage: docker stack ls -pname: docker stack -plink: docker_stack.yaml diff --git a/_data/engine-cli/docker_stack_ps.yaml b/_data/engine-cli/docker_stack_ps.yaml deleted file mode 100644 index f11212a1bc57..000000000000 --- a/_data/engine-cli/docker_stack_ps.yaml +++ /dev/null @@ -1,16 +0,0 @@ -command: docker stack ps -short: List the tasks in the stack -long: List the tasks in the stack -usage: docker stack ps [OPTIONS] STACK -pname: docker stack -plink: docker_stack.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: no-resolve - default_value: "false" - description: Do not map IDs to Names -- option: no-trunc - default_value: "false" - description: Do not truncate output diff --git a/_data/engine-cli/docker_stack_rm.yaml b/_data/engine-cli/docker_stack_rm.yaml deleted file mode 100644 index 3ac9df3662ef..000000000000 --- a/_data/engine-cli/docker_stack_rm.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker stack rm -aliases: remove, down -short: Remove the stack -long: Remove the stack -usage: docker stack rm STACK -pname: docker stack -plink: docker_stack.yaml diff --git a/_data/engine-cli/docker_stack_services.yaml b/_data/engine-cli/docker_stack_services.yaml deleted file mode 100644 index 40f2462815d0..000000000000 --- a/_data/engine-cli/docker_stack_services.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker stack services -short: List the services in the stack -long: List the services in the stack -usage: docker stack services [OPTIONS] STACK -pname: docker stack -plink: docker_stack.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: quiet - shorthand: q - default_value: "false" - description: Only display IDs diff --git a/_data/engine-cli/docker_start.yaml b/_data/engine-cli/docker_start.yaml deleted file mode 100644 index 11b3588275d0..000000000000 --- a/_data/engine-cli/docker_start.yaml +++ /dev/null @@ -1,22 +0,0 @@ -command: docker start -short: Start one or more stopped containers -long: | - Alias for `docker container start`. -usage: docker start [OPTIONS] CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: attach - shorthand: a - default_value: "false" - description: Attach STDOUT/STDERR and forward signals -- option: checkpoint - description: Restore from this checkpoint -- option: checkpoint-dir - description: Use a custom checkpoint storage directory -- option: detach-keys - description: Override the key sequence for detaching a container -- option: interactive - shorthand: i - default_value: "false" - description: Attach container's STDIN diff --git a/_data/engine-cli/docker_stats.yaml b/_data/engine-cli/docker_stats.yaml deleted file mode 100644 index 84000076a39c..000000000000 --- a/_data/engine-cli/docker_stats.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker stats -short: Display a live stream of container(s) resource usage statistics -long: | - Alias for `docker container stats`. -usage: docker stats [OPTIONS] [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Show all containers (default shows just running) -- option: format - description: Pretty-print images using a Go template -- option: no-stream - default_value: "false" - description: Disable streaming stats and only pull the first result diff --git a/_data/engine-cli/docker_stop.yaml b/_data/engine-cli/docker_stop.yaml deleted file mode 100644 index 0f0dcde4c9fa..000000000000 --- a/_data/engine-cli/docker_stop.yaml +++ /dev/null @@ -1,12 +0,0 @@ -command: docker stop -short: Stop one or more running containers -long: | - Alias for `docker container stop`. -usage: docker stop [OPTIONS] CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: time - shorthand: t - default_value: "10" - description: Seconds to wait for stop before killing it diff --git a/_data/engine-cli/docker_swarm.yaml b/_data/engine-cli/docker_swarm.yaml deleted file mode 100644 index b8935bd23090..000000000000 --- a/_data/engine-cli/docker_swarm.yaml +++ /dev/null @@ -1,22 +0,0 @@ -command: docker swarm -short: Manage Swarm -long: Manage Swarm -usage: docker swarm -pname: docker -plink: docker.yaml -cname: -- docker swarm init -- docker swarm join -- docker swarm join-token -- docker swarm leave -- docker swarm unlock -- docker swarm unlock-key -- docker swarm update -clink: -- docker_swarm_init.yaml -- docker_swarm_join.yaml -- docker_swarm_join-token.yaml -- docker_swarm_leave.yaml -- docker_swarm_unlock.yaml -- docker_swarm_unlock-key.yaml -- docker_swarm_update.yaml diff --git a/_data/engine-cli/docker_swarm_init.yaml b/_data/engine-cli/docker_swarm_init.yaml deleted file mode 100644 index 80833bf1d230..000000000000 --- a/_data/engine-cli/docker_swarm_init.yaml +++ /dev/null @@ -1,39 +0,0 @@ -command: docker swarm init -short: Initialize a swarm -long: Initialize a swarm -usage: docker swarm init [OPTIONS] -pname: docker swarm -plink: docker_swarm.yaml -options: -- option: advertise-addr - description: 'Advertised address (format: [:port])' -- option: autolock - default_value: "false" - description: | - Enable manager autolocking (requiring an unlock key to start a stopped manager) -- option: availability - default_value: active - description: Availability of the node (active/pause/drain) -- option: cert-expiry - default_value: 2160h0m0s - description: Validity period for node certificates (ns|us|ms|s|m|h) -- option: dispatcher-heartbeat - default_value: 5s - description: Dispatcher heartbeat period (ns|us|ms|s|m|h) -- option: external-ca - description: Specifications of one or more certificate signing endpoints -- option: force-new-cluster - default_value: "false" - description: Force create a new cluster from current state -- option: listen-addr - default_value: 0.0.0.0:2377 - description: 'Listen address (format: [:port])' -- option: max-snapshots - default_value: "0" - description: Number of additional Raft snapshots to retain -- option: snapshot-interval - default_value: "10000" - description: Number of log entries between Raft snapshots -- option: task-history-limit - default_value: "5" - description: Task history retention limit diff --git a/_data/engine-cli/docker_swarm_join-token.yaml b/_data/engine-cli/docker_swarm_join-token.yaml deleted file mode 100644 index a334eb1dd792..000000000000 --- a/_data/engine-cli/docker_swarm_join-token.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker swarm join-token -short: Manage join tokens -long: Manage join tokens -usage: docker swarm join-token [OPTIONS] (worker|manager) -pname: docker swarm -plink: docker_swarm.yaml -options: -- option: quiet - shorthand: q - default_value: "false" - description: Only display token -- option: rotate - default_value: "false" - description: Rotate join token diff --git a/_data/engine-cli/docker_swarm_join.yaml b/_data/engine-cli/docker_swarm_join.yaml deleted file mode 100644 index 22e5781368b5..000000000000 --- a/_data/engine-cli/docker_swarm_join.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker swarm join -short: Join a swarm as a node and/or manager -long: Join a swarm as a node and/or manager -usage: docker swarm join [OPTIONS] HOST:PORT -pname: docker swarm -plink: docker_swarm.yaml -options: -- option: advertise-addr - description: 'Advertised address (format: [:port])' -- option: availability - default_value: active - description: Availability of the node (active/pause/drain) -- option: listen-addr - default_value: 0.0.0.0:2377 - description: 'Listen address (format: [:port])' -- option: token - description: Token for entry into the swarm diff --git a/_data/engine-cli/docker_swarm_leave.yaml b/_data/engine-cli/docker_swarm_leave.yaml deleted file mode 100644 index d22cbd21b5e4..000000000000 --- a/_data/engine-cli/docker_swarm_leave.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker swarm leave -short: Leave the swarm -long: Leave the swarm -usage: docker swarm leave [OPTIONS] -pname: docker swarm -plink: docker_swarm.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force this node to leave the swarm, ignoring warnings diff --git a/_data/engine-cli/docker_swarm_unlock-key.yaml b/_data/engine-cli/docker_swarm_unlock-key.yaml deleted file mode 100644 index a5534d60a8f7..000000000000 --- a/_data/engine-cli/docker_swarm_unlock-key.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker swarm unlock-key -short: Manage the unlock key -long: Manage the unlock key -usage: docker swarm unlock-key [OPTIONS] -pname: docker swarm -plink: docker_swarm.yaml -options: -- option: quiet - shorthand: q - default_value: "false" - description: Only display token -- option: rotate - default_value: "false" - description: Rotate unlock key diff --git a/_data/engine-cli/docker_swarm_unlock.yaml b/_data/engine-cli/docker_swarm_unlock.yaml deleted file mode 100644 index 5155a4961b4f..000000000000 --- a/_data/engine-cli/docker_swarm_unlock.yaml +++ /dev/null @@ -1,6 +0,0 @@ -command: docker swarm unlock -short: Unlock swarm -long: Unlock swarm -usage: docker swarm unlock -pname: docker swarm -plink: docker_swarm.yaml diff --git a/_data/engine-cli/docker_swarm_update.yaml b/_data/engine-cli/docker_swarm_update.yaml deleted file mode 100644 index 0380cb850e3f..000000000000 --- a/_data/engine-cli/docker_swarm_update.yaml +++ /dev/null @@ -1,27 +0,0 @@ -command: docker swarm update -short: Update the swarm -long: Update the swarm -usage: docker swarm update [OPTIONS] -pname: docker swarm -plink: docker_swarm.yaml -options: -- option: autolock - default_value: "false" - description: Change manager autolocking setting (true|false) -- option: cert-expiry - default_value: 2160h0m0s - description: Validity period for node certificates (ns|us|ms|s|m|h) -- option: dispatcher-heartbeat - default_value: 5s - description: Dispatcher heartbeat period (ns|us|ms|s|m|h) -- option: external-ca - description: Specifications of one or more certificate signing endpoints -- option: max-snapshots - default_value: "0" - description: Number of additional Raft snapshots to retain -- option: snapshot-interval - default_value: "10000" - description: Number of log entries between Raft snapshots -- option: task-history-limit - default_value: "5" - description: Task history retention limit diff --git a/_data/engine-cli/docker_system.yaml b/_data/engine-cli/docker_system.yaml deleted file mode 100644 index 9b3a9fa7247e..000000000000 --- a/_data/engine-cli/docker_system.yaml +++ /dev/null @@ -1,16 +0,0 @@ -command: docker system -short: Manage Docker -long: Manage Docker -usage: docker system -pname: docker -plink: docker.yaml -cname: -- docker system df -- docker system events -- docker system info -- docker system prune -clink: -- docker_system_df.yaml -- docker_system_events.yaml -- docker_system_info.yaml -- docker_system_prune.yaml diff --git a/_data/engine-cli/docker_system_df.yaml b/_data/engine-cli/docker_system_df.yaml deleted file mode 100644 index bef13871a4b8..000000000000 --- a/_data/engine-cli/docker_system_df.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker system df -short: Show docker disk usage -long: Show docker disk usage -usage: docker system df [OPTIONS] -pname: docker system -plink: docker_system.yaml -options: -- option: verbose - shorthand: v - default_value: "false" - description: Show detailed information on space usage diff --git a/_data/engine-cli/docker_system_events.yaml b/_data/engine-cli/docker_system_events.yaml deleted file mode 100644 index dba0ddafa7fc..000000000000 --- a/_data/engine-cli/docker_system_events.yaml +++ /dev/null @@ -1,150 +0,0 @@ -command: docker system events -short: Get real time events from the server -long: |+ - Get event information from the Docker daemon. Information can include historical - information and real-time information. - - Docker containers will report the following events: - - attach, commit, copy, create, destroy, detach, die, exec_create, exec_detach, exec_start, export, kill, oom, pause, rename, resize, restart, start, stop, top, unpause, update - - Docker images report the following events: - - delete, import, load, pull, push, save, tag, untag - - Docker volumes report the following events: - - create, mount, unmount, destroy - - Docker networks report the following events: - - create, connect, disconnect, destroy - - # OPTIONS - - The `--since` and `--until` parameters can be Unix timestamps, date formatted - timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed - relative to the client machine's time. If you do not provide the `--since` option, - the command returns only new and/or live events. Supported formats for date - formatted time stamps include RFC3339Nano, RFC3339, `2006-01-02T15:04:05`, - `2006-01-02T15:04:05.999999999`, `2006-01-02Z07:00`, and `2006-01-02`. The local - timezone on the client will be used if you do not provide either a `Z` or a - `+-00:00` timezone offset at the end of the timestamp. When providing Unix - timestamps enter seconds[.nanoseconds], where seconds is the number of seconds - that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap - seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a - fraction of a second no more than nine digits long. - - # EXAMPLES - - ## Listening for Docker events - - After running docker events a container 786d698004576 is started and stopped - (The container name has been shortened in the output below): - - # docker events - 2015-01-28T20:21:31.000000000-08:00 59211849bc10: (from whenry/testimage:latest) start - 2015-01-28T20:21:31.000000000-08:00 59211849bc10: (from whenry/testimage:latest) die - 2015-01-28T20:21:32.000000000-08:00 59211849bc10: (from whenry/testimage:latest) stop - - ## Listening for events since a given date - Again the output container IDs have been shortened for the purposes of this document: - - # docker events --since '2015-01-28' - 2015-01-28T20:25:38.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) create - 2015-01-28T20:25:38.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) start - 2015-01-28T20:25:39.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) create - 2015-01-28T20:25:39.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) start - 2015-01-28T20:25:40.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) die - 2015-01-28T20:25:42.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) stop - 2015-01-28T20:25:45.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) start - 2015-01-28T20:25:45.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) die - 2015-01-28T20:25:46.000000000-08:00 c21f6c22ba27: (from whenry/testimage:latest) stop - - The following example outputs all events that were generated in the last 3 minutes, - relative to the current time on the client machine: - - # docker events --since '3m' - 2015-05-12T11:51:30.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) die - 2015-05-12T15:52:12.999999999Z07:00 4386fb97867d: (from ubuntu-1:14.04) stop - 2015-05-12T15:53:45.999999999Z07:00 7805c1d35632: (from redis:2.8) die - 2015-05-12T15:54:03.999999999Z07:00 7805c1d35632: (from redis:2.8) stop - - If you do not provide the --since option, the command returns only new and/or - live events. - - ## Format - - If a format (`--format`) is specified, the given template will be executed - instead of the default format. Go's **text/template** package describes all the - details of the format. - - # docker events --filter 'type=container' --format 'Type={{.Type}} Status={{.Status}} ID={{.ID}}' - Type=container Status=create ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 - Type=container Status=attach ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 - Type=container Status=start ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 - Type=container Status=resize ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 - Type=container Status=die ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 - Type=container Status=destroy ID=2ee349dac409e97974ce8d01b70d250b85e0ba8189299c126a87812311951e26 - - If a format is set to `{{json .}}`, the events are streamed as valid JSON - Lines. For information about JSON Lines, please refer to http://jsonlines.org/ . - - # docker events --format '{{json .}}' - {"status":"create","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4.. - {"status":"attach","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4.. - {"Type":"network","Action":"connect","Actor":{"ID":"1b50a5bf755f6021dfa78e.. - {"status":"start","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f42.. - {"status":"resize","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4.. - - ## Filters - - $ docker events --filter 'event=stop' - 2014-05-10T17:42:14.999999999Z07:00 container stop 4386fb97867d (image=ubuntu-1:14.04) - 2014-09-03T17:42:14.999999999Z07:00 container stop 7805c1d35632 (image=redis:2.8) - - $ docker events --filter 'image=ubuntu-1:14.04' - 2014-05-10T17:42:14.999999999Z07:00 container start 4386fb97867d (image=ubuntu-1:14.04) - 2014-05-10T17:42:14.999999999Z07:00 container die 4386fb97867d (image=ubuntu-1:14.04) - 2014-05-10T17:42:14.999999999Z07:00 container stop 4386fb97867d (image=ubuntu-1:14.04) - - $ docker events --filter 'container=7805c1d35632' - 2014-05-10T17:42:14.999999999Z07:00 container die 7805c1d35632 (image=redis:2.8) - 2014-09-03T15:49:29.999999999Z07:00 container stop 7805c1d35632 (image= redis:2.8) - - $ docker events --filter 'container=7805c1d35632' --filter 'container=4386fb97867d' - 2014-09-03T15:49:29.999999999Z07:00 container die 4386fb97867d (image=ubuntu-1:14.04) - 2014-05-10T17:42:14.999999999Z07:00 container stop 4386fb97867d (image=ubuntu-1:14.04) - 2014-05-10T17:42:14.999999999Z07:00 container die 7805c1d35632 (image=redis:2.8) - 2014-09-03T15:49:29.999999999Z07:00 container stop 7805c1d35632 (image=redis:2.8) - - $ docker events --filter 'container=7805c1d35632' --filter 'event=stop' - 2014-09-03T15:49:29.999999999Z07:00 container stop 7805c1d35632 (image=redis:2.8) - - $ docker events --filter 'type=volume' - 2015-12-23T21:05:28.136212689Z volume create test-event-volume-local (driver=local) - 2015-12-23T21:05:28.383462717Z volume mount test-event-volume-local (read/write=true, container=562fe10671e9273da25eed36cdce26159085ac7ee6707105fd534866340a5025, destination=/foo, driver=local, propagation=rprivate) - 2015-12-23T21:05:28.650314265Z volume unmount test-event-volume-local (container=562fe10671e9273da25eed36cdce26159085ac7ee6707105fd534866340a5025, driver=local) - 2015-12-23T21:05:28.716218405Z volume destroy test-event-volume-local (driver=local) - - $ docker events --filter 'type=network' - 2015-12-23T21:38:24.705709133Z network create 8b111217944ba0ba844a65b13efcd57dc494932ee2527577758f939315ba2c5b (name=test-event-network-local, type=bridge) - 2015-12-23T21:38:25.119625123Z network connect 8b111217944ba0ba844a65b13efcd57dc494932ee2527577758f939315ba2c5b (name=test-event-network-local, container=b4be644031a3d90b400f88ab3d4bdf4dc23adb250e696b6328b85441abe2c54e, type=bridge) - - $ docker events --filter 'type=plugin' (experimental) - 2016-07-25T17:30:14.825557616Z plugin pull ec7b87f2ce84330fe076e666f17dfc049d2d7ae0b8190763de94e1f2d105993f (name=tiborvass/sample-volume-plugin:latest) - 2016-07-25T17:30:14.888127370Z plugin enable ec7b87f2ce84330fe076e666f17dfc049d2d7ae0b8190763de94e1f2d105993f (name=tiborvass/sample-volume-plugin:latest) - -usage: docker system events [OPTIONS] -pname: docker system -plink: docker_system.yaml -options: -- option: filter - shorthand: f - description: Filter output based on conditions provided -- option: format - description: Format the output using the given Go template -- option: since - description: Show all events created since timestamp -- option: until - description: Stream events until this timestamp diff --git a/_data/engine-cli/docker_system_info.yaml b/_data/engine-cli/docker_system_info.yaml deleted file mode 100644 index 14d83c2e4d86..000000000000 --- a/_data/engine-cli/docker_system_info.yaml +++ /dev/null @@ -1,72 +0,0 @@ -command: docker system info -short: Display system-wide information -long: "This command displays system wide information regarding the Docker installation.\nInformation - displayed includes the kernel version, number of containers and images.\nThe number - of images shown is the number of unique images. The same image tagged\nunder different - names is counted only once.\n\nIf a format is specified, the given template will - be executed instead of the\ndefault format. Go's **text/template** package\ndescribes - all the details of the format.\n\nDepending on the storage driver in use, additional - information can be shown, such\nas pool name, data file, metadata file, data space - used, total data space, metadata\nspace used, and total metadata space.\n\nThe data - file is where the images are stored and the metadata file is where the\nmeta data - regarding those images are stored. When run for the first time Docker\nallocates - a certain amount of data space and meta data space from the space\navailable on - the volume where `/var/lib/docker` is mounted.\n\n# EXAMPLES\n\n## Display Docker - system information\n\nHere is a sample output for a daemon running on Ubuntu, using - the overlay2\nstorage driver:\n\n $ docker -D info\n Containers: 14\n Running: - 3\n Paused: 1\n Stopped: 10\n Images: 52\n Server Version: 1.13.0\n - \ Storage Driver: overlay2\n Backing Filesystem: extfs\n Supports d_type: - true\n Native Overlay Diff: false\n Logging Driver: json-file\n Cgroup - Driver: cgroupfs\n Plugins:\n Volume: local\n Network: bridge host macvlan - null overlay\n Swarm: active\n NodeID: rdjq45w1op418waxlairloqbm\n Is - Manager: true\n ClusterID: te8kdyw33n36fqiz74bfjeixd\n Managers: 1\n Nodes: - 2\n Orchestration:\n Task History Retention Limit: 5\n Raft:\n Snapshot - Interval: 10000\n Number of Old Snapshots to Retain: 0\n Heartbeat Tick: - 1\n Election Tick: 3\n Dispatcher:\n Heartbeat Period: 5 seconds\n - \ CA Configuration:\n Expiry Duration: 3 months\n Node Address: 172.16.66.128 - 172.16.66.129\n Manager Addresses:\n 172.16.66.128:2477\n Runtimes: - runc\n Default Runtime: runc\n Init Binary: docker-init\n containerd version: - 8517738ba4b82aff5662c97ca4627e7e4d03b531\n runc version: ac031b5bf1cc92239461125f4c1ffb760522bbf2\n - \ init version: N/A (expected: v0.13.0)\n Security Options:\n apparmor\n - \ seccomp\n Profile: default\n Kernel Version: 4.4.0-31-generic\n Operating - System: Ubuntu 16.04.1 LTS\n OSType: linux\n Architecture: x86_64\n CPUs: - 2\n Total Memory: 1.937 GiB\n Name: ubuntu\n ID: H52R:7ZR6:EIIA:76JG:ORIY:BVKF:GSFU:HNPG:B5MK:APSC:SZ3Q:N326\n - \ Docker Root Dir: /var/lib/docker\n Debug Mode (client): true\n Debug Mode - (server): true\n File Descriptors: 30\n Goroutines: 123\n System Time: - 2016-11-12T17:24:37.955404361-08:00\n EventsListeners: 0\n Http Proxy: http://test:test@proxy.example.com:8080\n - \ Https Proxy: https://test:test@proxy.example.com:8080\n No Proxy: localhost,127.0.0.1,docker-registry.somecorporation.com\n - \ Registry: https://index.docker.io/v1/\n WARNING: No swap limit support\n - \ Labels:\n storage=ssd\n staging=true\n Experimental: false\n Insecure - Registries:\n 127.0.0.0/8\n Registry Mirrors:\n http://192.168.1.2/\n - \ http://registry-mirror.example.com:5000/\n Live Restore Enabled: false\n\n\n\nThe - global `-D` option tells all `docker` commands to output debug information.\n\nThe - example below shows the output for a daemon running on Red Hat Enterprise Linux,\nusing - the devicemapper storage driver. As can be seen in the output, additional\ninformation - about the devicemapper storage driver is shown:\n\n $ docker info\n Containers: - 14\n Running: 3\n Paused: 1\n Stopped: 10\n Untagged Images: 52\n - \ Server Version: 1.10.3\n Storage Driver: devicemapper\n Pool Name: docker-202:2-25583803-pool\n - \ Pool Blocksize: 65.54 kB\n Base Device Size: 10.74 GB\n Backing Filesystem: - xfs\n Data file: /dev/loop0\n Metadata file: /dev/loop1\n Data Space - Used: 1.68 GB\n Data Space Total: 107.4 GB\n Data Space Available: 7.548 - GB\n Metadata Space Used: 2.322 MB\n Metadata Space Total: 2.147 GB\n Metadata - Space Available: 2.145 GB\n Udev Sync Supported: true\n Deferred Removal - Enabled: false\n Deferred Deletion Enabled: false\n Deferred Deleted Device - Count: 0\n Data loop file: /var/lib/docker/devicemapper/devicemapper/data\n - \ Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata\n Library - Version: 1.02.107-RHEL7 (2015-12-01)\n Execution Driver: native-0.2\n Logging - Driver: json-file\n Plugins:\n Volume: local\n Network: null host bridge\n - \ Kernel Version: 3.10.0-327.el7.x86_64\n Operating System: Red Hat Enterprise - Linux Server 7.2 (Maipo)\n OSType: linux\n Architecture: x86_64\n CPUs: - 1\n Total Memory: 991.7 MiB\n Name: ip-172-30-0-91.ec2.internal\n ID: I54V:OLXT:HVMM:TPKO:JPHQ:CQCD:JNLC:O3BZ:4ZVJ:43XJ:PFHZ:6N2S\n - \ Docker Root Dir: /var/lib/docker\n Debug mode (client): false\n Debug - mode (server): false\n Username: gordontheturtle\n Registry: https://index.docker.io/v1/\n - \ Insecure registries:\n myinsecurehost:5000\n 127.0.0.0/8\n\nYou can - also specify the output format:\n\n $ docker info --format '{{json .}}'\n\t{\"ID\":\"I54V:OLXT:HVMM:TPKO:JPHQ:CQCD:JNLC:O3BZ:4ZVJ:43XJ:PFHZ:6N2S\",\"Containers\":14, - ...}\n" -usage: docker system info [OPTIONS] -pname: docker system -plink: docker_system.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_system_prune.yaml b/_data/engine-cli/docker_system_prune.yaml deleted file mode 100644 index 983c74bd81aa..000000000000 --- a/_data/engine-cli/docker_system_prune.yaml +++ /dev/null @@ -1,17 +0,0 @@ -command: docker system prune -short: Remove unused data -long: Remove unused data -usage: docker system prune [OPTIONS] -pname: docker system -plink: docker_system.yaml -options: -- option: all - shorthand: a - default_value: "false" - description: Remove all unused images not just dangling ones -- option: filter - description: Provide filter values (e.g. 'until=') -- option: force - shorthand: f - default_value: "false" - description: Do not prompt for confirmation diff --git a/_data/engine-cli/docker_tag.yaml b/_data/engine-cli/docker_tag.yaml deleted file mode 100644 index c7449f7467be..000000000000 --- a/_data/engine-cli/docker_tag.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker tag -short: Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE -long: | - Alias for `docker image tag`. -usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_top.yaml b/_data/engine-cli/docker_top.yaml deleted file mode 100644 index c2fcf45fb694..000000000000 --- a/_data/engine-cli/docker_top.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker top -short: Display the running processes of a container -long: | - Alias for `docker container top`. -usage: docker top CONTAINER [ps OPTIONS] -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_unpause.yaml b/_data/engine-cli/docker_unpause.yaml deleted file mode 100644 index 459f00b96590..000000000000 --- a/_data/engine-cli/docker_unpause.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker unpause -short: Unpause all processes within one or more containers -long: | - Alias for `docker container unpause`. -usage: docker unpause CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml diff --git a/_data/engine-cli/docker_update.yaml b/_data/engine-cli/docker_update.yaml deleted file mode 100644 index 2c5246d032f8..000000000000 --- a/_data/engine-cli/docker_update.yaml +++ /dev/null @@ -1,44 +0,0 @@ -command: docker update -short: Update configuration of one or more containers -long: | - Alias for `docker container update`. -usage: docker update [OPTIONS] CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml -options: -- option: blkio-weight - default_value: "0" - description: | - Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) -- option: cpu-period - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) period -- option: cpu-quota - default_value: "0" - description: Limit CPU CFS (Completely Fair Scheduler) quota -- option: cpu-rt-period - default_value: "0" - description: Limit the CPU real-time period in microseconds -- option: cpu-rt-runtime - default_value: "0" - description: Limit the CPU real-time runtime in microseconds -- option: cpu-shares - shorthand: c - default_value: "0" - description: CPU shares (relative weight) -- option: cpuset-cpus - description: CPUs in which to allow execution (0-3, 0,1) -- option: cpuset-mems - description: MEMs in which to allow execution (0-3, 0,1) -- option: kernel-memory - description: Kernel memory limit -- option: memory - shorthand: m - description: Memory limit -- option: memory-reservation - description: Memory soft limit -- option: memory-swap - description: | - Swap limit equal to memory plus swap: '-1' to enable unlimited swap -- option: restart - description: Restart policy to apply when a container exits diff --git a/_data/engine-cli/docker_version.yaml b/_data/engine-cli/docker_version.yaml deleted file mode 100644 index 61451ec84d29..000000000000 --- a/_data/engine-cli/docker_version.yaml +++ /dev/null @@ -1,21 +0,0 @@ -command: docker version -short: Show the Docker version information -long: "This command displays version information for both the Docker client and \ndaemon. - \n\n# EXAMPLES\n\n## Display Docker version information\n\nThe default output:\n\n - \ $ docker version\n\tClient:\n\t Version: 1.8.0\n\t API version: 1.20\n\t - Go version: go1.4.2\n\t Git commit: f5bae0a\n\t Built: Tue Jun 23 17:56:00 - UTC 2015\n\t OS/Arch: linux/amd64\n\n\tServer:\n\t Version: 1.8.0\n\t - API version: 1.20\n\t Go version: go1.4.2\n\t Git commit: f5bae0a\n\t Built: - \ Tue Jun 23 17:56:00 UTC 2015\n\t OS/Arch: linux/amd64\n\nGet server - version:\n\n $ docker version --format '{{.Server.Version}}'\n\t1.8.0\n\nDump - raw data:\n\nTo view all available fields, you can use the format `{{json .}}`.\n\n - \ $ docker version --format '{{json .}}'\n {\"Client\":{\"Version\":\"1.8.0\",\"ApiVersion\":\"1.20\",\"GitCommit\":\"f5bae0a\",\"GoVersion\":\"go1.4.2\",\"Os\":\"linux\",\"Arch\":\"amd64\",\"BuildTime\":\"Tue - Jun 23 17:56:00 UTC 2015\"},\"ServerOK\":true,\"Server\":{\"Version\":\"1.8.0\",\"ApiVersion\":\"1.20\",\"GitCommit\":\"f5bae0a\",\"GoVersion\":\"go1.4.2\",\"Os\":\"linux\",\"Arch\":\"amd64\",\"KernelVersion\":\"3.13.2-gentoo\",\"BuildTime\":\"Tue - Jun 23 17:56:00 UTC 2015\"}}\n" -usage: docker version [OPTIONS] -pname: docker -plink: docker.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_volume.yaml b/_data/engine-cli/docker_volume.yaml deleted file mode 100644 index 62452db862ad..000000000000 --- a/_data/engine-cli/docker_volume.yaml +++ /dev/null @@ -1,32 +0,0 @@ -command: docker volume -short: Manage volumes -long: | - The `docker volume` command has subcommands for managing data volumes. A data - volume is a specially-designated directory that by-passes storage driver - management. - - Data volumes persist data independent of a container's life cycle. When you - delete a container, the Docker daemon does not delete any data volumes. You can - share volumes across multiple containers. Moreover, you can share data volumes - with other computing resources in your system. - - To see help for a subcommand, use: - - docker volume COMMAND --help - - For full details on using docker volume visit Docker's online documentation. -usage: docker volume COMMAND -pname: docker -plink: docker.yaml -cname: -- docker volume create -- docker volume inspect -- docker volume ls -- docker volume prune -- docker volume rm -clink: -- docker_volume_create.yaml -- docker_volume_inspect.yaml -- docker_volume_ls.yaml -- docker_volume_prune.yaml -- docker_volume_rm.yaml diff --git a/_data/engine-cli/docker_volume_create.yaml b/_data/engine-cli/docker_volume_create.yaml deleted file mode 100644 index 4e813009897e..000000000000 --- a/_data/engine-cli/docker_volume_create.yaml +++ /dev/null @@ -1,55 +0,0 @@ -command: docker volume create -short: Create a volume -long: | - Creates a new volume that containers can consume and store data in. If a name - is not specified, Docker generates a random name. You create a volume and then - configure the container to use it, for example: - - $ docker volume create hello - hello - $ docker run -d -v hello:/world busybox ls /world - - The mount is created inside the container's `/src` directory. Docker doesn't - not support relative paths for mount points inside the container. - - Multiple containers can use the same volume in the same time period. This is - useful if two containers need access to shared data. For example, if one - container writes and the other reads the data. - - ## Driver specific options - - Some volume drivers may take options to customize the volume creation. Use the - `-o` or `--opt` flags to pass driver options: - - $ docker volume create --driver fake --opt tardis=blue --opt timey=wimey - - These options are passed directly to the volume driver. Options for different - volume drivers may do different things (or nothing at all). - - The built-in `local` driver on Windows does not support any options. - - The built-in `local` driver on Linux accepts options similar to the linux - `mount` command: - - $ docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 - - Another example: - - $ docker volume create --driver local --opt type=btrfs --opt device=/dev/sda2 -usage: docker volume create [OPTIONS] [VOLUME] -pname: docker volume -plink: docker_volume.yaml -options: -- option: driver - shorthand: d - default_value: local - description: Specify volume driver name -- option: label - default_value: '[]' - description: Set metadata for a volume -- option: name - description: Specify volume name -- option: opt - shorthand: o - default_value: map[] - description: Set driver specific options diff --git a/_data/engine-cli/docker_volume_inspect.yaml b/_data/engine-cli/docker_volume_inspect.yaml deleted file mode 100644 index 4ab9a7c847f3..000000000000 --- a/_data/engine-cli/docker_volume_inspect.yaml +++ /dev/null @@ -1,14 +0,0 @@ -command: docker volume inspect -short: Display detailed information on one or more volumes -long: | - Returns information about one or more volumes. By default, this command renders - all results in a JSON array. You can specify an alternate format to execute a - given template is executed for each result. Go's https://golang.org/pkg/text/template/ - package describes all the details of the format. -usage: docker volume inspect [OPTIONS] VOLUME [VOLUME...] -pname: docker volume -plink: docker_volume.yaml -options: -- option: format - shorthand: f - description: Format the output using the given Go template diff --git a/_data/engine-cli/docker_volume_ls.yaml b/_data/engine-cli/docker_volume_ls.yaml deleted file mode 100644 index 1db4629d3682..000000000000 --- a/_data/engine-cli/docker_volume_ls.yaml +++ /dev/null @@ -1,28 +0,0 @@ -command: docker volume ls -aliases: list -short: List volumes -long: | - Lists all the volumes Docker manages. You can filter using the `-f` or - `--filter` flag. The filtering format is a `key=value` pair. To specify - more than one filter, pass multiple flags (for example, - `--filter "foo=bar" --filter "bif=baz"`) - - The currently supported filters are: - - * `dangling` (boolean - `true` or `false`, `1` or `0`) - * `driver` (a volume driver's name) - * `label` (`label=` or `label==`) - * `name` (a volume's name) -usage: docker volume ls [OPTIONS] -pname: docker volume -plink: docker_volume.yaml -options: -- option: filter - shorthand: f - description: Provide filter values (e.g. 'dangling=true') -- option: format - description: Pretty-print volumes using a Go template -- option: quiet - shorthand: q - default_value: "false" - description: Only display volume names diff --git a/_data/engine-cli/docker_volume_prune.yaml b/_data/engine-cli/docker_volume_prune.yaml deleted file mode 100644 index e9facac49775..000000000000 --- a/_data/engine-cli/docker_volume_prune.yaml +++ /dev/null @@ -1,11 +0,0 @@ -command: docker volume prune -short: Remove all unused volumes -long: Remove all unused volumes -usage: docker volume prune [OPTIONS] -pname: docker volume -plink: docker_volume.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Do not prompt for confirmation diff --git a/_data/engine-cli/docker_volume_rm.yaml b/_data/engine-cli/docker_volume_rm.yaml deleted file mode 100644 index 832e2a90ae75..000000000000 --- a/_data/engine-cli/docker_volume_rm.yaml +++ /dev/null @@ -1,18 +0,0 @@ -command: docker volume rm -aliases: remove -short: Remove one or more volumes -long: |2 - - Remove one or more volumes. You cannot remove a volume that is in use by a container. -usage: docker volume rm [OPTIONS] VOLUME [VOLUME...] -pname: docker volume -plink: docker_volume.yaml -options: -- option: force - shorthand: f - default_value: "false" - description: Force the removal of one or more volumes -example: |2 - - $ docker volume rm hello - hello diff --git a/_data/engine-cli/docker_wait.yaml b/_data/engine-cli/docker_wait.yaml deleted file mode 100644 index 3cd44d1390f5..000000000000 --- a/_data/engine-cli/docker_wait.yaml +++ /dev/null @@ -1,7 +0,0 @@ -command: docker wait -short: Block until one or more containers stop, then print their exit codes -long: | - Alias for `docker container wait`. -usage: docker wait CONTAINER [CONTAINER...] -pname: docker -plink: docker.yaml diff --git a/_data/not_edited_here.yaml b/_data/not_edited_here.yaml deleted file mode 100644 index a59ffdb8b802..000000000000 --- a/_data/not_edited_here.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# Files and directories here are not edited in the docker.github.io repo. -# Instead, they are edited in the appropriate upstream repo and pulled -# into this repo periodically, or they are automatically generated. The intent -# is that if you submit a PR with changes to these files or directories, a CI -# job will fail in the PR, indicating that it should not be merged. THIS IS NOT -# YET IMPLEMENTED!! The PR reviewer should make sure no files here are in the PR. - -# If you need to edit these files or directories, submit a PR in the repo and -# directory listed in "source" below. - -# Make sure directories have the trailing slash, keep the list alphabetical - -overrides: -- path: /apidocs/ - description: "Auto-generated API docs for Docker Cloud, DTR, UCP. File an issue." - -- path: /engine/deprecated.md - description: Docker Engine deprecation reference - source: https://github.com/docker/docker/tree/1.13.x/docs/deprecated.md - -- path: /engine/extend/ - description: References for Docker Engine plugin system - source: https://github.com/docker/docker/tree/1.13.x/docs/extend/ - -- path: /engine/reference/ - description: Docker Engine CLI and API references - source: https://github.com/docker/docker/tree/1.13.x/docs/reference/ - -- path: /notary/reference/ - description: Reference docs for Docker Notary - source: https://github.com/docker/notary/tree/master/docs/reference/ - -- path: /registry/configuration/ - description: Reference docs for configuring Docker Registry - source: https://github.com/docker/distribution/tree/release/2.5/docs/configuration.md - -- path: /registry/spec/ - description: Docker Registry API references - source: https://github.com/docker/distribution/tree/release/2.5/docs/spec/ diff --git a/_data/redirects.csv b/_data/redirects.csv deleted file mode 100644 index 3894ab2f38f1..000000000000 --- a/_data/redirects.csv +++ /dev/null @@ -1,54 +0,0 @@ -/source,destination -/engine/quickstart/,/engine/getstarted/ -/engine/containers/,/engine/tutorials/ -/win/,/docker-for-windows/ -/mac/,/docker-for-mac/ -/linux/,/engine/ -/article-img/,/engine/article-img/ -/articles/,/engine/articles/ -/examples/,/engine/examples/ -/extend/,/engine/extend/ -/installation/,/engine/installation/ -/introduction/,/engine/introduction/ -/misc/,/engine/misc/ -/project/,/opensource/project/ -/reference/,/engine/reference/ -/security/,/engine/security/ -/static_files/,/engine/static_files/ -/userguide/,/engine/userguide/ -/en/latest/installation/,/engine/installation/ -/docker-hub-enterprise/install/,/docker-trusted-registry/install/ -/docker-io/builds/,/docker-hub/builds/ -/docker-trusted-registry/license/install-csengine.md,/docker-trusted-registry/install/install-csengine/ -/engine/articles/basics/,/engine/userguide/basics/ -/engine/project/set-up-git/,/opensource/project/set-up-git/ -/engine/reference/articles/basics.md,/engine/userguide/basics/ -/engine/userguide/dockerlinks/,/engine/userguide/networking/default_network/dockerlinks/ -/installation/,/engine/installation/ -/networking/,/engine/userguide/networking/ -/opensource/project/advanced-contributing/,/opensource/workflow/advanced-contributing/ -/opensource/project/create-pr/,/opensource/workflow/create-pr/ -/opensource/project/find-an-issue/,/opensource/workflow/find-an-issue/ -/opensource/project/get-help/,/opensource/get-help/ -/opensource/project/make-a-contribution/,/opensource/workflow/make-a-contribution/ -/opensource/project/review-pr/,/opensource/workflow/review-pr/ -/opensource/project/work-issue/,/opensource/workflow/work-issue/ -/opensource/workflow/doc-style/,/opensource/doc-style/ -/opensource/workflow/get-help/,/opensource/get-help/ -/opensource/workflow/set-up-dev-env/,/opensource/project/set-up-dev-env/ -/opensource/workflow/set-up-git/,/opensource/project/set-up-git/ -/opensource/workflow/test-and-docs/,/opensource/project/test-and-docs/ -/userguide/,/engine/userguide/ -/docker-trusted-registry/adminguide/upgrade.md,/docker-trusted-registry/install/upgrade/ -/docker-trusted-registry/quick-start/install.md,/docker-trusted-registry/install/ -/docker-trusted-registry/adminguide/docker-trusted-registry/install.md,/docker-trusted-registry/install/ -/v1.6/docker-hub/,/docker-hub/ -/v1.7/docker-hub/,/docker-hub/ -/v1.8/docker-hub/,/docker-hub/ -/v1.9/docker-hub/,/docker-hub/ -/v1.10/docker-hub/,/docker-hub/ -/v1.11/docker-hub/,/docker-hub/ -/login,https://cloud.docker.com/app/login -/bitbucket/use-docker-images-as-build-environments-in-bitbucket-pipelines-792298897.html,https://confluence.atlassian.com/bitbucket/use-docker-images-as-build-environments-in-bitbucket-pipelines-792298897.html -/blog/docker-data-science/,https://www.dataquest.io/blog/docker-data-science/ -/questions/19335444/how-to-assign-a-port-mapping-to-an-existing-docker-container,http://stackoverflow.com/questions/19335444/how-to-assign-a-port-mapping-to-an-existing-docker-container diff --git a/_data/staging-container/Dockerfile b/_data/staging-container/Dockerfile deleted file mode 100644 index a4e6b2307850..000000000000 --- a/_data/staging-container/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM starefossen/github-pages:onbuild - -VOLUME /usr/src/app - -EXPOSE 4000 - -CMD jekyll serve -d /_site --watch -H 0.0.0.0 -P 4000 \ No newline at end of file diff --git a/_data/toc.yaml b/_data/toc.yaml deleted file mode 100644 index b193e7ea02c3..000000000000 --- a/_data/toc.yaml +++ /dev/null @@ -1,1941 +0,0 @@ -horizontalnav: -- title: Guides - path: / - node: guides -- title: Product Manuals - path: /manuals/ - node: manuals -- title: Glossary - path: /glossary/ - node: glossary -- title: Reference - path: /reference/ - node: reference -- title: Samples - path: /samples/ - node: samples - -guides: -- sectiontitle: Get Docker - section: - - path: /engine/installation/ - title: Install Docker Engine - - path: /docker-for-mac/ - title: Docker for Mac - - path: /docker-for-windows/ - title: Docker for Windows - - sectiontitle: Docker for Linux - section: - - path: /engine/installation/linux/ubuntu/ - title: Ubuntu - - path: /engine/installation/linux/rhel/ - title: Red Hat Enterprise Linux - - path: /engine/installation/linux/centos/ - title: CentOS - - path: /engine/installation/linux/fedora/ - title: Fedora - - path: /engine/installation/linux/debian/ - title: Debian - - path: /engine/installation/linux/oracle/ - title: Oracle Linux - - path: /engine/installation/linux/suse/ - title: OpenSuSE and SuSE Linux Enterprise - - path: /engine/installation/linux/other/ - title: Other Linux distributions - - path: /engine/installation/binaries/ - title: Installation from binaries - - path: /engine/installation/linux/linux-postinstall/ - title: Optional post-installation steps - - sectiontitle: Docker for AWS - section: - - path: /docker-for-aws/why/ - title: Why Docker for AWS? - - path: /docker-for-aws/ - title: Setup & Prerequisites - - path: /docker-for-aws/iam-permissions/ - title: IAM Permissions - - path: /docker-for-aws/scaling/ - title: Scaling - - path: /docker-for-aws/upgrade/ - title: Upgrading - - path: /docker-for-aws/deploy/ - title: Deploy your app - - path: /docker-for-aws/faqs/ - title: FAQs - - path: /docker-for-aws/opensource/ - title: Open Source Licensing - - path: /docker-for-aws/release-notes/ - title: Release Notes - - sectiontitle: Docker for Azure - section: - - path: /docker-for-azure/why/ - title: Why Docker for Azure? - - path: /docker-for-azure/ - title: Setup & Prerequisites - - path: /docker-for-azure/upgrade/ - title: Upgrading - - path: /docker-for-azure/deploy/ - title: Deploy your app - - path: /docker-for-azure/faqs/ - title: FAQs - - path: /docker-for-azure/opensource/ - title: Open Source Licensing - - path: /docker-for-azure/release-notes/ - title: Release Notes - - sectiontitle: Docker Toolbox (Legacy) - section: - - path: /toolbox/overview/ - title: Toolbox Overview - - path: /toolbox/toolbox_install_mac/ - title: Install Toolbox on Mac - - path: /toolbox/toolbox_install_windows/ - title: Install Toolbox on Windows - - sectiontitle: Kitematic - section: - - path: /kitematic/userguide/ - title: "Kitematic User Guide: Intro & Overview" - - path: /kitematic/nginx-web-server/ - title: Set up an Nginx web server - - path: /kitematic/minecraft-server/ - title: Set up a Minecraft Server - - path: /kitematic/rethinkdb-dev-database/ - title: Creating a Local RethinkDB Database for Development - - path: /kitematic/faq/ - title: Frequently Asked Questions - - path: /kitematic/known-issues/ - title: Known Issues - - path: /toolbox/faqs/troubleshoot/ - title: Troubleshooting - - path: /release-notes/ - title: Docker Release Notes -- sectiontitle: Get Started - section: - - path: /learn/ - title: Learn Docker - - sectiontitle: Docker basics - section: - - path: /engine/getstarted/ - title: Get Started with Docker - - path: /engine/getstarted/step_one/ - title: Install Docker and run hello-world - - path: /engine/getstarted/step_two/ - title: Understand images & containers - - path: /engine/getstarted/step_three/ - title: Find & run the whalesay image - - path: /engine/getstarted/step_four/ - title: Build your own image - - path: /engine/getstarted/step_five/ - title: Create a Docker Hub account & repository - - path: /engine/getstarted/step_six/ - title: Tag, push, & pull your image - - path: /engine/getstarted/last_page/ - title: Learning more - - sectiontitle: Define and deploy your app - section: - - path: /engine/getstarted-voting-app/ - title: Sample app overview - - path: /engine/getstarted-voting-app/node-setup/ - title: Set up Dockerized machines - - path: /engine/getstarted-voting-app/create-swarm/ - title: Create a swarm - - path: /engine/getstarted-voting-app/deploy-app/ - title: Deploy the app - - path: /engine/getstarted-voting-app/test-drive/ - title: Try out the voting app - - path: /engine/getstarted-voting-app/customize-app/ - title: Customize the app and redeploy - - sectiontitle: Learn by example - section: - - path: /engine/tutorials/networkingcontainers/ - title: Network containers - - path: /engine/tutorials/dockervolumes/ - title: Manage data in containers -- sectiontitle: User Guide - section: - - path: /engine/userguide/intro/ - title: Introduction - - sectiontitle: Work with images - section: - - path: /engine/userguide/eng-image/dockerfile_best-practices/ - title: Best practices for writing Dockerfiles - - path: /engine/userguide/eng-image/baseimages/ - title: Create a base image - - path: /engine/userguide/eng-image/image_management/ - title: Image management - - sectiontitle: Docker storage drivers - section: - - path: /engine/userguide/storagedriver/imagesandcontainers/ - title: Understand images, containers, and storage drivers - - path: /engine/userguide/storagedriver/selectadriver/ - title: Select a storage driver - - path: /engine/userguide/storagedriver/aufs-driver/ - title: AUFS storage driver in practice - - path: /engine/userguide/storagedriver/btrfs-driver/ - title: Btrfs storage in practice - - path: /engine/userguide/storagedriver/device-mapper-driver/ - title: Device mapper storage in practice - - path: /engine/userguide/storagedriver/overlayfs-driver/ - title: OverlayFS storage in practice - - path: /engine/userguide/storagedriver/zfs-driver/ - title: ZFS storage in practice - - sectiontitle: Network configuration - section: - - path: /engine/userguide/networking/ - title: Docker container networking - - path: /engine/userguide/networking/work-with-networks/ - title: Work with network commands - - path: /engine/userguide/networking/get-started-overlay/ - title: Get started with multi-host networking - - path: /engine/userguide/networking/get-started-macvlan/ - title: Get started with macvlan network driver - - path: /engine/userguide/networking/overlay-security-model/ - title: Swarm mode overlay network security model - - path: /engine/userguide/networking/configure-dns/ - title: Configure container DNS in user-defined networks - - sectiontitle: Default bridge network - section: - - path: /engine/userguide/networking/default_network/dockerlinks/ - title: Legacy container links - - path: /engine/userguide/networking/default_network/binding/ - title: Bind container ports to the host - - path: /engine/userguide/networking/default_network/build-bridges/ - title: Build your own bridge - - path: /engine/userguide/networking/default_network/configure-dns/ - title: Configure container DNS - - path: /engine/userguide/networking/default_network/custom-docker0/ - title: Customize the docker0 bridge - - path: /engine/userguide/networking/default_network/container-communication/ - title: Understand container communication - - path: /engine/userguide/networking/default_network/ipv6/ - title: IPv6 with Docker - - path: /engine/userguide/labels-custom-metadata/ - title: Apply custom metadata - - path: /engine/migration/ - title: Migrate to Engine 1.10 - - path: /engine/breaking_changes/ - title: Breaking changes - - path: /engine/deprecated/ - title: Deprecated Engine Features - - path: /engine/faq/ - title: FAQ -- sectiontitle: Admin Guide - section: - - path: /engine/admin/ - title: Configuring and running Docker - - path: /engine/admin/host_integration/ - title: Automatically start containers - - path: /engine/admin/resource_constraints/ - title: Limit a container's resources - - path: /engine/admin/live-restore/ - title: Keep containers alive during daemon downtime - - path: /engine/admin/systemd/ - title: Control and configure Docker with systemd - - path: /engine/admin/formatting/ - title: Format command and log output - - path: /engine/admin/registry_mirror/ - title: Run a local registry mirror - - sectiontitle: Logging - section: - - path: /engine/admin/logging/view_container_logs/ - title: View a container's logs - - path: /engine/admin/logging/overview/ - title: Configuring Logging Drivers - - path: /engine/admin/logging/log_tags/ - title: Log tags for logging driver - - path: /engine/admin/logging/logentries/ - title: Logentries logging driver - - path: /engine/admin/logging/awslogs/ - title: Amazon CloudWatch Logs logging driver - - path: /engine/admin/logging/etwlogs/ - title: ETW logging driver - - path: /engine/admin/logging/fluentd/ - title: Fluentd logging driver - - path: /engine/admin/logging/gcplogs/ - title: Google Cloud Logging driver - - path: /engine/admin/logging/journald/ - title: Journald logging driver - - path: /engine/admin/logging/splunk/ - title: Splunk logging driver - - path: /engine/admin/dsc/ - title: PowerShell DSC Usage - - path: /engine/admin/ansible/ - title: Using Ansible - - path: /engine/admin/chef/ - title: Using Chef - - path: /engine/admin/puppet/ - title: Using Puppet - - path: /engine/admin/using_supervisord/ - title: Using Supervisor with Docker - - path: /engine/admin/runmetrics/ - title: Runtime metrics - - path: /engine/admin/ambassador_pattern_linking/ - title: Link via an ambassador container -- sectiontitle: Troubleshoot Docker Engine - section: - - path: /engine/admin/troubleshooting_volume_errors.md - title: Troubleshoot volume problems -- sectiontitle: Manage a swarm - section: - - path: /engine/swarm/ - title: Swarm mode overview - - path: /engine/swarm/key-concepts/ - title: Swarm mode key concepts - - sectiontitle: Get started with swarm mode - section: - - path: /engine/swarm/swarm-tutorial/ - title: Set up for the tutorial - - path: /engine/swarm/swarm-tutorial/create-swarm/ - title: Create a swarm - - path: /engine/swarm/swarm-tutorial/add-nodes/ - title: Add nodes to the swarm - - path: /engine/swarm/swarm-tutorial/deploy-service/ - title: Deploy a service - - path: /engine/swarm/swarm-tutorial/inspect-service/ - title: Inspect the service - - path: /engine/swarm/swarm-tutorial/scale-service/ - title: Scale the service - - path: /engine/swarm/swarm-tutorial/delete-service/ - title: Delete the service - - path: /engine/swarm/swarm-tutorial/rolling-update/ - title: Apply rolling updates - - path: /engine/swarm/swarm-tutorial/drain-node/ - title: Drain a node - - path: /engine/swarm/ingress/ - title: Use swarm mode routing mesh - - sectiontitle: How swarm mode works - section: - - path: /engine/swarm/how-swarm-mode-works/nodes/ - title: How nodes work - - path: /engine/swarm/how-swarm-mode-works/services/ - title: How services work - - path: /engine/swarm/swarm-mode/ - title: Run Docker Engine in swarm mode - - path: /engine/swarm/join-nodes/ - title: Join nodes to a swarm - - path: /engine/swarm/manage-nodes/ - title: Manage nodes in a swarm - - path: /engine/swarm/services/ - title: Deploy services to a swarm - - path: /engine/swarm/secrets/ - title: Manage sensitive data with Docker secrets - - path: /engine/swarm/swarm_manager_locking.md - title: Lock your swarm - - path: /engine/swarm/networking/ - title: Attach services to an overlay network - - path: /engine/swarm/admin_guide/ - title: Swarm administration guide - - path: /engine/swarm/raft/ - title: Raft consensus in swarm mode -- sectiontitle: Secure Engine - section: - - path: /engine/security/security/ - title: Docker security - - path: /engine/security/non-events/ - title: Docker Security Non-events - - path: /engine/security/https/ - title: Protect the Docker daemon socket - - path: /engine/security/certificates/ - title: Using certificates for repository client verification - - sectiontitle: Use trusted images - section: - - path: /engine/security/trust/content_trust/ - title: Content trust in Docker - - path: /engine/security/trust/trust_automation/ - title: Automation with content trust - - path: /engine/security/trust/trust_delegation/ - title: Delegations for content trust - - path: /engine/security/trust/deploying_notary/ - title: Deploying Notary - - path: /engine/security/trust/trust_key_mng/ - title: Manage keys for content trust - - path: /engine/security/trust/trust_sandbox/ - title: Play in a content trust sandbox - - path: /engine/security/apparmor/ - title: AppArmor security profiles for Docker - - path: /engine/security/seccomp/ - title: Seccomp security profiles for Docker -- sectiontitle: Extend Engine - section: - - path: /engine/extend/ - title: Managed plugin system - - path: /engine/extend/plugins_authorization/ - title: Access authorization plugin - - path: /engine/extend/legacy_plugins/ - title: Extending Engine with plugins - - path: /engine/extend/plugins_network/ - title: Docker network driver plugins - - path: /engine/extend/plugins_volume/ - title: Volume plugins - - path: /engine/extend/plugin_api/ - title: Plugins API -- sectiontitle: Open Source at Docker - section: - - path: /opensource/code/ - title: Quickstart contribution - - sectiontitle: Set up for Engine Development - section: - - path: /opensource/project/who-written-for/ - title: README first - - path: /opensource/project/software-required/ - title: Get the required software - - path: /opensource/project/software-req-win/ - title: Set up for development on Windows - - path: /opensource/project/set-up-git/ - title: Configure Git for contributing - - path: /opensource/project/set-up-dev-env/ - title: Work with a development container - - path: /opensource/project/test-and-docs/ - title: Run tests and test documentation - - sectiontitle: Contribution workflow - section: - - path: /opensource/workflow/make-a-contribution/ - title: Understand how to contribute - - path: /opensource/workflow/find-an-issue/ - title: Find and claim an issue - - path: /opensource/workflow/work-issue/ - title: Work on your issue - - path: /opensource/workflow/create-pr/ - title: Create a pull request (PR) - - path: /opensource/workflow/review-pr/ - title: Participate in the PR review - - path: /opensource/workflow/advanced-contributing/ - title: Advanced contributing - - path: /opensource/workflow/coding-style/ - title: Coding style checklist - - sectiontitle: Other ways to contribute - section: - - path: /opensource/ways/meetups/ - title: Organize a Docker Meetup - - path: /opensource/ways/issues/ - title: Organize our issues - - path: /opensource/ways/community/ - title: Support the community - - path: /opensource/ways/test/ - title: Testing contributions - - sectiontitle: Contribute to Kitematic - section: - - path: /opensource/kitematic/get_started/ - title: Get started - - path: /opensource/kitematic/find_issue/ - title: Find an issue - - path: /opensource/kitematic/set_up_dev/ - title: Set up for Kitematic development - - path: /opensource/kitematic/work_issue/ - title: Develop in Kitematic (work on an issue) - - path: /opensource/kitematic/create_pr/ - title: Create a pull request (PR) - - path: /opensource/kitematic/next_steps/ - title: Where to learn more - - sectiontitle: Governance - section: - - path: /opensource/governance/dgab-info/ - title: Docker Governance Advisory Board - - path: /opensource/governance/board-profiles/ - title: Board member profiles - - path: /opensource/governance/conduct-code/ - title: Code of conduct - - path: /opensource/FAQ/ - title: FAQ for contributors - - path: /opensource/get-help/ - title: Where to chat or get help - - path: /opensource/doc-style/ - title: Style guide for Docker documentation -- sectiontitle: Docs archive - section: - - path: /docsarchive/ - title: View the docs archives - - path: /v1.4 - title: v1.4 - - path: /v1.5 - title: v1.5 - - path: /v1.6 - title: v1.6 - - path: /v1.7 - title: v1.7 - - path: /v1.8 - title: v1.8 - - path: /v1.9 - title: v1.9 - - path: /v1.10 - title: v1.10 - - path: /v1.11 - title: v1.11 - -reference: -- title: Dockerfile reference - path: /engine/reference/builder/ -- title: Cloud API - path: /apidocs/docker-cloud/ - nosync: true -- title: Cloud stack file reference - path: /docker-cloud/apps/stack-yaml-reference/ - nosync: true -- title: Compose file reference - path: /compose/compose-file/ - nosync: true -- title: Compose (docker-compose) CLI - path: /compose/reference/overview/ - nosync: true -- title: Daemon (dockerd) CLI - path: /engine/reference/commandline/dockerd/ -- title: Docker ID Accounts API - path: /docker-id/api-reference/ - nosync: true -- sectiontitle: Engine API - section: - - path: /engine/api/ - title: Overview - - path: /engine/api/getting-started/ - title: Getting started - - path: /engine/api/sdks/ - title: SDKs - - path: /engine/api/v1.25/ - title: API 1.25 Reference - - sectiontitle: Previous API versions - section: - - path: /engine/api/version-history/ - title: Version history overview - - path: /engine/api/v1.24/ - title: v1.24 reference - - path: /engine/api/v1.23/ - title: v1.23 reference - - path: /engine/api/v1.22/ - title: v1.22 reference - - path: /engine/api/v1.21/ - title: v1.21 reference - - path: /engine/api/v1.20/ - title: v1.20 reference - - path: /engine/api/v1.19/ - title: v1.19 reference - - path: /engine/api/v1.18/ - title: v1.18 reference -- sectiontitle: Engine (docker) CLI - section: - - path: /engine/reference/run/ - title: Docker run reference - - path: /engine/reference/commandline/cli/ - title: Use the Docker command line - - path: /engine/reference/commandline/docker/ - title: docker (base command) - - path: /engine/reference/commandline/attach/ - title: docker attach - - path: /engine/reference/commandline/build/ - title: docker build - - path: /engine/reference/commandline/commit/ - title: docker commit - - sectiontitle: docker container * - section: - - path: /engine/reference/commandline/container/ - title: docker container - - path: /engine/reference/commandline/container_attach/ - title: docker container attach - - path: /engine/reference/commandline/container_commit/ - title: docker container commit - - path: /engine/reference/commandline/container_cp/ - title: docker container cp - - path: /engine/reference/commandline/container_create/ - title: docker container create - - path: /engine/reference/commandline/container_diff/ - title: docker container diff - - path: /engine/reference/commandline/container_exec/ - title: docker container exec - - path: /engine/reference/commandline/container_export/ - title: docker container export - - path: /engine/reference/commandline/container_inspect/ - title: docker container inspect - - path: /engine/reference/commandline/container_kill/ - title: docker container kill - - path: /engine/reference/commandline/container_logs/ - title: docker container logs - - path: /engine/reference/commandline/container_ls/ - title: docker container ls - - path: /engine/reference/commandline/container_pause/ - title: docker container pause - - path: /engine/reference/commandline/container_port/ - title: docker container port - - path: /engine/reference/commandline/container_prune/ - title: docker container prune - - path: /engine/reference/commandline/container_rename/ - title: docker container rename - - path: /engine/reference/commandline/container_restart/ - title: docker container restart - - path: /engine/reference/commandline/container_rm/ - title: docker container rm - - path: /engine/reference/commandline/container_run/ - title: docker container run - - path: /engine/reference/commandline/container_start/ - title: docker container start - - path: /engine/reference/commandline/container_stats/ - title: docker container stats - - path: /engine/reference/commandline/container_stop/ - title: docker container stop - - path: /engine/reference/commandline/container_top/ - title: docker container top - - path: /engine/reference/commandline/container_unpause/ - title: docker container unpause - - path: /engine/reference/commandline/container_update/ - title: docker container update - - path: /engine/reference/commandline/container_wait/ - title: docker container wait - - path: /engine/reference/commandline/cp/ - title: docker cp - - path: /engine/reference/commandline/create/ - title: docker create - - path: /engine/reference/commandline/deploy/ - title: docker deploy - - path: /engine/reference/commandline/diff/ - title: docker diff - - path: /engine/reference/commandline/events/ - title: docker events - - path: /engine/reference/commandline/exec/ - title: docker exec - - path: /engine/reference/commandline/export/ - title: docker export - - path: /engine/reference/commandline/history/ - title: docker history - - sectiontitle: docker image * - section: - - path: /engine/reference/commandline/image/ - title: docker image - - path: /engine/reference/commandline/image_build/ - title: docker image build - - path: /engine/reference/commandline/image_history/ - title: docker image history - - path: /engine/reference/commandline/image_import/ - title: docker image import - - path: /engine/reference/commandline/image_inspect/ - title: docker image inspect - - path: /engine/reference/commandline/image_load/ - title: docker image load - - path: /engine/reference/commandline/image_ls/ - title: docker image ls - - path: /engine/reference/commandline/image_prune/ - title: docker image prune - - path: /engine/reference/commandline/image_pull/ - title: docker image pull - - path: /engine/reference/commandline/image_push/ - title: docker image push - - path: /engine/reference/commandline/image_rm/ - title: docker image rm - - path: /engine/reference/commandline/image_save/ - title: docker image save - - path: /engine/reference/commandline/image_tag/ - title: docker image tag - - path: /engine/reference/commandline/images/ - title: docker images - - path: /engine/reference/commandline/import/ - title: docker import - - path: /engine/reference/commandline/info/ - title: docker info - - path: /engine/reference/commandline/inspect/ - title: docker inspect - - path: /engine/reference/commandline/kill/ - title: docker kill - - path: /engine/reference/commandline/load/ - title: docker load - - path: /engine/reference/commandline/login/ - title: docker login - - path: /engine/reference/commandline/logout/ - title: docker logout - - path: /engine/reference/commandline/logs/ - title: docker logs - - sectiontitle: docker network * - section: - - path: /engine/reference/commandline/network/ - title: docker network - - path: /engine/reference/commandline/network_connect/ - title: docker network connect - - path: /engine/reference/commandline/network_create/ - title: docker network create - - path: /engine/reference/commandline/network_disconnect/ - title: docker network disconnect - - path: /engine/reference/commandline/network_inspect/ - title: docker network inspect - - path: /engine/reference/commandline/network_ls/ - title: docker network ls - - path: /engine/reference/commandline/network_prune/ - title: docker network prune - - path: /engine/reference/commandline/network_rm/ - title: docker network rm - - sectiontitle: docker node * - section: - - path: /engine/reference/commandline/node/ - title: docker node - - path: /engine/reference/commandline/node_demote/ - title: docker node demote - - path: /engine/reference/commandline/node_inspect/ - title: docker node inspect - - path: /engine/reference/commandline/node_ls/ - title: docker node ls - - path: /engine/reference/commandline/node_promote/ - title: docker node promote - - path: /engine/reference/commandline/node_ps/ - title: docker node ps - - path: /engine/reference/commandline/node_rm/ - title: docker node rm - - path: /engine/reference/commandline/node_update/ - title: docker node update - - path: /engine/reference/commandline/pause/ - title: docker pause - - sectiontitle: docker plugin * - section: - - path: /engine/reference/commandline/plugin/ - title: docker plugin - - path: /engine/reference/commandline/plugin_create/ - title: docker plugin disable - - path: /engine/reference/commandline/plugin_disable/ - title: docker plugin disable - - path: /engine/reference/commandline/plugin_enable/ - title: docker plugin enable - - path: /engine/reference/commandline/plugin_inspect/ - title: docker plugin inspect - - path: /engine/reference/commandline/plugin_install/ - title: docker plugin install - - path: /engine/reference/commandline/plugin_ls/ - title: docker plugin ls - - path: /engine/reference/commandline/plugin_rm/ - title: docker plugin rm - - path: /engine/reference/commandline/plugin_set/ - title: docker plugin set - - path: /engine/reference/commandline/port/ - title: docker port - - path: /engine/reference/commandline/ps/ - title: docker ps - - path: /engine/reference/commandline/pull/ - title: docker pull - - path: /engine/reference/commandline/push/ - title: docker push - - path: /engine/reference/commandline/rename/ - title: docker rename - - path: /engine/reference/commandline/restart/ - title: docker restart - - path: /engine/reference/commandline/rm/ - title: docker rm - - path: /engine/reference/commandline/rmi/ - title: docker rmi - - path: /engine/reference/commandline/run/ - title: docker run - - path: /engine/reference/commandline/save/ - title: docker save - - path: /engine/reference/commandline/search/ - title: docker search - - sectiontitle: docker secret * - section: - - path: /engine/reference/commandline/secret/ - title: docker secret - - path: /engine/reference/commandline/secret_create/ - title: docker secret create - - path: /engine/reference/commandline/secret_inspect/ - title: docker secret inspect - - path: /engine/reference/commandline/secret_ls/ - title: docker secret ls - - path: /engine/reference/commandline/secret_rm/ - title: docker secret rm - - sectiontitle: docker service * - section: - - path: /engine/reference/commandline/service/ - title: docker service - - path: /engine/reference/commandline/service_create/ - title: docker service create - - path: /engine/reference/commandline/service_inspect/ - title: docker service inspect - - path: /engine/reference/commandline/service_logs/ - title: docker service logs - - path: /engine/reference/commandline/service_ls/ - title: docker service ls - - path: /engine/reference/commandline/service_ps/ - title: docker service ps - - path: /engine/reference/commandline/service_rm/ - title: docker service rm - - path: /engine/reference/commandline/service_scale/ - title: docker service scale - - path: /engine/reference/commandline/service_update/ - title: docker service update - - sectiontitle: docker stack * - section: - - path: /engine/reference/commandline/stack/ - title: docker stack - - path: /engine/reference/commandline/stack_deploy/ - title: docker stack deploy - - path: /engine/reference/commandline/stack_ps/ - title: docker stack ps - - path: /engine/reference/commandline/stack_rm/ - title: docker stack rm - - path: /engine/reference/commandline/stack_services/ - title: docker stack services - - path: /engine/reference/commandline/start/ - title: docker start - - path: /engine/reference/commandline/stats/ - title: docker stats - - path: /engine/reference/commandline/stop/ - title: docker stop - - sectiontitle: docker swarm * - setcion: - - path: /engine/reference/commandline/swarm/ - title: docker swarm - - path: /engine/reference/commandline/swarm_init/ - title: docker swarm init - - path: /engine/reference/commandline/swarm_join-token/ - title: docker swarm join-token - - path: /engine/reference/commandline/swarm_join/ - title: docker swarm join - - path: /engine/reference/commandline/swarm_leave/ - title: docker swarm leave - - path: /engine/reference/commandline/swarm_unlock-key/ - title: docker swarm unlock-key - - path: /engine/reference/commandline/swarm_unlock/ - title: docker swarm unlock - - path: /engine/reference/commandline/swarm_update/ - title: docker swarm update - - sectiontitle: docker system * - section: - - path: /engine/reference/commandline/system/ - title: docker system - - path: /engine/reference/commandline/system_df/ - title: docker system df - - path: /engine/reference/commandline/system_events/ - title: docker system events - - path: /engine/reference/commandline/system_info/ - title: docker system info - - path: /engine/reference/commandline/system_prune/ - title: docker system prune - - path: /engine/reference/commandline/tag/ - title: docker tag - - path: /engine/reference/commandline/top/ - title: docker top - - path: /engine/reference/commandline/unpause/ - title: docker unpause - - path: /engine/reference/commandline/update/ - title: docker update - - path: /engine/reference/commandline/version/ - title: docker version - - sectiontitle: docker volume * - section: - - path: /engine/reference/commandline/volume_create/ - title: docker volume create - - path: /engine/reference/commandline/volume_inspect/ - title: docker volume inspect - - path: /engine/reference/commandline/volume_ls/ - title: docker volume ls - - path: /engine/reference/commandline/volume_prune/ - title: docker volume ls - - path: /engine/reference/commandline/volume_rm/ - title: docker volume rm - - path: /engine/reference/commandline/wait/ - title: docker wait -- title: Machine (docker-machine) CLI - path: /machine/reference/ - nosync: true -- title: Registry API - path: /registry/spec/api/ - nosync: true -- title: Trusted Registry API - path: /apidocs/overview/ - nosync: true -- title: Trusted Registry (docker/dtr) CLI - path: /datacenter/dtr/2.1/reference/cli/ - nosync: true -- title: UCP Tool (docker/ucp) CLI - path: /datacenter/ucp/2.0/reference/cli/ - nosync: true - -samples: -- path: /samples/#tutorial-labs - title: Tutorial labs -- sectiontitle: Sample applications - section: - - path: /engine/examples/apt-cacher-ng/ - title: apt-cacher-ng - - path: /engine/examples/couchdb_data_volumes/ - title: CouchDB - - path: /engine/examples/couchbase/ - title: Couchbase - - path: /compose/django/ - title: Django and PostgreSQL - - path: /engine/examples/mongodb/ - title: MongoDB - - path: /engine/examples/postgresql_service/ - title: PostgreSQL - - path: /compose/rails/ - title: Rails and PostgreSQL - - path: /engine/examples/running_redis_service/ - title: Redis - - path: /engine/examples/running_riak_service/ - title: Riak - - path: /engine/examples/running_ssh_service/ - title: SSHd - - path: /compose/wordpress/ - title: WordPress - -manuals: -- sectiontitle: Commercially Supported Docker Engine - section: - - path: /cs-engine/install/ - title: Install CS Docker Engine - - path: /cs-engine/upgrade/ - title: Upgrade - - sectiontitle: Release notes - section: - - path: /cs-engine/release-notes/release-notes/ - title: CS Engine release notes - - path: /cs-engine/release-notes/prior-release-notes/ - title: Prior CS Engine release notes -- sectiontitle: Docker Cloud - section: - - path: /docker-cloud/ - title: About Docker Cloud - - path: /docker-cloud/dockerid/ - title: Docker Cloud Settings and Docker ID - - path: /docker-cloud/orgs/ - title: Organizations and Teams - - sectiontitle: Getting Started - section: - - path: /docker-cloud/getting-started/intro_cloud/ - title: Introducing Docker Cloud - - path: /docker-cloud/getting-started/connect-infra/ - title: Link to your Infrastructure - - path: /docker-cloud/getting-started/your_first_node/ - title: Deploy your first node - - path: /docker-cloud/getting-started/your_first_service/ - title: Deploy your first service - - sectiontitle: Deploy an application - section: - - path: /docker-cloud/getting-started/deploy-app/1_introduction/ - title: Introduction to Deploying an app in Docker Cloud - - path: /docker-cloud/getting-started/deploy-app/2_set_up/ - title: Set up your environment - - path: /docker-cloud/getting-started/deploy-app/3_prepare_the_app/ - title: Prepare the application - - path: /docker-cloud/getting-started/deploy-app/4_push_to_cloud_registry/ - title: Push the image to Docker Cloud's Registry - - path: /docker-cloud/getting-started/deploy-app/5_deploy_the_app_as_a_service/ - title: Deploy the app as a Docker Cloud service - - path: /docker-cloud/getting-started/deploy-app/6_define_environment_variables/ - title: Define environment variables - - path: /docker-cloud/getting-started/deploy-app/7_scale_the_service/ - title: Scale the service - - path: /docker-cloud/getting-started/deploy-app/8_view_logs/ - title: View service logs - - path: /docker-cloud/getting-started/deploy-app/9_load-balance_the_service/ - title: Load-balance the service - - path: /docker-cloud/getting-started/deploy-app/10_provision_a_data_backend_for_your_service/ - title: Provision a data backend for the service - - path: /docker-cloud/getting-started/deploy-app/11_service_stacks/ - title: Stackfiles for your service - - path: /docker-cloud/getting-started/deploy-app/12_data_management_with_volumes/ - title: Data management with Volumes - - sectiontitle: Manage Applications - section: - - path: /docker-cloud/apps/deploy-to-cloud-btn/ - title: Add a Deploy to Docker Cloud button - - path: /docker-cloud/apps/auto-destroy/ - title: Automatic container destroy - - path: /docker-cloud/apps/autorestart/ - title: Automatic container restart - - path: /docker-cloud/apps/auto-redeploy/ - title: Automatic service redeploy - - path: /docker-cloud/apps/load-balance-hello-world/ - title: Create a proxy or load balancer - - path: /docker-cloud/apps/deploy-tags/ - title: Deployment tags - - path: /docker-cloud/apps/stacks/ - title: Manage service stacks - - path: /docker-cloud/apps/ports/ - title: Publish and expose service or container ports - - path: /docker-cloud/apps/service-redeploy/ - title: Redeploy running services - - path: /docker-cloud/apps/service-scaling/ - title: Scale your service - - path: /docker-cloud/apps/api-roles/ - title: Service API Roles - - path: /docker-cloud/apps/service-links/ - title: Service discovery and links - - path: /docker-cloud/apps/triggers/ - title: Use triggers - - path: /docker-cloud/apps/volumes/ - title: Work with data volumes - - sectiontitle: Manage Builds and Images - section: - - path: /docker-cloud/builds/ - title: Builds and Images Overview - - path: /docker-cloud/builds/repos/ - title: Docker Cloud repositories - - path: /docker-cloud/builds/link-source/ - title: Link to a source code repository - - path: /docker-cloud/builds/push-images/ - title: Push images to Docker Cloud - - path: /docker-cloud/builds/image-scan/ - title: Docker Security Scanning - - path: /docker-cloud/builds/automated-build/ - title: Automated builds - - path: /docker-cloud/builds/automated-testing/ - title: Automated repository tests - - path: /docker-cloud/builds/advanced/ - title: Advanced options for Autobuild and Autotest - - sectiontitle: Manage Infrastructure - section: - - path: /docker-cloud/infrastructure/ - title: Infrastructure Overview - - path: /docker-cloud/infrastructure/deployment-strategies/ - title: Container distribution strategies - - path: /docker-cloud/infrastructure/link-aws/ - title: Link to Amazon Web Services hosts - - path: /docker-cloud/infrastructure/link-do/ - title: Link to DigitalOcean hosts - - path: /docker-cloud/infrastructure/link-azure/ - title: Link to Microsoft Azure hosts - - path: /docker-cloud/infrastructure/link-packet/ - title: Link to Packet hosts - - path: /docker-cloud/infrastructure/link-softlayer/ - title: Link to SoftLayer hosts - - path: /docker-cloud/infrastructure/ssh-into-a-node/ - title: SSH into a Docker Cloud-managed node - - path: /docker-cloud/infrastructure/docker-upgrade/ - title: Upgrade Docker Engine on a node - - path: /docker-cloud/infrastructure/byoh/ - title: Use the Docker Cloud Agent - - path: /docker-cloud/infrastructure/cloud-on-packet.net-faq/ - title: Using Docker Cloud and Packet.net - - path: /docker-cloud/infrastructure/cloud-on-aws-faq/ - title: Using Docker Cloud on AWS - - title: Cloud API reference - path: /apidocs/docker-cloud/ - - title: Cloud stack file YAML reference - path: /docker-cloud/apps/stack-yaml-reference/ - - path: /docker-cloud/slack-integration/ - title: Docker Cloud notifications in Slack - - path: /apidocs/docker-cloud/ - title: Docker Cloud API - nosync: true - - path: /docker-cloud/apps/stack-yaml-reference/ - title: Stack file YAML reference - nosync: true - - path: /docker-cloud/installing-cli/ - title: The Docker Cloud CLI - - path: /docker-cloud/docker-errors-faq/ - title: Known Issues in Docker Cloud - - path: /docker-cloud/release-notes/ - title: Release Notes -- sectiontitle: Docker Compose - section: - - path: /compose/overview/ - title: Overview of Docker Compose - - path: /compose/install/ - title: Install Compose - - path: /compose/gettingstarted/ - title: Getting Started - - sectiontitle: Compose (docker-compose) CLI reference - section: - - path: /compose/reference/overview/ - title: Overview of docker-compose CLI - - path: /compose/reference/envvars/ - title: CLI Environment Variables - - path: /compose/completion/ - title: Command-line Completion - - path: /compose/reference/build/ - title: build - - path: /compose/reference/bundle/ - title: bundle - - path: /compose/reference/config/ - title: config - - path: /compose/reference/create/ - title: create - - path: /compose/reference/down/ - title: down - - path: /compose/reference/events/ - title: events - - path: /compose/reference/exec/ - title: exec - - path: /compose/reference/help/ - title: help - - path: /compose/reference/kill/ - title: kill - - path: /compose/reference/logs/ - title: logs - - path: /compose/reference/pause/ - title: pause - - path: /compose/reference/port/ - title: port - - path: /compose/reference/ps/ - title: ps - - path: /compose/reference/pull/ - title: pull - - path: /compose/reference/push/ - title: push - - path: /compose/reference/restart/ - title: restart - - path: /compose/reference/rm/ - title: rm - - path: /compose/reference/run/ - title: run - - path: /compose/reference/scale/ - title: scale - - path: /compose/reference/start/ - title: start - - path: /compose/reference/stop/ - title: stop - - path: /compose/reference/unpause/ - title: unpause - - path: /compose/reference/up/ - title: up - - path: /compose/compose-file/ - title: Compose file reference - nosync: true - - path: /compose/faq/ - title: Frequently Asked Questions - - path: /compose/bundles/ - title: Docker Stacks and Distributed Application Bundles - - path: /compose/swarm/ - title: Using Compose with Swarm - - path: /compose/env-file/ - title: Environment file - - path: /compose/environment-variables/ - title: Environment variables in Compose - - path: /compose/extends/ - title: Extend services in Compose - - path: /compose/networking/ - title: Networking in Compose - - path: /compose/production/ - title: Using Compose in production - - path: /compose/link-env-deprecated/ - title: Link Environment Variables (deprecated) - - path: /compose/startup-order/ - title: Control startup order -- sectiontitle: Docker Datacenter - section: - - path: /datacenter/install/aws/ - title: Deploy Datacenter on AWS - - path: /datacenter/install/linux/ - title: Deploy Datacenter on Linux - - sectiontitle: Universal Control Plane 2.0 - section: - - path: /datacenter/ucp/2.0/guides/ - title: Universal Control Plane overview - - path: /datacenter/ucp/2.0/guides/architecture/ - title: Architecture - - sectiontitle: Installation - section: - - path: /datacenter/ucp/2.0/guides/installation/system-requirements/ - title: System requirements - - path: /datacenter/ucp/2.0/guides/installation/plan-production-install/ - title: Plan a production installation - - path: /datacenter/ucp/2.0/guides/installation/ - title: Install UCP for production - - path: /datacenter/ucp/2.0/guides/installation/install-offline/ - title: Install offline - - path: /datacenter/ucp/2.0/guides/installation/license/ - title: License UCP - - path: /datacenter/ucp/2.0/guides/installation/scale-your-cluster/ - title: Scale your cluster - - path: /datacenter/ucp/2.0/guides/installation/upgrade/ - title: Upgrade UCP - - path: /datacenter/ucp/2.0/guides/installation/uninstall/ - title: Uninstall UCP - - sectiontitle: Access UCP - section: - - path: /datacenter/ucp/2.0/guides/access-ucp/ - title: Web-based access - - path: /datacenter/ucp/2.0/guides/access-ucp/cli-based-access/ - title: CLI-based access - - sectiontitle: Configuration - section: - - path: /datacenter/ucp/2.0/guides/configuration/ - title: Use externally-signed certificates - - path: /datacenter/ucp/2.0/guides/configuration/configure-logs/ - title: Configure UCP logging - - path: /datacenter/ucp/2.0/guides/configuration/integrate-with-dtr/ - title: Integrate with Docker Trusted Registry - - path: /datacenter/ucp/2.0/guides/configuration/integrate-with-ldap/ - title: Integrate with LDAP - - path: /datacenter/ucp/2.0/guides/configuration/route-hostnames/ - title: Route hostnames to services - - sectiontitle: Monitor and troubleshoot - section: - - path: /datacenter/ucp/2.0/guides/monitor/ - title: Monitor your cluster - - path: /datacenter/ucp/2.0/guides/monitor/troubleshoot/ - title: Troubleshoot your cluster - - path: /datacenter/ucp/2.0/guides/monitor/troubleshoot-configurations/ - title: Troubleshoot cluster configurations - - sectiontitle: High-availability - section: - - path: /datacenter/ucp/2.0/guides/high-availability/ - title: Set up high availability - - path: /datacenter/ucp/2.0/guides/high-availability/backups-and-disaster-recovery/ - title: Backups and disaster recovery - - sectiontitle: User management - section: - - path: /datacenter/ucp/2.0/guides/user-management/ - title: Authentication and authorization - - path: /datacenter/ucp/2.0/guides/user-management/create-and-manage-users/ - title: Create and manage users - - path: /datacenter/ucp/2.0/guides/user-management/create-and-manage-teams/ - title: Create and manage teams - - path: /datacenter/ucp/2.0/guides/user-management/permission-levels/ - title: Permission levels - - sectiontitle: Applications - section: - - path: /datacenter/ucp/2.0/guides/applications/ - title: Deploy an app from the UI - - path: /datacenter/ucp/2.0/guides/applications/deploy-app-cli/ - title: Deploy an app from the CLI - - sectiontitle: Content trust - section: - - path: /datacenter/ucp/2.0/guides/content-trust/ - title: Run only images you trust - - path: /datacenter/ucp/2.0/guides/content-trust/manage-trusted-repositories/ - title: Manage trusted repositories - - path: /datacenter/ucp/2.0/guides/content-trust/continuous-integration/ - title: Use trusted images for continuous integration - - sectiontitle: UCP Tool CLI - section: - - path: /datacenter/ucp/2.0/reference/cli/ - title: docker/ucp overview - - path: /datacenter/ucp/2.0/reference/cli/backup/ - title: backup - - path: /datacenter/ucp/2.0/reference/cli/dump-certs/ - title: dump-certs - - path: /datacenter/ucp/2.0/reference/cli/fingerprint/ - title: fingerprint - - path: /datacenter/ucp/2.0/reference/cli/id/ - title: id - - path: /datacenter/ucp/2.0/reference/cli/images/ - title: images - - path: /datacenter/ucp/2.0/reference/cli/install/ - title: install - - path: /datacenter/ucp/2.0/reference/cli/restart/ - title: restart - - path: /datacenter/ucp/2.0/reference/cli/restore/ - title: restore - - path: /datacenter/ucp/2.0/reference/cli/stop/ - title: stop - - path: /datacenter/ucp/2.0/reference/cli/support/ - title: support - - path: /datacenter/ucp/2.0/reference/cli/uninstall-ucp/ - title: uninstall-ucp - - path: /datacenter/ucp/2.0/reference/cli/upgrade/ - title: upgrade - - path: /datacenter/ucp/2.0/guides/support/ - title: Get support - - path: /datacenter/ucp/2.0/guides/release-notes/ - title: Release Notes - - sectiontitle: Docker Trusted Registry 2.1 - section: - - path: /datacenter/dtr/2.1/guides/ - title: Docker Trusted Registry overview - - path: /datacenter/dtr/2.1/guides/architecture/ - title: Architecture - - sectiontitle: Installation - section: - - path: /datacenter/dtr/2.1/guides/install/system-requirements/ - title: System requirements - - path: /datacenter/dtr/2.1/guides/install/ - title: Install Docker Trusted Registry - - path: /datacenter/dtr/2.1/guides/install/install-offline/ - title: Install offline - - path: /datacenter/dtr/2.1/guides/install/license/ - title: License your deployment - - path: /datacenter/dtr/2.1/guides/install/scale-your-deployment/ - title: Scale your deployment - - path: /datacenter/dtr/2.1/guides/install/upgrade/ - title: Upgrade - - path: /datacenter/dtr/2.1/guides/install/uninstall/ - title: Uninstall - - sectiontitle: Configuration - section: - - path: /datacenter/dtr/2.1/guides/configure/ - title: Use your own certificates - - path: /datacenter/dtr/2.1/guides/configure/configure-storage/ - title: Storage configuration - - path: /datacenter/dtr/2.1/guides/configure/use-nfs/ - title: Use NFS - - sectiontitle: Monitor and troubleshoot - section: - - path: /datacenter/dtr/2.1/guides/monitor-troubleshoot/ - title: Monitor DTR - - path: /datacenter/dtr/2.1/guides/monitor-troubleshoot/troubleshoot/ - title: Troubleshoot DTR - - sectiontitle: High-availability - section: - - path: /datacenter/dtr/2.1/guides/high-availability/ - title: Set up high availability - - path: /datacenter/dtr/2.1/guides/high-availability/backups-and-disaster-recovery/ - title: Backups and disaster recovery - - sectiontitle: User management - section: - - path: /datacenter/dtr/2.1/guides/user-management/ - title: Authentication and authorization - - path: /datacenter/dtr/2.1/guides/user-management/create-and-manage-users/ - title: Create and manage users - - path: /datacenter/dtr/2.1/guides/user-management/create-and-manage-orgs/ - title: Create and manage organizations - - path: /datacenter/dtr/2.1/guides/user-management/create-and-manage-teams/ - title: Create and manage teams - - path: /datacenter/dtr/2.1/guides/user-management/permission-levels/ - title: Permission levels - - sectiontitle: Repositories and images - section: - - path: /datacenter/dtr/2.1/guides/repos-and-images/ - title: Configure your Docker Engine - - path: /datacenter/dtr/2.1/guides/repos-and-images/pull-an-image/ - title: Pull an image - - path: /datacenter/dtr/2.1/guides/repos-and-images/push-an-image/ - title: Push an image - - path: /datacenter/dtr/2.1/guides/repos-and-images/delete-an-image/ - title: Delete an image - - sectiontitle: Trusted Registry CLI - section: - - path: /datacenter/dtr/2.1/reference/cli/ - title: Overview - - path: /datacenter/dtr/2.1/reference/cli/backup/ - title: backup - - path: /datacenter/dtr/2.1/reference/cli/dumpcerts/ - title: dumpcerts - - path: /datacenter/dtr/2.1/reference/cli/images/ - title: images - - path: /datacenter/dtr/2.1/reference/cli/install/ - title: install - - path: /datacenter/dtr/2.1/reference/cli/join/ - title: join - - path: /datacenter/dtr/2.1/reference/cli/reconfigure/ - title: reconfigure - - path: /datacenter/dtr/2.1/reference/cli/remove/ - title: remove - - path: /datacenter/dtr/2.1/reference/cli/restore/ - title: restore - - path: /datacenter/dtr/2.1/reference/cli/upgrade/ - title: upgrade - - sectiontitle: Trusted Registry API - section: - - path: /apidocs/overview/ - title: Overview - - path: /datacenter/dtr/2.1/reference/api/ - title: API v.2.1 - - path: /datacenter/dtr/2.1/guides/release-notes/ - title: Release notes - - path: /datacenter/dtr/2.1/guides/support/ - title: Get support - - sectiontitle: Previous versions - section: - - sectiontitle: Universal Control Plane 1.0 - section: - - path: /datacenter/ucp/1.1/overview/ - title: Universal Control Plane overview - - path: /datacenter/ucp/1.1/install-sandbox/ - title: Install DDC in a sandbox for evaluation - - path: /datacenter/ucp/1.1/install-sandbox-2/ - title: Evaluate DDC in a sandbox deployment - - path: /datacenter/ucp/1.1/architecture/ - title: Architecture - - sectiontitle: Installation - section: - - path: /datacenter/ucp/1.1/installation/system-requirements/ - title: System requirements - - path: /datacenter/ucp/1.1/installation/plan-production-install/ - title: Plan a production installation - - path: /datacenter/ucp/1.1/installation/install-production/ - title: Install UCP for production - - path: /datacenter/ucp/1.1/installation/install-offline/ - title: Install offline - - path: /datacenter/ucp/1.1/installation/license/ - title: License UCP - - path: /datacenter/ucp/1.1/installation/upgrade/ - title: Upgrade UCP - - path: /datacenter/ucp/1.1/installation/uninstall/ - title: Uninstall UCP - - sectiontitle: Access UCP - section: - - path: /datacenter/ucp/1.1/access-ucp/web-based-access/ - title: Web-based access - - path: /datacenter/ucp/1.1/access-ucp/cli-based-access/ - title: CLI-based access - - sectiontitle: Configuration - section: - - path: /datacenter/ucp/1.1/configuration/use-externally-signed-certs/ - title: Use externally-signed certificates - - path: /datacenter/ucp/1.1/configuration/configure-logs/ - title: Configure UCP logging - - path: /datacenter/ucp/1.1/configuration/dtr-integration/ - title: Integrate with Docker Trusted Registry - - path: /datacenter/ucp/1.1/configuration/ldap-integration/ - title: Integrate with LDAP - - path: /datacenter/ucp/1.1/configuration/multi-host-networking/ - title: Set up container networking - - sectiontitle: Monitor and troubleshoot - section: - - path: /datacenter/ucp/1.1/monitor/monitor-ucp/ - title: Monitor your cluster - - path: /datacenter/ucp/1.1/monitor/troubleshoot-ucp/ - title: Troubleshoot your cluster - - path: /datacenter/ucp/1.1/monitor/troubleshoot-configurations/ - title: Troubleshoot cluster configurations - - sectiontitle: High-availability - section: - - path: /datacenter/ucp/1.1/high-availability/set-up-high-availability/ - title: Set up high availability - - path: /datacenter/ucp/1.1/high-availability/replicate-cas/ - title: Replicate CAs for high availability - - path: /datacenter/ucp/1.1/high-availability/backups-and-disaster-recovery/ - title: Backups and disaster recovery - - sectiontitle: User management - section: - - path: /datacenter/ucp/1.1/user-management/authentication-and-authorization/ - title: Authentication and authorization - - path: /datacenter/ucp/1.1/user-management/create-and-manage-users/ - title: Create and manage users - - path: /datacenter/ucp/1.1/user-management/create-and-manage-teams/ - title: Create and manage teams - - path: /datacenter/ucp/1.1/user-management/permission-levels/ - title: Permission levels - - sectiontitle: Applications - section: - - path: /datacenter/ucp/1.1/applications/deploy-app-ui/ - title: Deploy an app from the UI - - path: /datacenter/ucp/1.1/applications/deploy-app-cli/ - title: Deploy an app from the CLI - - sectiontitle: UCP Tool CLI - section: - - path: /datacenter/ucp/1.1/reference/ - title: UCP Tool v1.1 overview - - path: /datacenter/ucp/1.1/reference/backup/ - title: backup - - path: /datacenter/ucp/1.1/reference/dump-certs/ - title: dump-certs - - path: /datacenter/ucp/1.1/reference/engine-discovery/ - title: engine-discovery - - path: /datacenter/ucp/1.1/reference/fingerprint/ - title: fingerprint - - path: /datacenter/ucp/1.1/reference/help/ - title: help - - path: /datacenter/ucp/1.1/reference/id/ - title: id - - path: /datacenter/ucp/1.1/reference/images/ - title: images - - path: /datacenter/ucp/1.1/reference/install/ - title: install - - path: /datacenter/ucp/1.1/reference/join/ - title: join - - path: /datacenter/ucp/1.1/reference/regen-certs/ - title: regen-certs.md - - path: /datacenter/ucp/1.1/reference/restart/ - title: restart - - path: /datacenter/ucp/1.1/reference/restore/ - title: restore - - path: /datacenter/ucp/1.1/reference/stop/ - title: stop - - path: /datacenter/ucp/1.1/reference/support/ - title: support - - path: /datacenter/ucp/1.1/reference/uninstall/ - title: uninstall - - path: /datacenter/ucp/1.1/reference/upgrade/ - title: upgrade - - path: /datacenter/ucp/1.1/support/ - title: Get support - - path: /datacenter/ucp/1.1/release_notes/ - title: Release Notes - - sectiontitle: Docker Trusted Registry 2.0 - section: - - path: /datacenter/dtr/2.0/ - title: Docker Trusted Registry overview - - path: /datacenter/dtr/2.0/architecture/ - title: Architecture - - sectiontitle: Installation - section: - - path: /datacenter/dtr/2.0/install/system-requirements/ - title: System requirements - - path: /datacenter/dtr/2.0/install/ - title: Install Docker Trusted Registry - - path: /datacenter/dtr/2.0/install/install-dtr-offline/ - title: Install offline - - path: /datacenter/dtr/2.0/install/license/ - title: License DTR - - sectiontitle: Upgrade - section: - - path: /datacenter/dtr/2.0/install/upgrade/upgrade-major/ - title: Upgrade from 1.4.3 - - path: /datacenter/dtr/2.0/install/upgrade/ - title: Upgrade from 2.0.0 - - path: /datacenter/dtr/2.0/install/uninstall/ - title: Uninstall - - sectiontitle: docker/dtr image reference - section: - - path: /datacenter/dtr/2.0/reference/ - title: Overview - - path: /datacenter/dtr/2.0/reference/backup/ - title: backup - - path: /datacenter/dtr/2.0/reference/dumpcerts/ - title: dumpcerts - - path: /datacenter/dtr/2.0/reference/images/ - title: images - - path: /datacenter/dtr/2.0/reference/install/ - title: install - - path: /datacenter/dtr/2.0/reference/join/ - title: join - - path: /datacenter/dtr/2.0/reference/migrate/ - title: migrate - - path: /datacenter/dtr/2.0/reference/reconfigure/ - title: reconfigure - - path: /datacenter/dtr/2.0/reference/remove/ - title: remove - - path: /datacenter/dtr/2.0/reference/restore/ - title: restore - - path: /datacenter/dtr/2.0/reference/upgrade/ - title: upgrade - - sectiontitle: Configuration - section: - - path: /datacenter/dtr/2.0/configure/configuration/ - title: Configuration overview - - path: /datacenter/dtr/2.0/configure/config-general/ - title: Configure general settings - - path: /datacenter/dtr/2.0/configure/config-security/ - title: Security configuration - - path: /datacenter/dtr/2.0/configure/config-storage/ - title: Storage configuration - - sectiontitle: Monitor and troubleshoot - section: - - path: /datacenter/dtr/2.0/monitor-troubleshoot/ - title: Monitor DTR - - path: /datacenter/dtr/2.0/monitor-troubleshoot/troubleshoot/ - title: Troubleshoot DTR - - sectiontitle: High-availability - section: - - path: /datacenter/dtr/2.0/high-availability/ - title: Set up high availability - - path: /datacenter/dtr/2.0/high-availability/backups-and-disaster-recovery/ - title: Backups and disaster recovery - - sectiontitle: User management - section: - - path: /datacenter/dtr/2.0/user-management/ - title: Authentication and authorization - - path: /datacenter/dtr/2.0/user-management/create-and-manage-users/ - title: Create and manage users - - path: /datacenter/dtr/2.0/user-management/create-and-manage-orgs/ - title: Create and manage organizations - - path: /datacenter/dtr/2.0/user-management/create-and-manage-teams/ - title: Create and manage teams - - path: /datacenter/dtr/2.0/user-management/permission-levels/ - title: Permission levels - - sectiontitle: Repositories and images - section: - - path: /datacenter/dtr/2.0/repos-and-images/ - title: Configure your Docker Engine - - path: /datacenter/dtr/2.0/repos-and-images/pull-an-image/ - title: Pull an image - - path: /datacenter/dtr/2.0/repos-and-images/push-an-image/ - title: Push an image - - path: /datacenter/dtr/2.0/repos-and-images/delete-an-image/ - title: Delete an image - - sectiontitle: Release notes - section: - - path: /datacenter/dtr/2.0/release-notes/ - title: Trusted Registry release notes - - path: /datacenter/dtr/2.0/release-notes/prior-release-notes/ - title: Prior Trusted Registry release notes - - sectiontitle: Trusted Registry API - section: - - path: /apidocs/v2.0.1/ - title: API v2.0.1 - - path: /apidocs/v2.0.0/ - title: API v2.0.0 - - path: /apidocs/v1.4.0/ - title: API v1.4.0 - - path: /apidocs/v1.3.3/ - title: API v1.3.3 - - path: /datacenter/dtr/2.0/support/ - title: Get support -- sectiontitle: Docker for Mac - section: - - path: /docker-for-mac/docker-toolbox/ - title: Docker for Mac vs. Docker Toolbox - - path: /docker-for-mac/multi-arch/ - title: Leveraging Multi-CPU Architecture Support - - path: /docker-for-mac/networking/ - title: Networking - - path: /docker-for-mac/osxfs/ - title: File system sharing - - path: /docker-for-mac/troubleshoot/ - title: Logs and Troubleshooting - - path: /docker-for-mac/faqs/ - title: FAQs - - path: /docker-for-mac/examples/ - title: Example Applications - - path: /docker-for-mac/opensource/ - title: Open Source Licensing - - path: /docker-for-mac/release-notes/ - title: Release Notes -- sectiontitle: Docker for Windows - section: - - path: /docker-for-windows/troubleshoot/ - title: Logs and Troubleshooting - - path: /docker-for-windows/faqs/ - title: FAQs - - path: /docker-for-windows/examples/ - title: Example Applications - - path: /docker-for-windows/opensource/ - title: Open Source Licensing - - path: /docker-for-windows/release-notes/ - title: Release Notes -- sectiontitle: Docker ID - section: - - title: Docker ID accounts - path: /docker-id/ - - title: Docker ID accounts API - path: /docker-id/api-reference/ -- sectiontitle: Docker Machine - section: - - path: /machine/overview/ - title: Machine Overview - - path: /machine/install-machine/ - title: Install Machine - - path: /machine/get-started/ - title: Get started with a local VM - - path: /machine/get-started-cloud/ - title: Provision hosts in the cloud - - sectiontitle: Learn by example - section: - - path: /machine/examples/ocean/ - title: Provision Digital Ocean Droplets - - path: /machine/examples/aws/ - title: Provision AWS EC2 Instances - - path: /machine/concepts/ - title: Machine concepts and help - - sectiontitle: Machine (docker-machine) CLI - section: - - path: /machine/reference/ - title: Machine CLI overview - - path: /machine/completion/ - title: Machine command-line Completion - - path: /machine/reference/active/ - title: active - - path: /machine/reference/config/ - title: config - - path: /machine/reference/create/ - title: create - - path: /machine/reference/env/ - title: env - - path: /machine/reference/help/ - title: help - - path: /machine/reference/inspect/ - title: inspect - - path: /machine/reference/ip/ - title: ip - - path: /machine/reference/kill/ - title: kill - - path: /machine/reference/ls/ - title: ls - - path: /machine/reference/provision/ - title: provision - - path: /machine/reference/regenerate-certs/ - title: regenerate-certs - - path: /machine/reference/restart/ - title: restart - - path: /machine/reference/rm/ - title: rm - - path: /machine/reference/scp/ - title: scp - - path: /machine/reference/ssh/ - title: ssh - - path: /machine/reference/start/ - title: start - - path: /machine/reference/status/ - title: status - - path: /machine/reference/stop/ - title: stop - - path: /machine/reference/upgrade/ - title: upgrade - - path: /machine/reference/url/ - title: url - - sectiontitle: Machine drivers - section: - - path: /machine/drivers/os-base/ - title: Driver options and operating system defaults - - path: /machine/drivers/aws/ - title: Amazon Web Services - - path: /machine/drivers/digital-ocean/ - title: Digital Ocean - - path: /machine/drivers/exoscale/ - title: Exoscale - - path: /machine/drivers/generic/ - title: Generic - - path: /machine/drivers/gce/ - title: Google Compute Engine - - path: /machine/drivers/soft-layer/ - title: IBM Softlayer - - path: /machine/drivers/azure/ - title: Microsoft Azure - - path: /machine/drivers/hyper-v/ - title: Microsoft Hyper-V - - path: /machine/drivers/openstack/ - title: OpenStack - - path: /machine/drivers/virtualbox/ - title: Oracle VirtualBox - - path: /machine/drivers/rackspace/ - title: Rackspace - - path: /machine/drivers/vm-fusion/ - title: VMware Fusion - - path: /machine/drivers/vm-cloud/ - title: VMware vCloud Air - - path: /machine/drivers/vsphere/ - title: VMware vSphere - - path: /machine/migrate-to-machine/ - title: Migrate from Boot2Docker to Machine -- sectiontitle: Docker Notary - section: - - path: /notary/getting_started/ - title: Getting started with Notary - - path: /notary/advanced_usage/ - title: Use the Notary client - - path: /notary/service_architecture/ - title: Understand the service architecture - - path: /notary/running_a_service/ - title: Running a Notary service - - path: /notary/changelog/ - title: Notary Changelog - - sectiontitle: Configuration files - section: - - path: /notary/reference/server-config/ - title: Server Configuration - - path: /notary/reference/signer-config/ - title: Signer Configuration - - path: /notary/reference/client-config/ - title: Client Configuration - - path: /notary/reference/common-configs/ - title: Common Server and Signer Configurations -- sectiontitle: Docker Registry - section: - - path: /registry/ - title: Registry Overview - - path: /registry/introduction/ - title: Understanding the Registry - - path: /registry/deploying/ - title: Deploying a registry server - - path: /registry/configuration/ - title: Configuring a registry - - path: /registry/notifications/ - title: Working with notifications - - sectiontitle: Recipes - section: - - path: /registry/recipes/ - title: Recipes Overview - - path: /registry/recipes/apache/ - title: Authenticating proxy with apache - - path: /registry/recipes/nginx/ - title: Authenticating proxy with nginx - - path: /registry/recipes/mirror/ - title: Mirroring Docker Hub - - path: /registry/recipes/osx-setup-guide/ - title: Running on macOS - - path: /registry/garbage-collection/ - title: Garbage Collection - - path: /registry/insecure/ - title: Testing an insecure registry - - path: /registry/deprecated/ - title: Deprecated Features - - path: /registry/compatibility/ - title: Compatibility - - path: /registry/help/ - title: Getting help - - sectiontitle: Registry reference - section: - - path: /registry/spec/api/ - title: Registry HTTP API V2 - - sectiontitle: Registry image manifests - section: - - path: /registry/spec/manifest-v2-1/ - title: Image Manifest V 2, Schema 1 - - path: /registry/spec/manifest-v2-2/ - title: Image Manifest V 2, Schema 2 - - sectiontitle: Registry storage drivers - section: - - path: /registry/storage-drivers/ - title: Storage Driver overview - - path: /registry/storage-drivers/oss/ - title: Aliyun OSS storage driver - - path: /registry/storage-drivers/filesystem/ - title: Filesystem storage driver - - path: /registry/storage-drivers/gcs/ - title: GCS storage driver - - path: /registry/storage-drivers/inmemory/ - title: In-memory storage driver - - path: /registry/storage-drivers/azure/ - title: Microsoft Azure storage driver - - path: /registry/storage-drivers/s3/ - title: S3 storage driver - - path: /registry/storage-drivers/swift/ - title: Swift storage driver - - sectiontitle: Registry specifications - section: - - path: /registry/spec/auth/ - title: Docker Registry Token Authentication - - path: /registry/spec/auth/jwt/ - title: Token Authentication Implementation - - path: /registry/spec/auth/oauth/ - title: Oauth2 Token Authentication - - path: /registry/spec/auth/scope/ - title: Token Scope Documentation - - path: /registry/spec/auth/token/ - title: Token Authentication Specification -- sectiontitle: Docker Store - section: - - path: /docker-store/ - title: Docker Store Overview - - path: /docker-store/publish/ - title: Submit a product to Docker Store - - path: /docker-store/faq/ - title: Docker Store FAQs -- sectiontitle: Superseded products and tools - section: - - sectiontitle: Docker Hub - section: - - path: /docker-hub/ - title: Overview of Docker Hub - - path: /docker-hub/accounts/ - title: Use Docker Hub with Docker ID - - path: /docker-hub/orgs/ - title: Teams & Organizations - - path: /docker-hub/repos/ - title: Repositories on Docker Hub - - path: /docker-hub/builds/ - title: Automated Builds - - path: /docker-hub/webhooks/ - title: Webhooks for automated builds - - path: /docker-hub/bitbucket/ - title: Automated Builds with Bitbucket - - path: /docker-hub/github/ - title: Automated Builds from GitHub - - path: /docker-hub/official_repos/ - title: Official Repositories on Docker Hub - - sectiontitle: Docker Swarm - section: - - path: /swarm/overview/ - title: Swarm Overview - - path: /swarm/get-swarm/ - title: How to get Swarm - - path: /swarm/install-w-machine/ - title: Evaluate Swarm in a sandbox - - path: /swarm/plan-for-production/ - title: Plan for Swarm in production - - path: /swarm/install-manual/ - title: Build a Swarm cluster for production - - sectiontitle: Try Swarm at scale - section: - - path: /swarm/swarm_at_scale/about/ - title: Learn the application architecture - - path: /swarm/swarm_at_scale/deploy-infra/ - title: Deploy application infrastructure - - path: /swarm/swarm_at_scale/deploy-app/ - title: Deploy the application - - path: /swarm/swarm_at_scale/troubleshoot/ - title: Troubleshoot the application - - path: /swarm/multi-manager-setup/ - title: High availability in Swarm - - path: /swarm/networking/ - title: Swarm and container networks - - path: /swarm/discovery/ - title: Discovery - - path: /swarm/provision-with-machine/ - title: Provision with Machine - - sectiontitle: Scheduling - section: - - path: /swarm/scheduler/filter/ - title: Filters - - path: /swarm/scheduler/rescheduling/ - title: Rescheduling - - path: /swarm/scheduler/strategy/ - title: Strategies - - path: /swarm/secure-swarm-tls/ - title: Overview Docker Swarm with TLS - - path: /swarm/configure-tls/ - title: Configure Docker Swarm for TLS - - sectiontitle: Command line reference - section: - - path: /swarm/reference/create/ - title: create - - path: /swarm/reference/help/ - title: help - - path: /swarm/reference/join/ - title: join - - path: /swarm/reference/list/ - title: list - - path: /swarm/reference/manage/ - title: manage - - path: /swarm/reference/swarm/ - title: swarm - - path: /swarm/status-code-comparison-to-docker/ - title: API response codes - - path: /swarm/swarm-api/ - title: Docker Swarm API - -glossary: -- path: /glossary/#aufs - title: aufs -- path: /glossary/#base-image - title: base image -- path: /glossary/#boot2docker - title: boot2docker -- path: /glossary/#btrfs - title: btrfs -- path: /glossary/#build - title: build -- path: /glossary/#cgroups - title: cgroups -- path: /glossary/#compose - title: Compose -- path: /glossary/#copy-on-write - title: copy-on-write -- path: /glossary/#container - title: container -- path: /glossary/#data-volume - title: data volume -- path: /glossary/#docker - title: Docker -- path: /glossary/#docker-for-mac - title: Docker for Mac -- path: /glossary/#docker-for-windows - title: Docker for Windows -- path: /glossary/#docker-hub - title: Docker Hub -- path: /glossary/#dockerfile - title: Dockerfile -- path: /glossary/#filesystem - title: filesystem -- path: /glossary/#image - title: image -- path: /glossary/#libcontainer - title: libcontainer -- path: /glossary/#libnetwork - title: libnetwork -- path: /glossary/#link - title: link -- path: /glossary/#machine - title: Machine -- path: /glossary/#node - title: node -- path: /glossary/#overlay-network-driver - title: overlay network driver -- path: /glossary/#overlay-storage-driver - title: overlay storage driver -- path: /glossary/#registry - title: registry -- path: /glossary/#repository - title: repository -- path: /glossary/#service - title: service -- path: /glossary/#service-discovery - title: service discovery -- path: /glossary/#swarm - title: swarm -- path: /glossary/#docker-swarm - title: Docker Swarm -- path: /glossary/#swarm-mode - title: swarm mode -- path: /glossary/#tag - title: tag -- path: /glossary/#task - title: task -- path: /glossary/#toolbox - title: Toolbox -- path: /glossary/#union-file-system - title: Union file system -- path: /glossary/#virtual-machine - title: virtual machine diff --git a/_includes/cli.md b/_includes/cli.md deleted file mode 100644 index 1fecee0f984f..000000000000 --- a/_includes/cli.md +++ /dev/null @@ -1,79 +0,0 @@ -{% capture tabChar %} {% endcapture %} -{% capture dockerBaseDesc %}The base command for the Docker CLI.{% endcapture %} -{% if page.datafolder and page.datafile %} - -## Description - -{% if page.datafile=="docker" %} -{{ dockerBaseDesc }} -{% else %} -{{ site.data[page.datafolder][page.datafile].short }} -{% endif %} - -{% if site.data[page.datafolder][page.datafile].usage %} - -## Usage - -```shell -{{ site.data[page.datafolder][page.datafile].usage | replace: tabChar,"" | strip }}{% if site.data[page.datafolder][page.datafile].cname %} COMMAND{% endif %} -``` - -{% endif %} -{% if site.data[page.datafolder][page.datafile].options %} - -## Options - -| Name, shorthand | Default | Description | -| ---- | ------- | ----------- |{% for option in site.data[page.datafolder][page.datafile].options %} -| `--{{ option.option }}{% if option.shorthand %}, -{{ option.shorthand }}{% endif %}` | {% if option.default_value and option.default_value != "[]" %}`{{ option.default_value }}`{% endif %} | {{ option.description | replace: "|","|" | strip }} | {% endfor %} - -{% endif %} - -{% if site.data[page.datafolder][page.datafile].cname %} - -## Child commands - -| Command | Description | -| ------- | ----------- |{% for command in site.data[page.datafolder][page.datafile].cname %}{% capture dataFileName %}{{ command | strip | replace: " ","_" }}{% endcapture %} -| [{{ command }}]({{ dataFileName | replace: "docker_","" }}/) | {{ site.data[page.datafolder][dataFileName].short }} |{% endfor %} - -{% endif %} - -{% if site.data[page.datafolder][page.datafile].pname and site.data[page.datafolder][page.datafile].pname != page.datafile %} - -## Parent command - -{% capture parentfile %}{{ site.data[page.datafolder][page.datafile].plink | replace: ".yaml", "" | replace: "docker_","" }}{% endcapture %} -{% capture parentdatafile %}{{ site.data[page.datafolder][page.datafile].plink | replace: ".yaml", "" }}{% endcapture %} - -{% if site.data[page.datafolder][page.datafile].pname == "docker" %} -{% capture parentDesc %}{{ dockerBaseDesc }}{% endcapture %} -{% else %} -{% capture parentDesc %}{{ site.data[page.datafolder][parentdatafile].short }}{% endcapture %} -{% endif %} - -| Command | Description | -| ------- | ----------- | -| [{{ site.data[page.datafolder][page.datafile].pname }}]({{ parentfile }}) | {{ parentDesc }}| - -{% endif %} - -{% if site.data[page.datafolder][page.datafile].pname != "docker" %} - -## Related commands - -| Command | Description | -| ------- | ----------- |{% for command in site.data[page.datafolder][parentdatafile].cname %}{% capture dataFileName %}{{ command | strip | replace: " ","_" }}{% endcapture %} -| [{{ command }}]({{ dataFileName | replace: "docker_","" }}/) | {{ site.data[page.datafolder][dataFileName].short }} |{% endfor %} - -{% endif %} - -{% if site.data[page.datafolder][page.datafile].long != site.data[page.datafolder][page.datafile].short %} - -## Extended description - -{{ site.data[page.datafolder][page.datafile].long }} - -{% endif %} - -{% endif %} diff --git a/_includes/components/ddc_url_list.html b/_includes/components/ddc_url_list.html deleted file mode 100644 index 1cf4890e535a..000000000000 --- a/_includes/components/ddc_url_list.html +++ /dev/null @@ -1,18 +0,0 @@ - -{% for data in site.data.ddc_offline_files %} - {% if data.ucp-version == page.ucp_version %} -
-
-
- {% for tar-file in data.tar-files %} - - {{ tar-file.description }} - - - {% endfor %} -
-
-
- {% endif %} -{% endfor %} - diff --git a/_includes/content/docker_elevator_pitch.md b/_includes/content/docker_elevator_pitch.md deleted file mode 100644 index dbcf9a01e374..000000000000 --- a/_includes/content/docker_elevator_pitch.md +++ /dev/null @@ -1,10 +0,0 @@ -Docker provides a way to run applications securely isolated in a container, packaged -with all its dependencies and libraries. Because your application can always be -run with the environment it expects right in the build image, testing -and deployment is simpler than ever, as your build will be fully portable and ready -to run as designed in any environment. And because containers are lightweight and run -without the extra load of a hypervisor, you can run many applications that all rely -on different libraries and environments on a single kernel, each one never interfering -with the other. This allows you to get more out of your hardware by shifting the "unit -of scale" for your application from a virtual or physical machine, to a container -instance. diff --git a/_includes/content/typical_docker_workflow.md b/_includes/content/typical_docker_workflow.md deleted file mode 100644 index d97012fd6d33..000000000000 --- a/_includes/content/typical_docker_workflow.md +++ /dev/null @@ -1,23 +0,0 @@ -### Typical Docker workflow - -① Get your code and its dependencies into Docker [containers](engine/getstarted/step_two.md). - -- [Write a Dockerfile](engine/getstarted/step_four.md) that -defines the execution environment and pulls in your code. - -- If your app depends on external services (such as Redis or MySQL), [find them on a registry like Docker Hub](docker-hub/repos.md), and refer to them in [a Docker Compose file](compose/overview.md), along with a call to your app, so they'll run simultaneously. - -- Software providers also distribute paid software on the [Docker Store](https://store.docker.com). - -- Build, then run your containers on a virtual host with [Docker Machine](machine/overview.md) as you develop. -

-② Configure [networking](engine/tutorials/networkingcontainers.md) and [storage](engine/tutorials/dockervolumes.md) for your solution, if needed. - -③ Upload builds to a registry ([ours](/engine/getstarted/step_six.md) or [yours](/datacenter/dtr/2.0/index.md)) or your cloud providers to collaborate with your team. - -④ -To run your app as a set of services across multiple hosts, [set up a Swarm cluster](/engine/swarm/index.md) and -[scale it to meet demand](/engine/swarm/swarm-tutorial/scale-service.md). Use [Universal Control Plane](/datacenter/ucp/1.1/overview.md) to manage your swarm in a friendly UI! - -⑤ -Deploy to your preferred cloud providers with [Docker Cloud](/docker-cloud/index.md), or use [Docker Datacenter](https://www.docker.com/products/docker-datacenter) to deploy to your own on-premise hardware. diff --git a/_includes/d4a_buttons.md b/_includes/d4a_buttons.md deleted file mode 100644 index c2bfa4ea1d75..000000000000 --- a/_includes/d4a_buttons.md +++ /dev/null @@ -1,6 +0,0 @@ -{% capture aws_button_latest %} -![Docker for AWS](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png) -{% endcapture %} -{% capture azure_button_latest %} -![Docker for Azure](http://azuredeploy.net/deploybutton.png) -{% endcapture %} diff --git a/_includes/noindex.html b/_includes/noindex.html deleted file mode 100644 index f5105bd8c75e..000000000000 --- a/_includes/noindex.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/_includes/read_time.html b/_includes/read_time.html deleted file mode 100644 index 9a7565e233f0..000000000000 --- a/_includes/read_time.html +++ /dev/null @@ -1,9 +0,0 @@ - - Estimated reading time: - {% assign words = content | number_of_words %} - {% if words < 360 %} - 1 minute - {% else %} - {{ words | divided_by:180 }} minutes - {% endif %} - diff --git a/_includes/toc_pure_liquid.html b/_includes/toc_pure_liquid.html deleted file mode 100644 index bf2b4c166dc3..000000000000 --- a/_includes/toc_pure_liquid.html +++ /dev/null @@ -1,70 +0,0 @@ -{% capture tocWorkspace %} - {% comment %} - "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe - Usage: - {% include toc_pure_liquid.html html=content sanitize=true class="inline_toc" id="my_toc" toc_min=2 toc_max=3 my_name="unnamed" %} - - Variables: - * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll - * sanitize (bool) - when set to true, the headers will be sanitized in the TOC - * class (string) - a CSS class assigned to the TOC - * id (string) - an ID to assigned to the TOC - * toc_min (int) - the minimum TOC header level to use (if not set, check page, then site, then default to 2) - * toc_max (int) - the maximum TOC header level to use (if not set, check page, then site, then default to 3) - * page_name (string) - the URL of the page - - Output: - An unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it - {% endcomment %} - - {% capture my_toc %}{% endcapture %} - {% assign minHeader = include.toc_min | default: 2 %} - {% assign maxHeader = include.toc_max | default: 3 %} - {% assign my_name = include.page_name | default: "unnamed" %} - {% assign nodes = include.html | split: '= minHeader %} - {% continue %} - {% endunless %} - - {% if headerLevel > maxHeader %} - {% continue %} - {% endif %} - - {% assign _idWorkspace = _workspace[0] | split: '"' %} - {% assign html_id = _idWorkspace[1] %} - - {% capture _hAttrToStrip %}{{ headerLevel }} id="{{ html_id }}">{% endcapture %} - {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %} - - {% assign space = '' %} - {% for i in (1..indentAmount) %} - {% assign space = space | prepend: ' ' %} - {% endfor %} - - {% capture my_toc %}{{ my_toc }} -{{ space }}- [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}]({{ my_name }}#{{ html_id }}){: class="nomunge" }{% endcapture %} - - {% endfor %} - - {% if include.class %} - {% capture my_toc %}{:.{{ include.class }}} -{{ my_toc | lstrip }}{% endcapture %} - {% endif %} - - {% if include.id %} - {% capture my_toc %}{: #{{ include.id }}} -{{ my_toc | lstrip }}{% endcapture %} - {% endif %} -{% endcapture %}{% assign tocWorkspace = '' %} -{{ my_toc | markdownify }} diff --git a/_includes/tree.html b/_includes/tree.html deleted file mode 100644 index 033d4fc02157..000000000000 --- a/_includes/tree.html +++ /dev/null @@ -1 +0,0 @@ -{% assign foundBranch="false" %}{% for item in tree %}{% if item.sectiontitle %}{% if foundBranch=="false" %}{% capture treeString %}{{ item.section | downcase }}{% endcapture %}{% capture pageURLString %}"{{ page.url }}"{% endcapture %}{% else %}{% assign treeString="" %}{% endif %}

  • {{ item.sectiontitle }}{% else %}
  • {{ item.title }}
  • {% endif %}{% endfor %} diff --git a/_includes/treebuilder.html b/_includes/treebuilder.html deleted file mode 100644 index 26d142c860e6..000000000000 --- a/_includes/treebuilder.html +++ /dev/null @@ -1,14 +0,0 @@ -{% assign topicFound="false" %} -{% for section in site.data.toc.horizontalnav %} - {% assign activeCSS = "" %} - {% if topicFound=="false" %} - {% assign tree = site.data.toc[section.node] %} - {% capture thisSection %}{% include tree.html %}{% endcapture %} - {% if section.path == page.url or thisSection contains "active currentPage" %} - {% capture leftnav %}{{ thisSection }}{% endcapture %} - {% capture activeCSS %} class="active"{% endcapture %} - {% assign topicFound="true" %} - {% endif %} - {% endif %} -
  • {{ section.title }}
  • -{% endfor %} diff --git a/_includes/why_d4a.md b/_includes/why_d4a.md deleted file mode 100644 index 1f1fa4a36b87..000000000000 --- a/_includes/why_d4a.md +++ /dev/null @@ -1,104 +0,0 @@ -The [Docker for {{cloudprovider}}](https://docs.docker.com/docker-for-{{cloudprovider | downcase}}/) -project was created and is being actively developed to ensure that Docker users -can enjoy a fantastic out-of-the-box experience on {{cloudprovider}}. It is now -generally available and can now be used by everyone. - -As an informed user, you might be curious to know what this project has to offer -you for running your development, staging, or production workloads. - -## Native to Docker - -Docker for {{cloudprovider}} provides a Docker-native solution that avoids -operational complexity and adding unneeded additional APIs to the Docker stack. - -Docker for {{cloudprovider}} allows you to interact with Docker directly -(including native Docker orchestration), instead of distracting you with the -need to navigate extra layers on top of Docker. You can focus instead on the -thing that matters most: running your workloads. This will help you and your -team to deliver more value to the business faster, to speak one common -"language", and to have fewer details to keep in your head at once. - -The skills that you and your team have already learned, and will continue to -learn, using Docker on the desktop or elsewhere will automatically carry over to -using Docker on {{cloudprovider}}. The added consistency across clouds also -helps to ensure that a migration or multi-cloud strategy is easier to accomplish -in the future if desired. - -## Skip the boilerplate and maintenance work - -Docker for {{cloudprovider}} bootstraps all of the recommended infrastructure to -start using Docker on {{cloudprovider}} automatically. You don't need to worry -about rolling your own instances, security groups, or load balancers when using -Docker for {{cloudprovider}}. - -Likewise, setting up and using Docker swarm mode functionality for container -orchestration is managed across the cluster's lifecycle when you use Docker for -{{cloudprovider}}. Docker has already coordinated the various bits of automation -you would otherwise be gluing together on your own to bootstrap Docker swarm -mode on these platforms. When the cluster is finished booting, you can jump -right in and start running `docker service` commands. - -We also provide a prescriptive upgrade path that helps users upgrade between -various versions of Docker in a smooth and automatic way. Instead of -experiencing "maintenance dread" as you ponder your future responsibilities -upgrading the software you are using, you can easily upgrade to new versions -when they are released. - -## Minimal, Docker-focused base - -The custom Linux distribution used by Docker for {{cloudprovider}} is carefully -developed and configured to run Docker well. Everything from the kernel -configuration to the networking stack is customized to make it a favorable place -to run Docker. For instance, we make sure that the kernel versions are -compatible with the latest and greatest in Docker functionality, such as the -`overlay2` storage driver. - -Instead of facing the trade-offs of a general purpose operating system, Docker's -custom Linux distribution focuses on only one thing: providing the best _Docker_ -experience for you and your team. - -## Self-cleaning and self-healing - -Even the most conscientious admin can be caught off guard by issues such as -unexpectedly aggressive logging or the Linux kernel killing memory-hungry -processes. In Docker for {{cloudprovider}}, your cluster is resilient to a -variety of such issues by default. - -Log rotation native to the host is configured for you automatically, so chatty -logs won't use up all of your disk space. Likewise, the "system prune" option -allows you to ensure unused Docker resources such as old images are cleaned up -automatically. The lifecycle of nodes is managed using auto-scaling groups or -similar constructs, so that if a node enters an unhealthy state for unforeseen -reasons, the node will be taken out of load balancer rotation and/or replaced -automatically and all of its container tasks will be rescheduled. - -These self-cleaning and self-healing properties are enabled by default and don't -need configuration, so you can breathe easier as the risk of downtime is -reduced. - -## Logging native to the platforms - -Centralized logging is a critical component of many modern infrastructure -stacks. To have these logs indexed and searchable proves invaluable for -debugging appliation and system issues as they come up. Out of the box, Docker -for {{cloudprovider}} forwards logs from containers to a native cloud provider -abstraction ({{cloudprovider_log_dest}}). - -## Next-generation Docker bug reporting tools - -One common pain point in open source issue reporting is effectively -communicating the current state of your infrastructure and the issues you are -seeing to the upstream. In Docker for {{cloudprovider}}, you receive new tools -to communicate any issues you experience quickly and securely to Docker -employees. The Docker for {{cloudprovider}} shell includes a `docker-diagnose` -script which, at your request, will transmit detailed diagnostic information to -Docker support staff to reduce the traditional -"please-post-the-output-of-this-command" back and forth frequently encountered -in bug reports. - -# Try it today - -Ready to get started? [Try Docker for {{cloudprovider}} today](https://docs.docker.com/docker-for-{{cloudprovider | downcase}}/). -We'd be happy to hear your feedback via e-mail at docker-for-iaas@docker.com or -in the issue repository -[for {{cloudprovider}}](https://github.com/docker/for-{{cloudprovider | downcase}}). diff --git a/_layouts/docs.html b/_layouts/docs.html deleted file mode 100644 index ae3e8c10092b..000000000000 --- a/_layouts/docs.html +++ /dev/null @@ -1,422 +0,0 @@ - -{% if page.path contains "index.md" %} -{% capture basehref %}{{ page.url }}{% endcapture %} -{% else %} -{% assign crumbs = page.url | split: '/' %} -{% assign stoppingpoint = crumbs | size | minus: 1 %} -{% for crumb in crumbs %} -{% if forloop.index == stoppingpoint %} -{% capture basehref %}{{basehref}}{{ crumb }}/{% endcapture %} -{% break %} -{% else %} -{% capture basehref %}{{basehref}}{{ crumb }}/{% endcapture %} -{% endif %} -{% endfor %} -{% endif %} - -{% assign edit_url = "https://github.com/docker/docker.github.io/edit/master/" | append: page.path %} -{% for entry in site.data.not_edited_here.overrides %} - {% if page.url contains entry.path %} - {% if entry.source %}{% assign edit_url = entry.source %}{% else %}{% assign edit_url = "" %}{% endif %} - {% break %} - {% endif %} -{% endfor %} - - - - - - - - - - -{% if site.GH_ENV == "gh_pages" %}{% endif %} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{% seo %} -{% if page.hide_from_sitemap %}{% endif %} - - -
    -
    - - - - - - -
    -
    - -
    - -
    -
    -
    - -
      - {% include treebuilder.html %} -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - {% if page.title %}

    {{ page.title }}

    {% endif %} - {% if page.advisory %}
    {{ site.data.advisories.texts[page.advisory] | markdownify }}
    {% endif %} - {% unless page.tree == false %}{% include read_time.html %}{% endunless %} - {{ content }} - {% if page.noratings != true %} -
    - chat icon - Feedback? Suggestions? Can't find something in the docs?
    - {% if edit_url != "" %} - Edit this page - {% endif %} - Request docs changes Get support
    Rate this page: -
    - -
    - {% endif %} -
    - - -
    - -
    -
    -
    -
    -
    - -
    -
    - - -
    -
    - - - - - - - -
    - - - - - - diff --git a/allpagelinks.md b/allpagelinks.md deleted file mode 100644 index 521b58aed64f..000000000000 --- a/allpagelinks.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: null -hide_from_sitemap: true -layout: null ---- - -# All site links for `docs.docker.com` - -{% assign pages = site.pages | sort:"path" %} -{% for page in pages %} - {% unless page.layout == null %} - {% unless page.title == nil %} -- [{{page.title}}]({{page.url}}) - {% endunless %} - {% endunless %} -{% endfor %} diff --git a/apidocs/README.md b/apidocs/README.md deleted file mode 100644 index fac1a2e97f44..000000000000 --- a/apidocs/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# The files in this directory are read-only - -The API docs for the products represented in this directory are generated -internally by Docker using our source code. If you have feedback on these -docs, the best way to let us know is to file an issue on GitHub. diff --git a/apidocs/cloud-api-source/.dockerignore b/apidocs/cloud-api-source/.dockerignore deleted file mode 100644 index 567609b1234a..000000000000 --- a/apidocs/cloud-api-source/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -build/ diff --git a/apidocs/cloud-api-source/.gitignore b/apidocs/cloud-api-source/.gitignore deleted file mode 100644 index 090a1f02dfe2..000000000000 --- a/apidocs/cloud-api-source/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.idea -.DS_Store diff --git a/apidocs/cloud-api-source/Dockerfile b/apidocs/cloud-api-source/Dockerfile deleted file mode 100644 index 9bd11f377899..000000000000 --- a/apidocs/cloud-api-source/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM ubuntu:trusty - -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -yq ruby ruby-dev build-essential git awscli && \ - gem install --no-ri --no-rdoc bundler -WORKDIR /app -ADD Gemfile /app/Gemfile -ADD Gemfile.lock /app/Gemfile.lock -RUN bundle install -ADD . /app - -ENV PATH=$PATH:/app AWS_ACCESS_KEY_ID=**setme** AWS_SECRET_ACCESS_KEY=**setme** BUCKET=**setme** - -EXPOSE 4567 -CMD ["bundle", "exec", "middleman", "server"] diff --git a/apidocs/cloud-api-source/Gemfile b/apidocs/cloud-api-source/Gemfile deleted file mode 100644 index 0933b9d6839e..000000000000 --- a/apidocs/cloud-api-source/Gemfile +++ /dev/null @@ -1,12 +0,0 @@ -source 'https://rubygems.org' - -# Middleman -gem 'middleman', '~>3.3.10' -gem 'middleman-gh-pages', '~> 0.0.3' -gem 'middleman-syntax', '~> 2.0.0' -gem 'middleman-autoprefixer', '~> 2.4.4' -gem 'rouge', '~> 1.9.0' -gem 'redcarpet', '~> 3.3.2' - -gem 'rake', '~> 10.4.2' -gem 'therubyracer', '~> 0.12.1', platforms: :ruby diff --git a/apidocs/cloud-api-source/Gemfile.lock b/apidocs/cloud-api-source/Gemfile.lock deleted file mode 100644 index fff5ee10cb30..000000000000 --- a/apidocs/cloud-api-source/Gemfile.lock +++ /dev/null @@ -1,140 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - activesupport (4.1.11) - i18n (~> 0.6, >= 0.6.9) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.1) - tzinfo (~> 1.1) - autoprefixer-rails (5.2.0.1) - execjs - json - celluloid (0.16.0) - timers (~> 4.0.0) - chunky_png (1.3.4) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.9.1.1) - compass (1.0.3) - chunky_png (~> 1.2) - compass-core (~> 1.0.2) - compass-import-once (~> 1.0.5) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - sass (>= 3.3.13, < 3.5) - compass-core (1.0.3) - multi_json (~> 1.0) - sass (>= 3.3.0, < 3.5) - compass-import-once (1.0.5) - sass (>= 3.2, < 3.5) - erubis (2.7.0) - execjs (2.5.2) - ffi (1.9.8) - haml (4.0.6) - tilt - hike (1.2.3) - hitimes (1.2.2) - hooks (0.4.0) - uber (~> 0.0.4) - i18n (0.7.0) - json (1.8.3) - kramdown (1.7.0) - libv8 (3.16.14.7) - listen (2.10.1) - celluloid (~> 0.16.0) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - middleman (3.3.12) - coffee-script (~> 2.2) - compass (>= 1.0.0, < 2.0.0) - compass-import-once (= 1.0.5) - execjs (~> 2.0) - haml (>= 4.0.5) - kramdown (~> 1.2) - middleman-core (= 3.3.12) - middleman-sprockets (>= 3.1.2) - sass (>= 3.4.0, < 4.0) - uglifier (~> 2.5) - middleman-autoprefixer (2.4.4) - autoprefixer-rails (~> 5.2.0) - middleman-core (>= 3.3.3) - middleman-core (3.3.12) - activesupport (~> 4.1.0) - bundler (~> 1.1) - erubis - hooks (~> 0.3) - i18n (~> 0.7.0) - listen (>= 2.7.9, < 3.0) - padrino-helpers (~> 0.12.3) - rack (>= 1.4.5, < 2.0) - rack-test (~> 0.6.2) - thor (>= 0.15.2, < 2.0) - tilt (~> 1.4.1, < 2.0) - middleman-gh-pages (0.0.3) - rake (> 0.9.3) - middleman-sprockets (3.4.2) - middleman-core (>= 3.3) - sprockets (~> 2.12.1) - sprockets-helpers (~> 1.1.0) - sprockets-sass (~> 1.3.0) - middleman-syntax (2.0.0) - middleman-core (~> 3.2) - rouge (~> 1.0) - minitest (5.7.0) - multi_json (1.11.1) - padrino-helpers (0.12.5) - i18n (~> 0.6, >= 0.6.7) - padrino-support (= 0.12.5) - tilt (~> 1.4.1) - padrino-support (0.12.5) - activesupport (>= 3.1) - rack (1.6.4) - rack-test (0.6.3) - rack (>= 1.0) - rake (10.4.2) - rb-fsevent (0.9.5) - rb-inotify (0.9.5) - ffi (>= 0.5.0) - redcarpet (3.3.2) - ref (1.0.5) - rouge (1.9.0) - sass (3.4.14) - sprockets (2.12.3) - hike (~> 1.2) - multi_json (~> 1.0) - rack (~> 1.0) - tilt (~> 1.1, != 1.3.0) - sprockets-helpers (1.1.0) - sprockets (~> 2.0) - sprockets-sass (1.3.1) - sprockets (~> 2.0) - tilt (~> 1.1) - therubyracer (0.12.2) - libv8 (~> 3.16.14.0) - ref - thor (0.19.1) - thread_safe (0.3.5) - tilt (1.4.1) - timers (4.0.1) - hitimes - tzinfo (1.2.2) - thread_safe (~> 0.1) - uber (0.0.13) - uglifier (2.7.1) - execjs (>= 0.3.0) - json (>= 1.8.0) - -PLATFORMS - ruby - -DEPENDENCIES - middleman (~> 3.3.10) - middleman-autoprefixer (~> 2.4.4) - middleman-gh-pages (~> 0.0.3) - middleman-syntax (~> 2.0.0) - rake (~> 10.4.2) - redcarpet (~> 3.3.2) - rouge (~> 1.9.0) - therubyracer (~> 0.12.1) diff --git a/apidocs/cloud-api-source/LICENSE b/apidocs/cloud-api-source/LICENSE deleted file mode 100644 index 5ceddf59f683..000000000000 --- a/apidocs/cloud-api-source/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. \ No newline at end of file diff --git a/apidocs/cloud-api-source/Makefile b/apidocs/cloud-api-source/Makefile deleted file mode 100644 index b3119bb48698..000000000000 --- a/apidocs/cloud-api-source/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -.PHONY: docs build release - -CONTAINER_NAME=api-build -export CONTAINER_NAME - -docs: build - docker run --rm -it -p 4567:4567 dockercloud/api-docs - -build: - git submodule init && git submodule update - docker build -t dockercloud/api-docs . - -release: build - docker rm -f $(CONTAINER_NAME) || true - docker run --name $(CONTAINER_NAME) -it \ - dockercloud/api-docs middleman build - docker cp $(CONTAINER_NAME):/app/build ../ - rm -r ../docker-cloud - mv ../build ../docker-cloud - cp ../docker-cloud/index.html ../layouts/single.html - # defuse text that looks like a go template - # commenting out until we know that we're not using Hugo anywhere & can remove -# grep -rl '{ {' ../docker-cloud/* | xargs sed -i~ "s/{ {/{ {/g" - #rm source/includes/node.md~ - #rm source/includes/stack.md~ - #rm ../source/index.html~ - #rm ../source/layouts/single.html~ - docker rm $(CONTAINER_NAME) diff --git a/apidocs/cloud-api-source/README.md b/apidocs/cloud-api-source/README.md deleted file mode 100644 index 7b96c777a0de..000000000000 --- a/apidocs/cloud-api-source/README.md +++ /dev/null @@ -1,29 +0,0 @@ -dockercloud/api-docs -==================== - -[![Deploy to Docker Cloud](https://files.cloud.docker.com/images/deploy-to-dockercloud.svg)](https://cloud.docker.com/stack/deploy/) - -If you find a typo or mismatch between the API and this documentation, please send us a pull request! - - -## Usage - -To run it locally: - -```none -$ git clone https://github.com/docker/docker.github.io.git -$ make release -``` - -The documentation will be available in http://localhost:8000/ - -## Updating the release HTML - -As with the HTML generated by the DTR apidocs, the Docker Cloud documentation -needs to be generated and the resulting HTML committed to this repository. - -After merging all PR's, run `make release`. This will place the updated HTML -into the `apidocs/docker-cloud` directory. - -Create a new Pull Request and get it merged. - now this repository is ready for -the release process using `docker/docs.docker.com`. diff --git a/apidocs/cloud-api-source/Rakefile b/apidocs/cloud-api-source/Rakefile deleted file mode 100644 index 6a952e1e9143..000000000000 --- a/apidocs/cloud-api-source/Rakefile +++ /dev/null @@ -1,6 +0,0 @@ -require 'middleman-gh-pages' -require 'rake/clean' - -CLOBBER.include('build') - -task :default => [:build] diff --git a/apidocs/cloud-api-source/config.rb b/apidocs/cloud-api-source/config.rb deleted file mode 100644 index 43bceaa5a43b..000000000000 --- a/apidocs/cloud-api-source/config.rb +++ /dev/null @@ -1,38 +0,0 @@ -# Markdown -set :markdown_engine, :redcarpet -set :markdown, - fenced_code_blocks: true, - smartypants: true, - disable_indented_code_blocks: true, - prettify: true, - tables: true, - with_toc_data: true, - no_intra_emphasis: true - -# Assets -set :css_dir, 'stylesheets' -set :js_dir, 'javascripts' -set :images_dir, 'images' -set :fonts_dir, 'fonts' - -# Activate the syntax highlighter -activate :syntax - -activate :autoprefixer do |config| - config.browsers = ['last 2 version', 'Firefox ESR'] - config.cascade = false - config.inline = true -end - -# Github pages require relative links -activate :relative_assets -set :relative_links, true - -# Build Configuration -configure :build do - activate :minify_css - activate :minify_javascript - # activate :relative_assets - # activate :asset_hash - # activate :gzip -end diff --git a/apidocs/cloud-api-source/docker-compose.yml b/apidocs/cloud-api-source/docker-compose.yml deleted file mode 100644 index dc405f6e7f6e..000000000000 --- a/apidocs/cloud-api-source/docker-compose.yml +++ /dev/null @@ -1,4 +0,0 @@ -apidocs: - image: tutum/api-docs:latest - ports: - - "4567:4567" diff --git a/apidocs/cloud-api-source/font-selection.json b/apidocs/cloud-api-source/font-selection.json deleted file mode 100644 index 5e78f5d86217..000000000000 --- a/apidocs/cloud-api-source/font-selection.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "IcoMoonType": "selection", - "icons": [ - { - "icon": { - "paths": [ - "M438.857 73.143q119.429 0 220.286 58.857t159.714 159.714 58.857 220.286-58.857 220.286-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857zM512 785.714v-108.571q0-8-5.143-13.429t-12.571-5.429h-109.714q-7.429 0-13.143 5.714t-5.714 13.143v108.571q0 7.429 5.714 13.143t13.143 5.714h109.714q7.429 0 12.571-5.429t5.143-13.429zM510.857 589.143l10.286-354.857q0-6.857-5.714-10.286-5.714-4.571-13.714-4.571h-125.714q-8 0-13.714 4.571-5.714 3.429-5.714 10.286l9.714 354.857q0 5.714 5.714 10t13.714 4.286h105.714q8 0 13.429-4.286t6-10z" - ], - "attrs": [], - "isMulticolor": false, - "tags": [ - "exclamation-circle" - ], - "defaultCode": 61546, - "grid": 14 - }, - "attrs": [], - "properties": { - "id": 100, - "order": 4, - "prevSize": 28, - "code": 58880, - "name": "exclamation-sign", - "ligatures": "" - }, - "setIdx": 0, - "iconIdx": 0 - }, - { - "icon": { - "paths": [ - "M585.143 786.286v-91.429q0-8-5.143-13.143t-13.143-5.143h-54.857v-292.571q0-8-5.143-13.143t-13.143-5.143h-182.857q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h54.857v182.857h-54.857q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h256q8 0 13.143-5.143t5.143-13.143zM512 274.286v-91.429q0-8-5.143-13.143t-13.143-5.143h-109.714q-8 0-13.143 5.143t-5.143 13.143v91.429q0 8 5.143 13.143t13.143 5.143h109.714q8 0 13.143-5.143t5.143-13.143zM877.714 512q0 119.429-58.857 220.286t-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857 220.286 58.857 159.714 159.714 58.857 220.286z" - ], - "attrs": [], - "isMulticolor": false, - "tags": [ - "info-circle" - ], - "defaultCode": 61530, - "grid": 14 - }, - "attrs": [], - "properties": { - "id": 85, - "order": 3, - "name": "info-sign", - "prevSize": 28, - "code": 58882 - }, - "setIdx": 0, - "iconIdx": 2 - }, - { - "icon": { - "paths": [ - "M733.714 419.429q0-16-10.286-26.286l-52-51.429q-10.857-10.857-25.714-10.857t-25.714 10.857l-233.143 232.571-129.143-129.143q-10.857-10.857-25.714-10.857t-25.714 10.857l-52 51.429q-10.286 10.286-10.286 26.286 0 15.429 10.286 25.714l206.857 206.857q10.857 10.857 25.714 10.857 15.429 0 26.286-10.857l310.286-310.286q10.286-10.286 10.286-25.714zM877.714 512q0 119.429-58.857 220.286t-159.714 159.714-220.286 58.857-220.286-58.857-159.714-159.714-58.857-220.286 58.857-220.286 159.714-159.714 220.286-58.857 220.286 58.857 159.714 159.714 58.857 220.286z" - ], - "attrs": [], - "isMulticolor": false, - "tags": [ - "check-circle" - ], - "defaultCode": 61528, - "grid": 14 - }, - "attrs": [], - "properties": { - "id": 83, - "order": 9, - "prevSize": 28, - "code": 58886, - "name": "ok-sign" - }, - "setIdx": 0, - "iconIdx": 6 - }, - { - "icon": { - "paths": [ - "M658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 29.714-21.714 51.429t-51.429 21.714q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z" - ], - "width": 951, - "attrs": [], - "isMulticolor": false, - "tags": [ - "search" - ], - "defaultCode": 61442, - "grid": 14 - }, - "attrs": [], - "properties": { - "id": 2, - "order": 1, - "prevSize": 28, - "code": 58887, - "name": "icon-search" - }, - "setIdx": 0, - "iconIdx": 7 - } - ], - "height": 1024, - "metadata": { - "name": "slate", - "license": "SIL OFL 1.1" - }, - "preferences": { - "showGlyphs": true, - "showQuickUse": true, - "showQuickUse2": true, - "showSVGs": true, - "fontPref": { - "prefix": "icon-", - "metadata": { - "fontFamily": "slate", - "majorVersion": 1, - "minorVersion": 0, - "description": "Based on FontAwesome", - "license": "SIL OFL 1.1" - }, - "metrics": { - "emSize": 1024, - "baseline": 6.25, - "whitespace": 50 - }, - "resetPoint": 58880, - "showSelector": false, - "selector": "class", - "classSelector": ".icon", - "showMetrics": false, - "showMetadata": true, - "showVersion": true, - "ie7": false - }, - "imagePref": { - "prefix": "icon-", - "png": true, - "useClassSelector": true, - "color": 4473924, - "bgColor": 16777215 - }, - "historySize": 100, - "showCodes": true, - "gridSize": 16, - "showLiga": false - } -} diff --git a/apidocs/cloud-api-source/publish.sh b/apidocs/cloud-api-source/publish.sh deleted file mode 100644 index 006e2da06bad..000000000000 --- a/apidocs/cloud-api-source/publish.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -middleman build -aws s3 sync /app/build s3://${AWS_S3_BUCKET}/apidocs/docker-cloud/ --delete --acl public-read --region us-east-1 diff --git a/apidocs/cloud-api-source/source/fonts/slate.eot b/apidocs/cloud-api-source/source/fonts/slate.eot deleted file mode 100644 index 13c4839a1975..000000000000 Binary files a/apidocs/cloud-api-source/source/fonts/slate.eot and /dev/null differ diff --git a/apidocs/cloud-api-source/source/fonts/slate.svg b/apidocs/cloud-api-source/source/fonts/slate.svg deleted file mode 100644 index 5f34982306bc..000000000000 --- a/apidocs/cloud-api-source/source/fonts/slate.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - diff --git a/apidocs/cloud-api-source/source/fonts/slate.ttf b/apidocs/cloud-api-source/source/fonts/slate.ttf deleted file mode 100644 index ace9a46a7e1e..000000000000 Binary files a/apidocs/cloud-api-source/source/fonts/slate.ttf and /dev/null differ diff --git a/apidocs/cloud-api-source/source/fonts/slate.woff b/apidocs/cloud-api-source/source/fonts/slate.woff deleted file mode 100644 index 1e72e0ee0018..000000000000 Binary files a/apidocs/cloud-api-source/source/fonts/slate.woff and /dev/null differ diff --git a/apidocs/cloud-api-source/source/fonts/slate.woff2 b/apidocs/cloud-api-source/source/fonts/slate.woff2 deleted file mode 100644 index 7c585a727375..000000000000 Binary files a/apidocs/cloud-api-source/source/fonts/slate.woff2 and /dev/null differ diff --git a/apidocs/cloud-api-source/source/images/logo.png b/apidocs/cloud-api-source/source/images/logo.png deleted file mode 100644 index 407d4cc3bf0a..000000000000 Binary files a/apidocs/cloud-api-source/source/images/logo.png and /dev/null differ diff --git a/apidocs/cloud-api-source/source/images/navbar.png b/apidocs/cloud-api-source/source/images/navbar.png deleted file mode 100644 index df38e90d87e1..000000000000 Binary files a/apidocs/cloud-api-source/source/images/navbar.png and /dev/null differ diff --git a/apidocs/cloud-api-source/source/includes/_errors.md b/apidocs/cloud-api-source/source/includes/_errors.md deleted file mode 100644 index 12bb1e692526..000000000000 --- a/apidocs/cloud-api-source/source/includes/_errors.md +++ /dev/null @@ -1,28 +0,0 @@ -# Errors - - -> API response structure - -```json -{ - "error": "Descriptive error message" -} -``` - -The Docker Cloud API uses the following error codes: - - -Error Code | Meaning ----------- | ------- -400 | Bad Request -- There's a problem in the content of your request. Retrying the same request will fail. -401 | Unauthorized -- Your API key is wrong or your account has been deactivated. -402 | Payment Required -- You need to provide billing information to perform this request. -403 | Forbidden -- Quota limit exceeded. Please contact support to request a quota increase. -404 | Not Found -- The requested object cannot be found. -405 | Method Not Allowed -- The endpoint requested does not implement the method sent. -409 | Conflict -- The object cannot be created or updated because another object exists with the same unique fields -415 | Unsupported Media Type -- Make sure you are using `Accept` and `Content-Type` headers as `application/json` and that the data your are `POST`-ing or `PATCH`-ing is in valid JSON format. -429 | Too Many Requests -- You are being throttled because of too many requests in a short period of time. -500 | Internal Server Error -- There was a server error while processing your request. Try again later, or contact support. -503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. -504 | Gateway Timeout -- Our API servers are at full capacity. Please try again later. \ No newline at end of file diff --git a/apidocs/cloud-api-source/source/includes/action.md b/apidocs/cloud-api-source/source/includes/action.md deleted file mode 100644 index 236a216ab98f..000000000000 --- a/apidocs/cloud-api-source/source/includes/action.md +++ /dev/null @@ -1,353 +0,0 @@ -# Actions - -## Action - -> Example - -```json -{ - "action": "Cluster Create", - "end_date": "Wed, 17 Sep 2014 08:26:22 +0000", - "ip": "56.78.90.12", - "is_user_action": true, - "can_be_canceled": false, - "location": "New York, USA", - "method": "POST", - "object": "/api/infra/v1/user_namespace/cluster/eea638f4-b77a-4183-b241-22dbd7866f22/", - "path": "/api/infra/v1/user_namespace/cluster/", - "resource_uri": "/api/audit/v1/action/6246c558-976c-4df6-ba60-eb1a344a17af/", - "start_date": "Wed, 17 Sep 2014 08:26:22 +0000", - "state": "Success", - "user": "user_namespace", - "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2", - "uuid": "6246c558-976c-4df6-ba60-eb1a344a17af" -} -``` - -An action represents an API call by a user. Details of the API call such as timestamp, origin IP address, and user agent are logged in the action object. - -Simple API calls that do not require asynchronous execution will return immediately with the appropiate HTTP error code and an action object will be created either in `Success` or `Failed` states. API calls that do require asynchronous execution will return HTTP code `202 Accepted` immediately and create an action object in `In progress` state, which will change to `Success` or `Failed` state depending on the outcome of the operation being performed. In both cases the response will include a `X-DockerCloud-Action-URI` header with the resource URI of the created action. - - -### Attributes - -| Attribute | Description | -|:----------------|:-----------------------------------------------------------------------------------| -| resource_uri | A unique API endpoint that represents the action | -| uuid | A unique identifier for the action generated automatically on creation | -| object | The API object (resource URI) to which the action applies to | -| action | Name of the operation performed/being performed | -| method | HTTP method used to access the API | -| path | HTTP path of the API accessed | -| user | The user authenticated in the request that created the action | -| user_agent | The user agent provided by the client when accessing the API endpoint | -| start_date | Date and time when the API call was performed and the operation started processing | -| end_date | Date and time when the API call finished processing | -| state | State of the operation (see table below) | -| ip | IP address of the user that performed the API call | -| location | Geographic location of the IP address of the user that performed the API call | -| is_user_action | If the action has been triggered by the user | -| can_be_canceled | If the action can be canceled by the user in the middle of its execution | -| can_be_retried | If the action can be retried by the user | - - -### Action states - -| State | Description | -|:------------|:---------------------------------------------------------------------------------------------| -| Pending | The action needed asynchronous execution and it is waiting for an in progress action | -| In progress | The action needed asynchronous execution and is being performed | -| Canceling | The action is being canceled by user request | -| Canceled | The action has been canceled | -| Success | The action was executed successfully | -| Failed | There was an issue when the action was being performed. Check the logs for more information. | - - -## List all actions - -```python -import dockercloud - -actions = dockercloud.Action.list() -``` -```go -import "github.com/docker/go-dockercloud/dockercloud" - -actionList, err := dockercloud.ListActions() - -if err != nil { - log.Println(err) -} - -log.Println(actionList) -``` - -```http -GET /api/audit/v1/action/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud action ls -``` - -Lists all actions in chronological order. Returns a list of `Action` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/audit/v1/action/` - -### Query Parameters - -| Parameter | Description | -|:----------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| uuid | Filter by UUID. | -| state | Filter by state. Possible values: `In progress`, `Success`, `Failed` | -| start_date | Filter by start date. Valid filtering values are `start_date__gte` (after or on the date supplied) and `start_date__lte` (before or on the date supplied) | -| end_date | Filter by end date. Valid filtering values are `end_date__gte` (after or on the date supplied) and `end_date__lte` (before or on the date supplied) | -| object | Filter by resource URI of the related object. This filter can only be combined with 'include_related' filter | -| include_related | There is a parent-child relationship between Docker Cloud objects, described in table `Relationships between Docker Cloud objects`. If set to 'true', will include the actions of the related objects to the object specified in "object" filter parameter. Possible values: 'true' or 'false' | - - -## Relationships between Docker Cloud objects - -| Object | Relationships | -|:-------------|:-------------------------------------------------------------------------------| -| Container | Container, service, stack (if any) | -| Service | All containers in the service, service, stack (if any) | -| Stack | All services in the stack, all containers in every service in the stack, stack | -| Node | Node, node cluster (if any) | -| Node cluster | All nodes in the cluster, node cluster | - - -## Get an action by UUID - -```python -import dockercloud - -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -log.Println(action) -``` - -```http -GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud action inspect 7eaf7fff -``` - - -Get all the details of an specific action - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/audit/v1/action/(uuid)/` - -### Path Parameters - -| Parameter | Description | -|:----------|:-----------------------------------| -| uuid | The UUID of the action to retrieve | - - -## Get the logs of an action - -> Example log line - -```json -{ - "type": "log", - "log": "Log line from the action", - "timestamp": 1433779324 -} -``` - -```python -import dockercloud - -def log_handler(message): - print message - -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -action.logs(tail=300, follow=True, log_handler=log_handler) -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -c := make(chan dockercloud.Logs) -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -go action.GetLogs(c) - -for { - log.Println(<-c) -} -``` - -```http -GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1 -Host: ws.cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Connection: Upgrade -Upgrade: websocket -``` - -```shell -docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce -``` - - -Get the logs of the specified action. - - -### Endpoint Type - -Available in Docker Cloud's **STREAM API** - -### HTTP Request - -`GET /api/audit/v1/action/(uuid)/logs/` - -### Path Parameters - -| Parameter | Description | -|:----------|:----------------------------------------| -| uuid | The UUID of the action to retrieve logs | - -### Query Parameters - -| Parameter | Description | -|:----------|:---------------------------------------------------------------------------| -| tail | Number of lines to show from the end of the logs (default: `300`) | -| follow | Whether to stream logs or close the connection immediately (default: true) | - -## Cancel an action - -```http -POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/cancel/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -action, err = action.Cancel() - -if err != nil { - log.Println(err) -} - -log.Println(action) -``` - -Cancels an action in Pending or In progress state. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/audit/v1/action/(uuid)/cancel/` - -### Path Parameters - -| Parameter | Description | -|:----------|:---------------------------------| -| uuid | The UUID of the action to cancel | - - -## Retry an action - -```python -import dockercloud - -def log_handler(message): - print message - -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -action.logs(tail=300, follow=True, log_handler=log_handler) -``` - -```http -POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/retry/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -action, err = action.Retry() - -if err != nil { - log.Println(err) -} - -log.Println(action) -``` - -```shell -docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce -``` - -Retries an action in Success, Failed or Canceled state. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/audit/v1/action/(uuid)/retry/` - -### Path Parameters - -| Parameter | Description | -|:----------|:--------------------------------| -| uuid | The UUID of the action to retry | diff --git a/apidocs/cloud-api-source/source/includes/availabilityzone.md b/apidocs/cloud-api-source/source/includes/availabilityzone.md deleted file mode 100644 index 26e96960a9a8..000000000000 --- a/apidocs/cloud-api-source/source/includes/availabilityzone.md +++ /dev/null @@ -1,120 +0,0 @@ -# Availability Zones - -## Availability Zone - -> Example - -```json -{ - "available": true, - "name": "ap-northeast-1a", - "region": "/api/infra/v1/region/az/ap-northeast-1/", - "resource_uri": "/api/infra/v1/az/aws/ap-northeast-1/ap-northeast-1a/" -} -``` - -An Availability Zone is an isolated location inside a region. Providers that support availability zones: AWS - - -### Attributes - -Attribute | Description ---------- | ----------- -available | Whether the availability zone is currently available for new node deployments -name | An identifier for the availability zone -region | The resource URI of the region where the availability zone is allocated -resource_uri | A unique API endpoint that represents the zone - - -## List all availability zones - -```python -import dockercloud - -az = dockercloud.AZ.list() -``` - -```http -GET /api/infra/v1/az/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -az, err := dockercloud.ListAZ() -if err != nil { - log.Println(err) -} - -log.Println(az) -``` - -```shell -docker-cloud nodecluster az -``` - -Lists all availability zones from all regions of all supported cloud providers. Returns a list of `Availability Zone` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/az/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -name | Filter by availability zone name -region | Filter by resource URI of the target region - - - -## Get an individual availability zone - -```python -import dockercloud - -az = dockercloud.AZ.fetch("aws/sa-east-1/sa-east-1a") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -az, err := dockercloud.GetAZ("aws/sa-east-1/sa-east-1a") -if err != nil { - log.Println(err) -} - -log.Println(az) -``` - -```http -GET /api/infra/v1/az/aws/sa-east-1/sa-east-1a/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -Get all the details of a specific availability zone - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/az/(provider.name)/(region.name)/(name)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -name | The name of the availability zone to retrieve -provider | The name of the provider -region | The name of the region diff --git a/apidocs/cloud-api-source/source/includes/container.md b/apidocs/cloud-api-source/source/includes/container.md deleted file mode 100644 index 41be23b5a89b..000000000000 --- a/apidocs/cloud-api-source/source/includes/container.md +++ /dev/null @@ -1,827 +0,0 @@ -# Containers - -## Container - -> Example - -```json -{ - "autodestroy": "OFF", - "autorestart": "OFF", - "bindings": [ - { - "volume": "/api/infra/v1/user_namespace/volume/1863e34d-6a7d-4945-aefc-8f27a4ab1a9e/", - "host_path": null, - "container_path": "/data", - "rewritable": true - }, - { - "volume": null, - "host_path": "/etc", - "container_path": "/etc", - "rewritable": true - } - ], - "cap_add": [ - "ALL" - ], - "cap_drop": [ - "NET_ADMIN", - "SYS_ADMIN" - ], - "container_envvars": [ - { - "key": "DB_1_ENV_DEBIAN_FRONTEND", - "value": "noninteractive" - }, - { - "key": "DB_1_ENV_MYSQL_PASS", - "value": "**Random**" - }, - { - "key": "DB_1_ENV_MYSQL_USER", - "value": "admin" - }, - { - "key": "DB_1_ENV_PATH", - "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - }, - { - "key": "DB_1_ENV_REPLICATION_MASTER", - "value": "**False**" - }, - { - "key": "DB_1_ENV_REPLICATION_PASS", - "value": "replica" - }, - { - "key": "DB_1_ENV_REPLICATION_SLAVE", - "value": "**False**" - }, - { - "key": "DB_1_ENV_REPLICATION_USER", - "value": "replica" - }, - { - "key": "DB_1_PORT", - "value": "tcp://172.16.0.3:3306" - }, - { - "key": "DB_1_PORT_3306_TCP", - "value": "tcp://172.16.0.3:3306" - }, - { - "key": "DB_1_PORT_3306_TCP_ADDR", - "value": "172.16.0.3" - }, - { - "key": "DB_1_PORT_3306_TCP_PORT", - "value": "3306" - }, - { - "key": "DB_1_PORT_3306_TCP_PROTO", - "value": "tcp" - }, - { - "key": "DB_ENV_DEBIAN_FRONTEND", - "value": "noninteractive" - }, - { - "key": "DB_ENV_MYSQL_PASS", - "value": "**Random**" - }, - { - "key": "DB_ENV_MYSQL_USER", - "value": "admin" - }, - { - "key": "DB_ENV_PATH", - "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" - }, - { - "key": "DB_ENV_REPLICATION_MASTER", - "value": "**False**" - }, - { - "key": "DB_ENV_REPLICATION_PASS", - "value": "replica" - }, - { - "key": "DB_ENV_REPLICATION_SLAVE", - "value": "**False**" - }, - { - "key": "DB_ENV_REPLICATION_USER", - "value": "replica" - }, - { - "key": "DB_PASS", - "value": "szVaPz925B7I" - }, - { - "key": "DB_PORT", - "value": "tcp://172.16.0.3:3306" - }, - { - "key": "DB_PORT_3306_TCP", - "value": "tcp://172.16.0.3:3306" - }, - { - "key": "DB_PORT_3306_TCP_ADDR", - "value": "172.16.0.3" - }, - { - "key": "DB_PORT_3306_TCP_PORT", - "value": "3306" - }, - { - "key": "DB_PORT_3306_TCP_PROTO", - "value": "tcp" - }, - { - "key": "DB_DOCKERCLOUD_API_URL", - "value": "https://cloud.docker.com/api/app/v1/user_namespace/service/c0fed1dc-c528-40c9-aa4c-dc00672ebcbf/" - } - ], - "container_ports": [ - { - "endpoint_uri": "http://wordpress-stackable-1.admin.cont.dockerapp.io:49153/", - "inner_port": 80, - "outer_port": 49153, - "port_name": "http", - "protocol": "tcp", - "published": true, - "uri_protocol": "http" - } - ], - "cpu_shares": 100, - "cpuset": "0,1", - "cgroup_parent": "m-executor-abcd", - "deployed_datetime": "Thu, 16 Oct 2014 12:04:08 +0000", - "destroyed_datetime": null, - "devices": [ - "/dev/ttyUSB0:/dev/ttyUSB0" - ], - "dns": [ - "8.8.8.8" - ], - "dns_search": [ - "example.com", - "c1dd4e1e-1356-411c-8613-e15146633640.local.dockerapp.io" - ], - "domainname": "domainname", - "entrypoint": "", - "exit_code": null, - "exit_code_msg": null, - "extra_hosts": [ - "onehost:50.31.209.229" - ], - "hostname": "hostname", - "image_name": "tutum/wordpress-stackable:latest", - "labels": { - "com.example.description": "Accounting webapp", - "com.example.department": "Finance", - "com.example.label-with-empty-value": "" - }, - "linked_to_container": [ - { - "endpoints": { - "3306/tcp": "tcp://172.16.0.3:3306" - }, - "from_container": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/", - "name": "DB_1", - "to_container": "/api/app/v1/user_namespace/container/ba434e1e-1234-411c-8613-e15146633640/" - } - ], - "link_variables": { - "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**", - "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress", - "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I", - "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**", - "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin", - "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive", - "WORDPRESS_STACKABLE_1_ENV_HOME": "/", - "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "WORDPRESS_STACKABLE_1_PORT": "tcp://172.16.0.2:80", - "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://172.16.0.2:80", - "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "172.16.0.2", - "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "80", - "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp", - "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**", - "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress", - "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I", - "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**", - "WORDPRESS_STACKABLE_ENV_DB_USER": "admin", - "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive", - "WORDPRESS_STACKABLE_ENV_HOME": "/", - "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "WORDPRESS_STACKABLE_PORT": "tcp://172.16.0.2:80", - "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://172.16.0.2:80", - "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "172.16.0.2", - "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "80", - "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp" - }, - "mac_address": "02:42:ac:11:65:43", - "memory": 1024, - "memory_swap": 4096, - "name": "wordpress-stackable", - "net": "bridge", - "node": "/api/infra/v1/user_namespace/node/9691c44e-3155-4ca2-958d-c9571aac0a14/", - "pid": "none", - "private_ip": "10.7.0.1", - "privileged": false, - "public_dns": "wordpress-stackable-1.admin.cont.dockerapp.io", - "read_only": true, - "resource_uri": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/", - "roles": ["global"], - "run_command": "/run-wordpress.sh", - "security_opt": [ - "label:user:USER", - "label:role:ROLE" - ], - "service": "/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/", - "started_datetime": "Thu, 16 Oct 2014 12:04:08 +0000", - "state": "Running", - "stdin_open": false, - "stopped_datetime": null, - "synchronized": true, - "tty": false, - "user": "root", - "uuid": "c1dd4e1e-1356-411c-8613-e15146633640", - "working_dir": "/app" -} -``` - - -A container is a representation of a Docker container in a node. - -This is a [namespaced endpoint](#namespaced-endpoints). - -### Attributes - -Attribute | Description ---------- | ----------- -uuid | A unique identifier for the container generated automatically on creation -resource_uri | A unique API endpoint that represents the container -image_name | The Docker image name and tag of the container -bindings | A list of volume bindings that the container has mounted (see table `Container Binding attributes` below) -name | A user provided name for the container (inherited from the service) -node | The resource URI of the node where this container is running -service | The resource URI of the service which this container is part of -public_dns | The external FQDN of the container -state | The state of the container (see table `Container states` below) -synchronized | Flag indicating if the container is synchronized with the current service definition. -exit_code | The numeric exit code of the container (if applicable, `null` otherwise) -exit_code_msg | A string representation of the exit code of the container (if applicable, `null` otherwise) -deployed_datetime | The date and time of the last deployment of the container (if applicable, `null` otherwise) -started_datetime | The date and time of the last `start` operation on the container (if applicable, `null` otherwise) -stopped_datetime | The date and time of the last `stop` operation on the container (if applicable, `null` otherwise) -destroyed_datetime | The date and time of the `terminate` operation on the container (if applicable, `null` otherwise) -container_ports | List of published ports of this container (see table `Container Port attributes` below) -container_envvars | List of user-defined environment variables set on the containers of the service, which will override the container environment variables (see table `Container Environment Variable attributes` below) -labels | Container metadata in form of dictionary -working_dir | Working directory for running binaries within a container -user | User used on the container on launch -hostname | Hostname used on the container on launch -domainname | Domainname used on the container on launch -mac_address | Ethernet device's MAC address used on the container on launch -cgroup_name | Optional parent cgroup for the container. -tty | If the container has the tty enable -stdin_open | If the container has stdin opened -dns | Container custom DNS servers -dns_search | Container custom DNS search domain -cap_add | Container added capabilities -cap_drop | Container dropped capabilities -devices | List of container device mappings -extra_hosts | List of container hostname mappings -secuirty_opt | Labeling scheme of this container -entrypoint | Entrypoint used on the container on launch -run_command | Run command used on the container on launch -cpu_shares | The relative CPU priority of the container (see [Runtime Constraints on CPU and Memory](/engine/reference/run/#runtime-constraints-on-cpu-and-memory) for more information) -cpuset | CPUs in which execution is allowed -memory | The memory limit of the container in MB (see [Runtime Constraints on CPU and Memory](/engine/reference/run/#runtime-constraints-on-cpu-and-memory) for more information) -memory_swap | Total memory limit (memory + swap) of the container in MB -autorestart | Whether to restart the container automatically if it stops (see [Crash recovery](/docker-cloud/apps/autorestart/) for more information) -autodestroy | Whether to terminate the container automatically if it stops (see [Autodestroy](/docker-cloud/apps/auto-destroy/) for more information) -roles | List of Docker Cloud roles asigned to this container (see [API roles](/docker-cloud/apps/api-roles/) for more information)) -linked_to_container | List of IP addresses of the linked containers (see table `Container Link attributes` below and [Service links](/docker-cloud/apps/service-links/) for more information) -link_variables | List of environment variables that would be exposed in any container that is linked to this one -privileged | Whether the container has Docker's `privileged` flag set or not (see [Runtime privilege](/engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration) for more information) -read_only | Whether the container filesystem is read-only or not -private_ip | IP address of the container on the overlay network. This IP will be reachable from any other container. -net | Network mode set on the container (see table `Network Modes` below, [more information](/engine/reference/run/#network-settings)) -pid | PID (Process) Namespace mode for the container ([more information](/engine/reference/run/#pid-settings-pid)) - - -### Container Binding attributes - -Attribute | Description ---------- | ----------- -host_path | The host path of the volume -container_path | The container path where the volume is mounted -rewritable | `true` is the volume has writable permissions -volume | The resource URI of the volume - - -### Container Port attributes - -Attribute | Description ---------- | ----------- -protocol | The protocol of the port, either `tcp` or `udp` -inner_port | The published port number inside the container -outer_port | The published port number in the node public network interface -port_name | Name of the service associated to this port -uri_protocol | The protocol to be used in the endpoint for this port (i.e. `http`) -endpoint_uri | The URI of the endpoint for this port -published | Whether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links. - - -### Container Environment Variable attributes - -Attribute | Description ---------- | ----------- -key | The name of the environment variable -value | The value of the environment variable - - -### Container States - -State | Description ------ | ----------- -Starting | The container is being deployed or started (from Stopped). No actions allowed in this state. -Running | The container is deployed and running. Possible actions in this state: `stop`, `terminate`. -Stopping | The container is being stopped. No actions allowed in this state. -Stopped | The container is stopped. Possible actions in this state: `start`, `terminate`. -Terminating | The container is being deleted. No actions allowed in this state. -Terminated | The container has been deleted. No actions allowed in this state. - - -### Network Modes - -Strategy | Description --------- | ----------- -bridge | Creates a new network stack for the container on the docker bridge. -host | Uses the host network stack inside the container. - - -### Container Link attributes - -Attribute | Description ---------- | ----------- -name | The name given to the link -from_container | The resource URI of the "client" container -to_container | The resource URI of the "server" container being linked -endpoints | A dictionary with the endpoints (protocol, IP and port) to be used to reach each of the "server" container exposed ports - - -## List all containers - -```python -import dockercloud - -containers = dockercloud.Container.list() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -containerList, err := dockercloud.ListContainers() - -if err != nil { - log.Println(err) -} - -log.Println(containerList) -``` - -```http -GET /api/app/v1/container/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud container ps -``` - -Lists all current and recently terminated containers. Returns a list of `Container` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]container/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -uuid | Filter by UUID -state | Filter by state. Possible values: `Starting`, `Running`, `Stopping`, `Stopped`, `Terminating`, `Terminated` -name | Filter by container name -service | Filter by resource URI of the target service. -node | Filter by resource URI of the target node. - -## Get an existing container - -```python -import dockercloud - -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockerckoud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -log.Println(container) -``` - - -```http -GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud container inspect 7eaf7fff -``` - -Get all the details of an specific container - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]container/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container to retrieve - - -## Get the logs of a container - -> Example log line - -```json -{ - "type": "log", - "log": "Log line from the container", - "streamType": "stdout", - "timestamp": 1433779324 -} -``` - -```python -import dockercloud - -def log_handler(message): - print message - -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -container.logs(tail=300, follow=True, log_handler=log_handler) -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockercloud.GetContainer("447ecddc-2890-4ea2-849b-99392e0dd7a6") - -if err != nil { - log.Fatal(err) -} -c := make(chan dockercloud.Logs) - -go container.Logs(c) - for { - s := <-c - log.Println(s) - } -``` - -```http -GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1 -Host: ws.cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Connection: Upgrade -Upgrade: websocket -``` - -```shell -docker-cloud container logs 7eaf7fff -``` - -Get the logs of the specified container. - -### Endpoint Type - -Available in Docker Cloud's **STREAM API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]container/(uuid)/logs/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container to retrieve logs - -### Query Parameters - -Parameter | Description ---------- | ----------- -tail | Number of lines to show from the end of the logs (default: `300`) -follow | Whether to stream logs or close the connection immediately (default: true) -service | Filter by service (resource URI) - - -## Start a container - -```python -import dockercloud - -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -container.start() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = container.Start(); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud container start 7eaf7fff -``` - -Starts a stopped container. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]container/(uuid)/start/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container to start - - -## Stop a container - -```python -import dockercloud - -container = dockerlcoud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -container.stop() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = container.Stop(); err != nil { - log.Println(err) - } -``` - -```http -POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud container stop 7eaf7fff -``` - -Stops a running container. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]container/(uuid)/stop/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container to stop - - - -## Redeploy a container - -```python -import dockercloud - -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -container.redeploy() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true) to reuse the existing volumes -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes -if err = container.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud container redeploy 7eaf7fff -``` - -Redeploys a container. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]container/(uuid)/redeploy/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container to redeploy - -### Query Parameters - -Parameter | Description ---------- | ----------- -reuse_volumes | Wheather to reuse container volumes for this redeploy operation or not (default: `true`). - - -## Terminate a container - -```python -import dockercloud - -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -container.delete() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = container.Terminate(); err != nil { - log.Println(err) - } -``` - - -```http -DELETE /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud container terminate 7eaf7fff -``` - -Terminates the specified container. This is not reversible. All data stored in the container will be permanently deleted. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/app/v1/[optional_namespace/]container/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container to terminate - - -## Execute command inside a container - -``` -import dockercloud - -def msg_handler(message): - print message - -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -container.execute("ls", handler=msg_handler) -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -c := make(chan dockercloud.Exec) - -container.Exec("ls", c) - -``` - -```http -GET /api/app/v1/container/(uuid)/exec/ HTTP/1.1 -Host: ws.cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Connection: Upgrade -Upgrade: websocket -``` - - -``` -docker-cloud exec 7eaf7fff ls -``` - -Executes a command inside the specified running container, creating a bi-directional stream for the process' standard input and output. This endpoint can be connected to using a bi-directional Secure Web Socket `wss://ws.cloud.docker.com/api/app/v1/container/(uuid)/exec/` - -### Endpoint Type - -Available in Docker Cloud's **STREAM API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]container/(uuid)/exec/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the container where the command will be executed - -### Query Parameters - -Parameter | Description ---------- | ----------- -command | Command to be executed (default: `sh`) diff --git a/apidocs/cloud-api-source/source/includes/dockercloud-events.md b/apidocs/cloud-api-source/source/includes/dockercloud-events.md deleted file mode 100644 index c636dd25f326..000000000000 --- a/apidocs/cloud-api-source/source/includes/dockercloud-events.md +++ /dev/null @@ -1,135 +0,0 @@ -# Docker Cloud Events - -## Docker Cloud Event - -> Example - -```json -{ - "type": "action", - "action": "update", - "parents": [ - "/api/app/v1/user_namespace/container/0b0e3538-88df-4f07-9aed-3a3cc4175076/" - ], - "resource_uri": "/api/app/v1/user_namespace/action/49f0efe8-a704-4a10-b02f-f96344fabadd/", - "state": "Success", - "uuid": "093ba3bb-08dd-48f0-8f12-4d3b85ef85b3", - "datetime": "2016-02-01T16:47:28Z" -} -``` - -Docker Cloud events are generated every time any of the following objects is created or changes state: - -* Stack -* Service -* Container -* Node Cluster -* Node -* Action - -This is a [namespaced endpoint](#namespaced-endpoints). - -### Attributes - -| Attribute | Description | -|:-------------|:---------------------------------------------------------------------------------------------------------------------------------| -| type | Type of object that was created or updated. For possible values, check the [events types](#event-types) table below. | -| action | Type of action that was executed on the object. Posible values: `create`, `update` or `delete` | -| parents | List of resource URIs (REST API) of the parents of the object, according to the "Parent-child hierarchy" table below | -| resource_uri | Resource URI (REST API) of the object that was created or updated. You can do a `GET` operation on this URL to fetch its details | -| state | The current state of the object | -| uuid | Unique identifier for the event | -| datetime | Date and time of the event in ISO 8601 format | - - -### Event types - -| Type | Description | -|:------------|:-----------------------------------------------------------------------------------------------| -| stack | Whenever a `Stack` is created or updated | -| service | Whenever a `Service` is created or updated | -| container | Whenever a `Container` is created or updated | -| nodecluster | Whenever a `Node Cluster` is created or updated | -| node | Whenever a `Node` is created or updated | -| action | Whenever a `Action` is created or updated | -| error | Sent when an error occurs on the websocket connection or as part of the authentication process | - - -### Parent-child hierarchy - -| Object type | Parent types | -|:-------------|:----------------------------------------| -| Stack | (None) | -| Service | Stack | -| Container | Service, Stack, Node, Node Cluster | -| Node Cluster | (None) | -| Node | Node Cluster | -| Action | (object to which the action applies to) | - - -## Listen to new Docker Cloud Events - -```python -import dockercloud - -def process_event(event): - print event - -events = dockercloud.Events() -events.on_message(process_event) -events.run_forever() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -// Listens for container events only -myFilter := dockercloud.NewStreamFilter(&dockercloud.EventFilter{Type: "container"}) - -stream := dockercloud.NewStream(myFilter) - -if err := stream.Connect(); err == nil { - go stream.RunForever() -} else { - log.Print("Connect err: " + err.Error()) -} - -for { - select { - case event := <-stream.MessageChan: - log.Println(event) - case err := <-stream.ErrorChan: - log.Println(err) - } -} -``` - -```http -GET /api/audit/v1/events/ HTTP/1.1 -Host: ws.cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Connection: Upgrade -Upgrade: websocket -``` - -```shell -docker-cloud event -``` - -Listens for new Docker Cloud Events - -### Endpoint Type - -Available in Docker Cloud's **STREAM API** - -### HTTP Request - -`GET /api/audit/v1/[optional_namespace/]events/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -type | Filter by type -object | Filter by object resource URI -parent | Filter by object parents diff --git a/apidocs/cloud-api-source/source/includes/node.md b/apidocs/cloud-api-source/source/includes/node.md deleted file mode 100644 index 71293c0e62f5..000000000000 --- a/apidocs/cloud-api-source/source/includes/node.md +++ /dev/null @@ -1,370 +0,0 @@ -# Nodes - -## Node - -> Example - -```json -{ - "availability_zone": "/api/infra/v1/az/testing-provider/testing-region/testing-az/", - "cpu": 1, - "current_num_containers": 4, - "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000", - "destroyed_datetime": null, - "disk": 60, - "docker_execdriver": "native-0.2", - "docker_graphdriver": "aufs", - "docker_version": "1.5.0", - "external_fqdn": "fc1a5bb9-user.node.dockerapp.io", - "last_seen": "Thu, 25 Sep 2014 13:14:44 +0000", - "memory": 1792, - "nickname": "fc1a5bb9-user.node.dockerapp.io", - "node_cluster": "/api/infra/v1/user_namespace/nodecluster/d787a4b7-d525-4061-97a0-f423e8f1d229/", - "node_type": "/api/infra/v1/user_namespace/nodetype/testing-provider/testing-type/", - "public_ip": "10.45.2.11", - "region": "/api/infra/v1/region/testing-provider/testing-region/", - "resource_uri": "/api/infra/v1/user_namespace/node/fc1a5bb9-17f5-4819-b667-8c7cd819e949/", - "state": "Deployed", - "tags": [ - {"name": "tag_one"}, - {"name": "tag-two"} - ], - "tunnel": "https://tunnel01.cloud.docker.com:12345", - "uuid": "fc1a5bb9-17f5-4819-b667-8c7cd819e949" -} -``` - -A node is a virtual machine provided by a cloud provider where containers can be deployed. - -This is a [namespaced endpoint](#namespaced-endpoints). - -### Attributes - -Attribute | Description ---------- | ----------- -availability_zone | The resource URI of the availability zone where the node is deployed, if any -uuid | A unique identifier for the node generated automatically on creation -resource_uri | A unique API endpoint that represents the node -external_fqdn | An automatically generated FQDN for the node. Containers deployed on this node will inherit this FQDN. -state | The state of the node. See the below table for a list of possible states. -node_cluster | The resource URI of the node cluster to which this node belongs to (if applicable) -node_type | The resource URI of the node type used for the node -region | The resource URI of the region where the node is deployed -docker_execdriver | Docker's execution driver used in the node -docker_graphdriver | Docker's storage driver used in the node -docker_version | Docker's version used in the node -cpu | Node number of CPUs -disk | Node storage size in GB -memory | Node memory in MB -current_num_containers | The actual number of containers deployed in this node -last_seen | Date and time of the last time the node was contacted by Docker Cloud -public_ip | The public IP allocated to the node -tunnel | If the node does not accept incoming connections to port 2375, the address of the reverse tunnel to access the docker daemon, or `null` otherwise -deployed_datetime | The date and time when this node cluster was deployed -destroyed_datetime | The date and time when this node cluster was terminated (if applicable) -tags | List of tags to identify the node when deploying services (see [Tags](/docker-cloud/apps/deploy-tags/) for more information) -nickname | A user-friendly name for the node (`external_fqdn` by default) - - -### Node states - -State | Description ------ | ----------- -Deploying | The node is being deployed in the cloud provider. No actions allowed in this state. -Deployed | The node is deployed and provisioned and is ready to deploy containers. Possible actions in this state: `terminate`, `docker-upgrade`. -Unreachable | The node is deployed but Docker Cloud cannot connect to the docker daemon. Possible actions in this state: `health-check` and `terminate`. -Upgrading | The node docker daemon is being upgraded. No actions allowed in this state. -Terminating | The node is being terminated in the cloud provider. No actions allowed in this state. -Terminated | The node has been terminated and is no longer present in the cloud provider. No actions allowed in this state. - - -## List all nodes - -```python -import dockercloud - -nodes = dockercloud.Node.list() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodeList, err := dockercloud.ListNodes() - -if err != nil { - log.Println(err) -} - -log.Println(nodeList) -``` - -```http -GET /api/infra/v1/node/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud node ls -``` - -Lists all current and recently terminated nodes. Returns a list of `Node` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/[optional_namespace/]node/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -uuid | Filter by UUID -state | Filter by state. Possible values: `Deploying`, `Deployed`, `Unreachable`, `Upgrading`, `Terminating`, `Terminated` -node_cluster | Filter by resource URI of the target node cluster -node_type | Filter by resource URI of the target node type -region | Filter by resource URI of the target region -docker_version | Filter by Docker engine version running in the nodes - - - -## Get an existing node - -```python -import dockercloud - -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -log.Println(node) -``` - -```http -GET /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud node inspect 7eaf7fff -``` - -Get all the details of an specific node - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/[optional_namespace/]node/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node to retrieve - - -## Update a node - -```python -import dockercloud - -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -node.tags.add(["tag-1"]) -node.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = node.Update(dockercloud.Node{Tags: []string{{Name: "tag-1"}}}); err != nil { - log.Println(err) -} -``` - -```http -PATCH /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json - -{"tags": [{"name": "tag-1"}], "nickname": "dev node"} -``` - -```shell -docker-cloud tag add -t tag-1 7eaf7fff -docker-cloud tag set -t tag-2 7eaf7fff -``` - -Names the node with a user-friendly name and/or replaces the old tags for the new list provided. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`PATCH /api/infra/v1/[optional_namespace/]node/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node to retrieve - -### JSON Parameters - -Parameter | Description ---------- | ----------- -nickname | (optional) A user-friendly name for the node (`external_fqdn` by default) -tags | (optional) List of tags the node will have. This operation replaces the user tag list. - - -## Upgrade Docker Daemon - -```python -import dockercloud - -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -node.upgrade_docker() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = node.Upgrade(); err != nil { - log.Println(err) - } -``` - -```http -POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/docker-upgrade/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud node upgrade 7eaf7fff -``` - -Upgrades the docker daemon of the node. This will restart your containers on that node. See [Docker upgrade](/docker-cloud/infrastructure/docker-upgrade/) for more information. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/infra/v1/[optional_namespace/]node/(uuid)/docker-upgrade/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node to upgrade - - -## Perform a health check of a node - -```http -POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/health-check/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -Tests connectivity between Docker Cloud and the node. Updates the node status to `Deployed` if the check was successful, or to `Unreachable` otherwise. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/infra/v1/[optional_namespace/]node/(uuid)/health-check/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node to perform the health check to - - -## Terminate a node - -```python -import dockercloud - -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -node.delete() -``` - -```http -DELETE /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = node.Terminate(); err != nil { - log.Println(err) -} -``` - -```shell -docker-cloud node rm 7eaf7fff -``` - -Terminates the specified node. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/infra/v1/[optional_namespace/]node/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node to terminate diff --git a/apidocs/cloud-api-source/source/includes/nodecluster.md b/apidocs/cloud-api-source/source/includes/nodecluster.md deleted file mode 100644 index f5b6b079c238..000000000000 --- a/apidocs/cloud-api-source/source/includes/nodecluster.md +++ /dev/null @@ -1,412 +0,0 @@ -# Node Clusters - -## Node Cluster - -> Example - -```json -{ - "current_num_nodes": 1, - "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000", - "destroyed_datetime": null, - "disk": 60, - "nickname": "my test cluster", - "name": "TestCluster", - "node_type": "/api/infra/v1/nodetype/aws/t2.micro/", - "nodes": [ - "/api/infra/v1/user_namespace/node/75d20367-0948-4f10-8ba4-ffb4d16ed3c6/" - ], - "region": "/api/infra/v1/region/aws/us-east-1/", - "resource_uri": "/api/infra/v1/user_namespace/nodecluster/5516df0b-721e-4470-b350-741ff22e63a0/", - "state": "Deployed", - "tags": [ - {"name": "tag_one"}, - {"name": "tag-two"}, - {"name": "tagthree3"} - ], - "target_num_nodes": 2, - "uuid": "5516df0b-721e-4470-b350-741ff22e63a0", - "provider_options": { - "vpc": { - "id": "vpc-aa1c70d4", - "subnets": ["subnet-aaa7d94f", "subnet-aa15fa64"], - "security_groups": ["sg-aa1c70d4"] - }, - "iam": { - "instance_profile_name": "my_instance_profile" - } - } -} -``` - -A node cluster is a group of nodes that share the same provider, region and/or availability zone, and node type. They are on the same private network. - -This is a [namespaced endpoint](#namespaced-endpoints). - - -### Attributes - -Attribute | Description ---------- | ----------- -uuid | A unique identifier for the node cluster generated automatically on creation -resource_uri | A unique API endpoint that represents the node cluster -name | A user provided name for the node cluster -state | The state of the node cluster. See the below table for a list of possible states. -node_type | The resource URI of the node type used for the node cluster -disk | The size of the disk where images and containers are stored (in GB) -nodes | A list of resource URIs of the `Node` objects on the node cluster -region | The resource URI of the `Region` object where the node cluster is deployed -target_num_nodes | The desired number of nodes for the node cluster -current_num_nodes | The actual number of nodes in the node cluster. This may differ from `target_num_nodes` if the node cluster is being deployed or scaled -deployed_datetime | The date and time when this node cluster was deployed -destroyed_datetime | The date and time when this node cluster was terminated (if applicable) -tags | List of tags to identify the node cluster nodes when deploying services (see [Tags](/docker-cloud/apps/deploy-tags/) for more information) -provider_options | Provider-specific extra options for the deployment of the node (see `Provider options` table below for more information) -nickname | A user-friendly name for the node cluster (`name` by default) - - -### Node Cluster states - -State | Description ------ | ----------- -Init | The node cluster has been created and has no deployed containers yet. Possible actions in this state: `deploy`, `terminate`. -Deploying | All nodes in the cluster are either deployed or being deployed. No actions allowed in this state. -Deployed | All nodes in the cluster are deployed and provisioned. Possible actions in this state: `terminate`. -Partly deployed | One or more nodes of the cluster are deployed and running. Possible actions in this state: `terminate`. -Scaling | The cluster is either deploying new nodes or terminating existing ones responding to a scaling request. No actions allowed in this state. -Terminating | All nodes in the cluster are either being terminated or already terminated. No actions allowed in this state. -Terminated | The node cluster and all its nodes have been terminated. No actions allowed in this state. -Empty cluster | There are no nodes deployed in this cluster. Possible actions in this state: `terminate`. - - -### Provider options - -You can specify the following options when using the Amazon Web Services provider: - -* `vpc`: VPC-related options (optional) - * `id`: AWS VPC identifier of the target VPC where the nodes of the cluster will be deployed (required) - * `subnets`: a list of target subnet indentifiers inside selected VPC. If you specify more than one subnet, Docker Cloud will balance among all of them following a high-availability schema (optional) - * `security_groups`: the security group that will be applied to every node of the cluster (optional) -* `iam`: IAM-related options (optional) - * `instance_profile_name`: name of the instance profile (container for instance an IAM role) to attach to every node of the cluster (required) - - -## List all node clusters - -```python -import dockercloud - -nodeclusters = dockercloud.NodeCluster.list() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodeclusters, err := dockercloud.ListNodeClusters() - -if err != nil { - log.Println(err) -} - -log.Println(nodeclusters) -``` - -```http -GET /api/infra/v1/nodecluster/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud nodecluster ls -``` - -Lists all current and recently terminated node clusters. Returns a list of `NodeCluster` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/[optional_namespace/]nodecluster/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -uuid | Filter by UUID -state | Filter by state. Possible values: `Init`, `Deploying`, `Deployed`, `Partly deployed`, `Scaling`, `Terminating`, `Terminated`, `Empty cluster` -name | Filter by node cluster name -region | Filter by resource URI of the target region -node_type | Filter by resource URI of the target node type - - -## Create a new node cluster - -```python -import dockercloud - -region = dockercloud.Region.fetch("digitalocean/lon1") -node_type = dockercloud.NodeType.fetch("digitalocean/1gb") -nodecluster = dockercloud.NodeCluster.create(name="my_cluster", node_type=node_type, region=region, disk=60) -nodecluster.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodecluster, err := dockercloud.CreateNodeCluster(dockercloud.NodeCreateRequest{Name: "my_cluster", Region: "/api/infra/v1/region/digitalocean/lon1/", NodeType: "/api/infra/v1/nodetype/digitalocean/1gb/", Target_num_nodes: 2}) - -if err != nil { - log.Println(err) -} - -log.Println(nodecluster) -``` - -```http -POST /api/infra/v1/nodecluster/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"name": "my_cluster", "region": "/api/infra/v1/region/digitalocean/lon1/", "node_type": "/api/infra/v1/nodetype/digitalocean/1gb/", "disk": 60} -``` - -```shell -docker-cloud nodecluster create my_cluster digitalocean lon1 1gb -``` - -Creates a new node cluster without deploying it. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/infra/v1/[optional_namespace/]nodecluster/` - -### JSON Parameters - -Parameter | Description ---------- | ----------- -name | (required) A user provided name for the node cluster -node_type | (required) The resource URI of the node type to be used for the node cluster -region | (required) The resource URI of the region where the node cluster is to be deployed -disk | (optional) The size of the volume to create where images and containers will be stored, in GB (default: `60`). Not available for Digital Ocean. To create Softlayer nodes you must select one of the following sizes (in GBs): 10, 20, 25, 30, 40, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 500, 750, 1000, 1500 or 2000 -nickname | (optional) A user-friendly name for the node cluster (`name` by default) -target_num_nodes | (optional) The desired number of nodes for the node cluster (default: `1`) -tags | (optional) List of tags of the node cluster to be used when deploying services see [Tags](/docker-cloud/apps/deploy-tags/) for more information) (default: `[]`) -provider_options | Provider-specific extra options for the deployment of the node (see table `Provider options` above for more information) - - -## Get an existing node cluster - -```python -import dockercloud - -service = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -log.Println(nodecluster) -``` - -```http -GET /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud nodecluster inspect 7eaf7fff -``` - -Get all the details of an specific node cluster - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node cluster to retrieve - -## Deploy a node cluster - -```python -import dockercloud - -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -nodecluster.deploy() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = nodecluster.Deploy(); err != nil { - log.Println(err) -} -``` - -```http -POST /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/deploy/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -Deploys and provisions a recently created node cluster in the specified region and cloud provider. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/deploy/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node cluster to deploy - -## Update an existing node cluster - -```python -import dockercloud - -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -nodecluster.target_num_nodes = 3 -nodecluster.tags.add("tag-1") -nodecluster.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = nodecluster.Update(dockercloud.NodeCreateRequest{Target_num_nodes: 4}); err != nil { - log.Println(err) -} -``` - -```http -PATCH /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"target_num_nodes": 3, "tags": [{"name": "tag-1"}]} -``` - -```shell -docker-cloud nodecluster scale 7eaf7fff 3 -docker-cloud tag add -t tag-1 7eaf7fff -docker-cloud tag set -t tag-2 7eaf7fff -``` - -Updates the node cluster details and applies the changes automatically. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`PATCH /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node cluster to update - - -### JSON Parameters - -Parameter | Description ---------- | ----------- -target_num_nodes | (optional) The number of nodes to scale this node cluster to -tags | (optional) List of tags the node cluster (and nodes within the node cluster) will have. This operation replaces the user tag list. -## Terminate a node cluster - -```python -import dockercloud - -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -nodecluster.delete() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = nodecluster.Terminate(); err != nil { - log.Println(err) -} -``` - -```http -DELETE /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -dockercloud nodecluster rm 7eaf7fff -``` - -Terminates all the nodes in a node cluster and the node cluster itself. This is not reversible. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the node cluster to terminate diff --git a/apidocs/cloud-api-source/source/includes/nodetype.md b/apidocs/cloud-api-source/source/includes/nodetype.md deleted file mode 100644 index fec5c7683af5..000000000000 --- a/apidocs/cloud-api-source/source/includes/nodetype.md +++ /dev/null @@ -1,137 +0,0 @@ -# Node Types - -## Node Type - -> Example - -```json -{ - "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 - -```python -import dockercloud - -nodetypes = dockercloud.NodeType.list() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodetypeList, err := dockercloud.ListNodeTypes() - -if err != nil { - log.Println(err) -} - -log.Println(nodetypeList) -``` - -```http -GET /api/infra/v1/nodetype/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -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 - -```python -import dockercloud - -nodetype = dockercloud.NodeType.fetch("digitalocean/1gb") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -nodetype, err := dockercloud.GetNodeType("digitalocean","1gb") - -if err != nil { - log.Println(err) -} - -log.Println(nodetype) -``` - -```http -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 diff --git a/apidocs/cloud-api-source/source/includes/provider.md b/apidocs/cloud-api-source/source/includes/provider.md deleted file mode 100644 index 44e63ab33770..000000000000 --- a/apidocs/cloud-api-source/source/includes/provider.md +++ /dev/null @@ -1,132 +0,0 @@ -# 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 diff --git a/apidocs/cloud-api-source/source/includes/region.md b/apidocs/cloud-api-source/source/includes/region.md deleted file mode 100644 index 4bfd58b30926..000000000000 --- a/apidocs/cloud-api-source/source/includes/region.md +++ /dev/null @@ -1,137 +0,0 @@ -# Regions - -## Region - -> Example - -```json -{ - "availability_zones": [], - "available": true, - "label": "Amsterdam 2", - "name": "ams2", - "node_types": [ - "/api/infra/v1/nodetype/digitalocean/1gb/", - "/api/infra/v1/nodetype/digitalocean/2gb/", - "/api/infra/v1/nodetype/digitalocean/4gb/", - "/api/infra/v1/nodetype/digitalocean/8gb/", - "/api/infra/v1/nodetype/digitalocean/16gb/", - "/api/infra/v1/nodetype/digitalocean/32gb/", - "/api/infra/v1/nodetype/digitalocean/48gb/", - "/api/infra/v1/nodetype/digitalocean/64gb/" - ], - "provider": "/api/infra/v1/provider/digitalocean/", - "resource_uri": "/api/infra/v1/region/digitalocean/ams2/" -} -``` - -A region is a representation of an entire or a subset of a data center of a cloud provider. It can contain availability zones (depending on the provider) and one or more node types. - - -### Attributes - -Attribute | Description ---------- | ----------- -resource_uri | A unique API endpoint that represents the region -name | An identifier for the region -label | A user-friendly name for the region -node_types | A list of resource URIs of the node types available in the region -availability_zones | A list of resource URIs of the availability zones available in the region -provider | The resource URI of the provider of the region -available | Whether the region is currently available for new node deployments - - -## List all regions - -```python -import dockercloud - -regions = dockercloud.Region.list() -``` - -```http -GET /api/infra/v1/region/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -regionList, err := dockercloud.ListRegions() - -if err != nil { - log.Println(err) -} - -log.Println(regionList) -``` - -```shell -docker-cloud nodecluster region -``` - -Lists all regions of all supported cloud providers. Returns a list of `Region` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/region/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -name | Filter by region name -provider | Filter by resource URI of the target provider - - - -## Get an individual region - -```python -import dockercloud - -region = dockercloud.Region.fetch("digitalocean/lon1") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -region, err := dockercloud.GetRegion("digitalocean","lon1") - -if err != nil { - log.Println(err) -} - -log.Println(region) -``` - -```http -GET /api/infra/v1/region/digitalocean/lon1/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - - -Get all the details of a specific region - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/region/(provider.name)/(name)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -name | The name of the region to retrieve -provider.name | The name of the provider of the region diff --git a/apidocs/cloud-api-source/source/includes/registry.md b/apidocs/cloud-api-source/source/includes/registry.md deleted file mode 100644 index 9c1d84627785..000000000000 --- a/apidocs/cloud-api-source/source/includes/registry.md +++ /dev/null @@ -1,87 +0,0 @@ -# Registries - -## Registry - -> Example - -```json -{ - "host": "registry-1.docker.io", - "is_docker_registry": true, - "is_ssl": true, - "name": "Docker Hub", - "port": 443, - "resource_uri": "/api/repo/v1/user_namespace/registry/registry-1.docker.io/" -} -``` - -Represents a registry where repositories are hosted. - -This is a [namespaced endpoint](#namespaced-endpoints). - - -### Attributes - -Attribute | Description ---------- | ----------- -resource_uri | A unique API endpoint that represents the registry -name | Human-readable name of the registry -host | FQDN of the registry, i.e. `registry-1.docker.io` -is_docker_registry | Whether this registry is run by Docker -is_ssl | Whether this registry has SSL activated or not -port | The port number where the registry is listening to - - -## List all registries - -```http -GET /api/repo/v1/registry/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -Lists all current registries. Returns a list of `Registry` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/repo/v1/[optional_namespace/]registry/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -uuid | Filter by UUID -name | Filter by registry name -host | Filter by registry host -is_docker_registry | Filter by whether the registry is run by Docker or not. Possible values: 'true' or 'false' - - -## Get an existing registry - -```http -GET /api/repo/v1/registry/registry-1.docker.io/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -Gets all the details of an specific registry - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/v1/[optional_namespace/]registry/(host)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -host | The host of the registry to retrieve diff --git a/apidocs/cloud-api-source/source/includes/repository.md b/apidocs/cloud-api-source/source/includes/repository.md deleted file mode 100644 index 5aaa29ba3200..000000000000 --- a/apidocs/cloud-api-source/source/includes/repository.md +++ /dev/null @@ -1,275 +0,0 @@ -# External Repositories - -## External Repository - -> Example - -```json -{ - "in_use": false, - "name": "my.registry.com/myrepo", - "registry": "/api/repo/v1/user_namespace/registry/my.registry.com/", - "resource_uri": "/api/repo/v1/user_namespace/repository/my.registry.com/myrepo/", -} -``` - -The `repository` endpoint is used to add and remove existing repositories on third party registries to be used in deployments and builds. - -This is a [namespaced endpoint](#namespaced-endpoints). - -### Attributes - -Attribute | Description ---------- | ----------- -resource_uri | A unique API endpoint that represents the repository -name | Name of the repository, i.e. `my.registry.com/myrepo` -in_use | If the image is being used by any of your services -registry | Resource URI of the registry where this image is hosted - - -## List all external repositories - -```python -import dockercloud - -repositories = dockercloud.Repository.list() -``` - -```http -GET /api/repo/v1/repository/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -repositoriesList, err := dockercloud.ListRepositories() - -if err != nil { - log.Println(err) -} - -log.Pringln(repositoriesList) -``` - -```shell -docker-cloud repository ls -``` - -Lists all added repositories from third party registries. Returns a list of `Repository` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/repo/v1/[optional_namespace/]repository/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -name | Filter by image name -registry | Filter by resource URI of the target repository registry - - -## Add a new external repository - -```python -import dockercloud - -repository = dockercloud.Repository.create(name="registry.local/user1/image1", username=username, password=password) -repository.save() -``` - -```http -POST /api/repo/v1/repository/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"name": "registry.local/user1/image1", "username": "username", "password": "password"} -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -image, err := dockercloud.CreateImage(dockercloud.ImageCreateRequest{ - Name: "registry.local/user1/image1", - Username: "username", - Password: "password" -}) -``` - -```shell -docker-cloud repository register -u username -p password registry.local/user1/image1 -``` - -Adds an existing repository on a third party registry. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/repo/v1/[optional_namespace/]repository/` - -### JSON Parameters - -Parameter | Description ---------- | ----------- -name | Name of the repository, i.e. 'my.registry.com/myrepo' -username | Username to authenticate with the third party registry -password | Password to authenticate with the third party registry - - -## Get an external repository details - -```python -import dockercloud - -repository = dockercloud.Repository.fetch("registry.local/user1/image1") -``` - -```http -GET /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -repository, err = dockercloud.GetRepository("registry.local/user1/image1") - -if err != nil { - log.Println(err) -} - -log.Println(repository) -``` - -```shell -docker-cloud repository inspect registry.local/user1/image1 -``` - -Gets all the details of an specific repository - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/repo/v1/[optional_namespace/]repository/(name)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -name | The name of the repository to retrieve - - -## Update credentials of an external repository - -```python -import dockercloud - -repository = dockercloud.Repository.fetch("registry.local/user1/image1") -repository.username = "new username" -repository.password = "new password" -repository.save() -``` - -```http -PATCH /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"username": "username", "password": "password"} -``` - -```shell -docker-cloud repository update -n "new username" -p "new password" registry.local/user1/image1 -``` - -Updates the external repository credentials. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`PATCH /api/repo/v1/[optional_namespace/]repository/(name)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -name | The name of the repository to update - - -### JSON Parameters - -Parameter | Description ---------- | ----------- -username | Username to authenticate with the private registry -password | Password to authenticate with the private registry - - -## Remove an external repository - -```python -import dockercloud - -repository = dockercloud.Repository.fetch("registry.local/user1/image1") -repository.delete() -``` - -```http -DELETE /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -repository, err = dockercloud.GetRepository("registry.local/user1/image1") - -if err != nil { - log.Println(err) -} - -repository.Remove() -``` - -```shell -docker-cloud repository rm registry.local/user1/image1 -``` - -Removes the external repository from Docker Cloud. It won't remove the repository from the third party registry where it's stored. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/repo/v1/[optional_namespace/]repository/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -name | The name of the external repository to remove diff --git a/apidocs/cloud-api-source/source/includes/service.md b/apidocs/cloud-api-source/source/includes/service.md deleted file mode 100644 index 8b77b1ec04e1..000000000000 --- a/apidocs/cloud-api-source/source/includes/service.md +++ /dev/null @@ -1,935 +0,0 @@ -# Services - -## Service - -> Example - -```json -{ - "autodestroy": "OFF", - "autoredeploy": false, - "autorestart": "ON_FAILURE", - "bindings": [ - { - "host_path": null, - "container_path": "/tmp", - "rewritable": true, - "volumes_from": null - }, - { - "host_path": "/etc", - "container_path": "/etc", - "rewritable": true, - "volumes_from": null - }, - { - "host_path": null, - "container_path": null, - "rewritable": true, - "volumes_from": "/api/app/v1/user_namespace/service/2f4f54e5-9d3b-4ac1-85ad-a2d4ff25a179/" - } - ], - "cap_add": [ - "ALL" - ], - "cap_drop": [ - "NET_ADMIN", - "SYS_ADMIN" - ], - "container_envvars": [ - { - "key": "DB_PASS", - "value": "test" - } - ], - "container_ports": [ - { - "endpoint_uri": "http://wordpress-stackable.admin.srv.dockerapp.io:80/", - "inner_port": 80, - "outer_port": 80, - "port_name": "http", - "protocol": "tcp", - "published": true - } - ], - "containers": [ - "/api/app/v1/user_namespace/container/6f8ee454-9dc3-4387-80c3-57aac1be3cc6/", - "/api/app/v1/user_namespace/container/fdf9c116-7c08-4a60-b0ce-c54ca72c2f25/" - ], - "cpu_shares": 100, - "cpuset": "0,1", - "cgroup_parent": "m-executor-abcd", - "current_num_containers": 2, - "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000", - "deployment_strategy": "EMPTIEST_NODE", - "destroyed_datetime": null, - "devices": [ - "/dev/ttyUSB0:/dev/ttyUSB0" - ], - "dns": [ - "8.8.8.8" - ], - "dns_search": [ - "example.com" - ], - "domainname": "domainname", - "entrypoint": "", - "extra_hosts": [ - "onehost:50.31.209.229" - ], - "hostname": "hostname", - "image_name": "tutum/wordpress-stackable:latest", - "nickname": "wordpress-stackable", - "labels": { - "com.example.description": "Accounting webapp", - "com.example.department": "Finance", - "com.example.label-with-empty-value": "" - }, - "link_variables": { - "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**", - "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress", - "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I", - "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**", - "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin", - "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive", - "WORDPRESS_STACKABLE_1_ENV_HOME": "/", - "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "WORDPRESS_STACKABLE_1_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153", - "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153", - "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io", - "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "49153", - "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp", - "WORDPRESS_STACKABLE_2_ENV_DB_HOST": "**LinkMe**", - "WORDPRESS_STACKABLE_2_ENV_DB_NAME": "wordpress", - "WORDPRESS_STACKABLE_2_ENV_DB_PASS": "szVaPz925B7I", - "WORDPRESS_STACKABLE_2_ENV_DB_PORT": "**LinkMe**", - "WORDPRESS_STACKABLE_2_ENV_DB_USER": "admin", - "WORDPRESS_STACKABLE_2_ENV_DEBIAN_FRONTEND": "noninteractive", - "WORDPRESS_STACKABLE_2_ENV_HOME": "/", - "WORDPRESS_STACKABLE_2_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "WORDPRESS_STACKABLE_2_PORT": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154", - "WORDPRESS_STACKABLE_2_PORT_80_TCP": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154", - "WORDPRESS_STACKABLE_2_PORT_80_TCP_ADDR": "wordpress-stackable-2.admin.cont.dockerapp.io", - "WORDPRESS_STACKABLE_2_PORT_80_TCP_PORT": "49154", - "WORDPRESS_STACKABLE_2_PORT_80_TCP_PROTO": "tcp", - "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**", - "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress", - "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I", - "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**", - "WORDPRESS_STACKABLE_ENV_DB_USER": "admin", - "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive", - "WORDPRESS_STACKABLE_ENV_HOME": "/", - "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "WORDPRESS_STACKABLE_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153", - "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153", - "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io", - "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "49153", - "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp", - "WORDPRESS_STACKABLE_DOCKERCLOUD_API_URL": "https://cloud.docker.com/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/" - }, - "linked_from_service": [], - "linked_to_service": [ - { - "from_service": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/", - "name": "DB", - "to_service": "/api/app/v1/user_namespace/service/72f175bd-390b-46e3-9463-830aca32ce3e/" - } - ], - "mac_address": "02:42:ac:11:65:43", - "memory": 2048, - "memory_swap": 8192, - "name": "wordpress-stackable", - "net": "bridge", - "privileged": false, - "public_dns": "wordpress-stackable.admin.svc.dockerapp.io", - "read_only": true, - "resource_uri": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/", - "roles": ["global"], - "run_command": "/run-wordpress.sh", - "running_num_containers": 1, - "security_opt": [ - ], - "sequential_deployment": false, - "started_datetime": "Mon, 13 Oct 2014 11:01:43 +0000", - "state": "Partly running", - "stack": "/api/app/v1/user_namespace/stack/46aca402-2109-4a70-a378-760cfed43816/", - "stdin_open": false, - "stopped_datetime": null, - "stopped_num_containers": 0, - "synchronized": true, - "tags": [ - {"name": "tag_one"}, - {"name": "tag-two"}, - {"name": "tagthree3"} - ], - "target_num_containers": 2, - "tty": false, - "user": "root", - "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b", - "working_dir": "/app" -} -``` - - -A service is a template used to deploy one or more containers. - -This is a [namespaced endpoint](#namespaced-endpoints). - -### Attributes - -Attribute | Description ---------- | ----------- -uuid | A unique identifier for the service generated automatically on creation -resource_uri | A unique API endpoint that represents the service -image_name | The Docker image name and tag used for the service containers -name | A user provided name for the service. This name will be inherited by the service containers and will be used in endpoint URLs, environment variable names, etc. -public_dns | An external FQDN that resolves to all IPs of the nodes where the service containers are running on (as an `A` record with multiple IP entries which will be used by clients in a [round-robin fashion](http://en.wikipedia.org/wiki/Round-robin_DNS)). If the service is not publishing any ports, this FQDN will fail to resolve. -state | The state of the service (see table `Service states` below) -net | Network mode to set on the containers (see table `Network Modes` below, more information /docker-cloud/apps/service-links/) -pid | Set the PID (Process) Namespace mode for the containers ([more information](/engine/reference/run/#pid-settings-pid)) -synchronized | Flag indicating if the current service definition is synchronized with the current containers. -deployed_datetime | The date and time of the last deployment of the service (if applicable, `null` otherwise) -started_datetime | The date and time of the last `start` operation on the service (if applicable, `null` otherwise) -stopped_datetime | The date and time of the last `stop` operation on the service (if applicable, `null` otherwise) -destroyed_datetime | The date and time of the `terminate` operation on the service (if applicable, `null` otherwise) -target_num_containers | The requested number of containers to deploy for the service -current_num_containers | The actual number of containers deployed for the service -running_num_containers | The actual number of containers deployed for the service in `Running` state -stopped_num_containers | The actual number of containers deployed for the service in `Stopped` state -stack | Resource URIs of the stack that the service belongs to -containers | List of resource URIs of the containers launched as part of the service -container_ports | List of ports to be published on the containers of this service (see table `Service Port attributes` below) -container_envvars | List of user-defined environment variables to set on the containers of the service, which will override the image environment variables (see table `Service Environment Variable attributes` below) -labels | Metadata in form of dictionary used for every container of this service -working_dir | Working directory for running binaries within a container of this service -user | Set the user used on containers of this service (`root` by default) -hostname | Set the hostname used on containers of this service -domainname | Set the domainname used on containers of this service -mac_address | Ethernet device's MAC address used on containers of this service -cgroup_name | Optional parent cgroup used on containers of this service. -tty | If the containers of this service have the tty enable (`false` by default) -stdin_open | If the containers of this service have stdin opened (`false` by default) -dns | Custom DNS servers for containers of this service -dns_search | Custom DNS search domain for containers of this service -cap_add | Added capabilities for containers of this service -cap_drop | Dropped capabilities for containers of this service -devices | List of device mappings for containers of this service -extra_hosts | List of hostname mappings for containers of this service -secuirty_opt | Labeling scheme for containers of this service -entrypoint | Entrypoint to be set on the containers launched as part of the service, which will override the image entrypoint -run_command | Run command to be set on the containers launched as part of the service, which will override the image run command -sequential_deployment | Whether the containers for this service should be deployed in sequence, linking each of them to the previous containers (see [Service scaling](/docker-cloud/apps/service-scaling/) for more information) -cpu_shares | The relative CPU priority of the containers of the service (see [Runtime Constraints on CPU and Memory](/engine/reference/run/#runtime-constraints-on-cpu-and-memory) for more information) -cpuset | CPUs in which to allow execution -memory | The memory limit of the containers of the service in MB (see [Runtime Constraints on CPU and Memory](/engine/reference/run/#runtime-constraints-on-cpu-and-memory) for more information) -memory_swap | Total memory limit (memory + swap) of the containers of the service in MB -linked_from_service | A list of services that are linked to this one (see table `Related services attributes` below) -linked_to_service | A list of services that the service is linked to (see table `Related services attributes` below) -bindings | A list of volume bindings that the service has mounted (see table `Service binding attributes` below) -autorestart | Whether to restart the containers of the service automatically if they stop (see [Crash recovery](/docker-cloud/apps/autorestart/) for more information) -autodestroy | Whether to terminate the containers of the service automatically if they stop (see [Autodestroy](/docker-cloud/apps/auto-destroy/) for more information) -roles | List of Docker Cloud roles assigned to this service (see [Service links](/docker-cloud/apps/service-links/) for more information) -link_variables | List of environment variables that would be exposed in the containers if they are linked to this service -privileged | Whether to start the containers with Docker's `privileged` flag set or not, which allows containers to access all devices on the host among other things (see [Runtime privilege](/engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration) for more information) -read_only | Whether the filesystem of every service container is read-only or not (`false` by default) -deployment_strategy | Container distribution among nodes (see table `Deployment strategies` below and [Deployment strategies](/docker-cloud/infrastructure/deployment-strategies/) for more information) -tags | List of tags to be used to deploy the service (see [Tags](/docker-cloud/apps/deploy-tags/) for more information) -autoredeploy | Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see [Docker Cloud's private registry](/docker-cloud/apps/auto-redeploy/) for more information) -nickname | A user-friendly name for the service (`name` by default) - - -### Service binding attributes - -Attribute | Description ---------- | ----------- -host_path | The host path of the volume -container_path | The container path where the volume is mounted -rewritable | `true` is the volume has writable permissions -volumes_from | The resource URI of the service - - -### Service Port attributes - -Attribute | Description ---------- | ----------- -protocol | The protocol of the port, either `tcp` or `udp` -inner_port | The published port number inside the container -outer_port | The published port number in the node public network interface -port_name | Name of the service associated to this port -endpoint_uri | The URI of the service endpoint for this port -published | Whether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links. - - -### Service Environment Variable attributes - -Attribute | Description ---------- | ----------- -key | The name of the environment variable -value | The value of the environment variable - - -### Related services attributes - -Attribute | Description ---------- | ----------- -name | The link name -from_service | The resource URI of the origin of the link -to_service | The resource URI of the target of the link - - -### Service states - -State | Description ------ | ----------- -Not running | The service has been created and has no deployed containers yet. Possible actions in this state: `start`, `terminate`. -Starting | All containers for the service are either starting or already running. No actions allowed in this state. -Running | All containers for the service are deployed and running. Possible actions in this state: `stop`, `redeploy`, `terminate`. -Partly running | One or more containers of the service are deployed and running. Possible actions in this state: `stop`, `redeploy`, `terminate`. -Scaling | The service is either deploying new containers or destroying existing ones responding to a scaling request. No actions allowed in this state. -Redeploying | The service is redeploying all its containers with the updated configuration. No actions allowed in this state. -Stopping | All containers for the service are either stopping or already stopped. No actions allowed in this state. -Stopped | All containers for the service are stopped. Possible actions in this state: `start`, `redeploy`, `terminate`. -Terminating | All containers for the service are either being terminated or already terminated. No actions allowed in this state. -Terminated | The service and all its containers have been terminated. No actions allowed in this state. - - -### Deployment strategies - -Strategy | Description --------- | ----------- -EMPTIEST_NODE | It will deploy containers to the node with the lower total amount of running containers (default). -HIGH_AVAILABILITY | It will deploy containers to the node with the lower amount of running containers of the same service. -EVERY_NODE | It will deploy one container on every node. The service won't be able to scale manually. New containers will be deployed to new nodes automatically. - - -### Network Modes - -Strategy | Description --------- | ----------- -bridge | Creates a new network stack for the container on the docker bridge. -host | Uses the host network stack inside the container. - -## List all services - -```python -import dockercloud - -services = dockercloud.Service.list() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -serviceList, err := dockercloud.ListServices() - -if err != nil { - log.Println(err) -} - -log.Println(serviceList) -``` - -```http -GET /api/app/v1/service/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service ps -``` - -Lists all current and recently terminated services. Returns a list of `Service` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]service/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -uuid | Filter by UUID -state | Filter by state. Possible values: `Not running`, `Starting`, `Running`, `Partly running`, `Scaling`, `Redeploying`, `Stopping`, `Stopped`, `Terminating`, `Terminated` -name | Filter by service name -stack | Filter by resource URI of the target stack. - -## Create a new service - -```python -import dockercloud - -service = dockercloud.Service.create(image="tutum/hello-world", name="my-new-app", target_num_containers=2) -service.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.CreateService(dockercloud.ServiceCreateRequest{Image: "tutum/hello-world", Name: "my-new-app", Target_num_containers: 2}) - -if err != nil { - log.Println(err) -} - -log.Println(service) -``` - -```http -POST /api/app/v1/service/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"image": "tutum/hello-world", "name": "my-new-app", "target_num_containers": 2} -``` - -```shell -docker-cloud service create -t 2 --name my-new-app tutum/hello-world -``` - -Creates a new service without starting it. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/` - -### JSON Parameters - -Parameter | Description ---------- | ----------- -image | (required) The image used to deploy this service in docker format, i.e. `tutum/hello-world` -name | (optional) A human-readable name for the service, i.e. `my-hello-world-app` (default: `image` without namespace) -target_num_containers | (optional) The number of containers to run for this service initially (default: 1) -run_command | (optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. `/run.sh` (default: `null`) -entrypoint | (optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. `/usr/sbin/sshd` (default: `null`) -container_ports | (optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. `[{"protocol": "tcp", "inner_port": 80, "outer_port": 80}]` (default: `[]`) (See table `Service Port attributes` below) -container_envvars | (optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. `[{"key": "DB_PASSWORD", "value": "mypass"}]` (default: `[]`) (See table `Service Environment Variable attributes` below) -linked_to_service | (optional) An array of service resource URIs to link this service to, including the link name, i.e. `[{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}]` (default: `[]`) (See table `Related services attributes` below) -bindings | (optional) An array of bindings this service has to mount, i.e. `[{"volumes_from": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "rewritable": true}]` (default: `[]`) (See table `Related bindings attributes` below) -autorestart | (optional) Whether the containers for this service should be restarted if they stop, i.e. `ALWAYS` (default: `OFF`, possible values: `OFF`, `ON_FAILURE`, `ALWAYS`) (see [Crash recovery](/docker-cloud/apps/autorestart/) for more information) -autodestroy | (optional) Whether the containers should be terminated if they stop, i.e. `OFF` (default: `OFF`, possible values: `OFF`, `ON_SUCCESS`, `ALWAYS`) (see [Autodestroy](/docker-cloud/apps/auto-destroy/) for more information) -sequential_deployment | (optional) Whether the containers should be launched and scaled in sequence, i.e. `true` (default: `false`) (see [Service scaling](/docker-cloud/apps/service-scaling/) for more information) -roles | (optional) A list of Docker Cloud API roles to grant the service, i.e. `["global"]` (default: `[]`, possible values: `global`) (see [Service links](/docker-cloud/apps/service-links/) for more information) -privileged | (optional) Whether to start the containers with Docker's `privileged` flag set or not, i.e. `false` (default: `false`) (see [Runtime privilege](/engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration) for more information) -deployment_strategy | (optional) Container distribution among nodes (default: `EMPTIEST_NODE`, see table `Deployment strategies` above and [Deployment strategies](/docker-cloud/infrastructure/deployment-strategies/) for more information) -tags | (optional) A list of tags to be used to deploy the service (see [Tags](/docker-cloud/apps/deploy-tags/) for more information) (default: `[]`) -autoredeploy | (optional) Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (default: `false`) (see [Docker Cloud's private registry](/docker-cloud/apps/auto-redeploy/) for more information) -net | (optional) Set the network mode to the containers (default: `bridge`, possible values: `bridge`, `host`) -pid | (optional) Set the PID (Process) Namespace mode for the containers (default: `none` value, possible values: `none`, `host`) -working_dir | (optional) Working directory for running binaries within a container of this service (default: `/`) -nickname | (optional) A user-friendly name for the service (`name` by default) - - -### Related bindings attributes - -Attribute | Description ---------- | ----------- -host_path | (optional) The host path of the volume -container_path | (required if `volumes_from` is omitted) The container path where the volume is mounted -rewritable | (optional) `true` is the volume has writable permissions (default: `true`) -volumes_from | (required if `container_path` is omitted) The resource URI of the service - - -### Service Port attributes - -Attribute | Description ---------- | ----------- -protocol | (required) The protocol of the port, either `tcp` or `udp` -inner_port | (required) The port number inside the container to be published -outer_port | (optional) The port number in the node public network interface to be published (default: dynamic allocation if `published` is `true`) -published | (optional) Whether to publish the port in the host public network interface or not. Non-published ports can only be accessed via links. (default: `false`) - - -### Service Environment Variable attributes - -Attribute | Description ---------- | ----------- -key | (required) The name of the environment variable -value | (required) The value of the environment variable - - -### Related services attributes - -Attribute | Description ---------- | ----------- -to_service | (required) The resource URI of the target of the link -name | (optional) The link name - - -## Get an existing service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -log.Println(service) -``` - -```http -GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service inspect 7eaf7fff -``` - -Get all the details of an specific service - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]service/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to retrieve - - -## Get the logs of a service - -> Example log line - -```json -{ - "type": "log", - "source": "wordpress-stackable-1", - "log": "Log line from the container indicated by 'source'", - "streamType": "stdout", - "timestamp": 1433779324 -} -``` - -```python -import dockercloud - -def log_handler(message): - print message - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.logs(tail=300, follow=True, log_handler=log_handler) -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -c := make(chan Logs) - -go service.Logs(c) - for { - s := <-c - log.Println(s) - } -``` - -```http -GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1 -Host: ws.cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Connection: Upgrade -Upgrade: websocket -``` - -```shell -docker-cloud service logs 7eaf7fff -``` - -Get the aggregated logs of all the containers of the service. - -### Endpoint Type - -Available in Docker Cloud's **STREAM API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]service/(uuid)/logs/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to retrieve logs - -### Query Parameters - -Parameter | Description ---------- | ----------- -tail | Number of lines to show from the end of the logs (default: `300`) -follow | Whether to stream logs or close the connection immediately (default: true) - - -## Update an existing service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.target_num_containers = 3 -service.tags.append({"name":"tag-1"}) -service.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = service.Update(dockercloud.ServiceCreateRequest{Target_num_containers: 3}); err != nil { - log.Println(err) -} -``` - -```http -PATCH /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"autorestart": "ON_FAILURE", "autodestroy": "OFF", "container_envvars": [{"key": "DB_PASSWORD", "value": "mypass"}], -"container_ports": [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}], "cpu_shares": 512, -"entrypoint": "/usr/sbin/sshd", "image": "tutum/hello-world", -"linked_to_service": [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}], -"memory": 2048, "privileged": True, "roles": ["global"], "run_command": "/run.sh", "sequential_deployment": False, -"tags": [{"name": "tag-1"}], "target_num_containers": 3, "autoredeploy": False} - -``` - -```shell -docker-cloud service scale 7eaf7fff 3 -docker-cloud tag add -t tag-1 7eaf7fff -docker-cloud tag set -t tag-2 7eaf7fff -``` - -Updates the service details. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`PATCH /api/app/v1/[optional_namespace/]service/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to update - - -### JSON Parameters - -Parameter | Description ---------- | ----------- -autorestart | (optional) Whether the containers for this service should be restarted if they stop, i.e. `ALWAYS` (possible values: `OFF`, `ON_FAILURE`, `ALWAYS`) (see [Crash recovery](/docker-cloud/apps/autorestart/) for more information) -autodestroy | (optional) Whether the containers should be terminated if they stop, i.e. `OFF` (possible values: `OFF`, `ON_SUCCESS`, `ALWAYS`) (see [Autodestroy](/docker-cloud/apps/auto-destroy/) for more information) -container_envvars | (optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. `[{"key": "DB_PASSWORD", "value": "mypass"}]` (See table `Service Environment Variable attributes`) -container_ports | (optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. `[{"protocol": "tcp", "inner_port": 80, "outer_port": 80}]` (See table `Service Port attributes`) -cpu_shares | (optional) The relative CPU priority of the containers the service describes (see [Runtime Constraints on CPU and Memory](/engine/reference/run/#runtime-constraints-on-cpu-and-memory) for more information) -entrypoint | (optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. `/usr/sbin/sshd` -image | (optional) The image used to deploy this service in docker format, i.e. `tutum/hello-world`, `tutum/ubuntu:5.6`. If no tag is indicated, it will be set to `latest` by default -linked_to_service | (optional) An array of service resource URIs to link this service to, including the link name, i.e. `[{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}]` (See table `Related services attributes` below) -memory | (optional) The memory limit of the containers of the service in MB (see [Runtime Constraints on CPU and Memory](/engine/reference/run/#runtime-constraints-on-cpu-and-memory) for more information) -privileged | (optional) Whether to start the containers with Docker's `privileged` flag set or not, i.e. `false` (see [Runtime privilege](/engine/reference/run/#runtime-privilege-linux-capabilities-and-lxc-configuration) for more information) -roles | (optional) A list of Docker Cloud API roles to grant the service, i.e. `["global"]` (possible values: `global`) (see [Service links](/docker-cloud/apps/service-links/) for more information) -run_command | (optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. `/run.sh` -sequential_deployment | (optional) Whether the containers should be launched and scaled in sequence, i.e. `true` (see [Service scaling](/docker-cloud/apps/service-scaling/) for more information) -tags | (optional) List of new tags the service will have. This operation replaces the tag list -target_num_containers | (optional) The number of containers to scale this service to -deployment_strategy | (optional) Container distribution among nodes. A service cannot be updated to or from a deployment strategy of `EVERY_NODE`. (See table `Deployment strategies` above and [Deployment strategies](/docker-cloud/infrastructure/deployment-strategies/) for more information) -autoredeploy | Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see [Docker Cloud's private registry](/docker-cloud/apps/auto-redeploy/) for more information) -net | (optional) Set the network mode to the containers (default: `bridge`, possible values: `bridge`, `host`) -pid | (optional) Set the PID (Process) Namespace mode for the containers (default: `none` value, possible values: `none`, `host`) -working_dir | (optional) Working directory for running binaries within a container of this service (default: `/`) -nickname | (optional) A user-friendly name for the service (`name` by default) - - -## Start a service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.start() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = service.Start(); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service start 7eaf7fff -``` - -Starts all containers in a stopped or partly running service. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/(uuid)/start/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to start - - -## Stop a service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.stop() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = service.Stop(); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service stop 7eaf7fff -``` - -Stops all containers in a running or partly running service. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/(uuid)/stop/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to stop - - -## Scale a service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.target_num_containers = 3 -service.save() -service.scale() -``` - -```http -POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/scale/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service scale 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce 3 -``` - -Scales the service to its current `target_num_containers` field. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/(uuid)/scale/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to scale - - -## Redeploy a service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.redeploy() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes -if err = service.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/redeploy/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service redeploy 7eaf7fff -``` - -Redeploys all containers in the service with the current service configuration. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/(uuid)/redeploy/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to redeploy - -### Query Parameters - -Parameter | Description ---------- | ----------- -reuse_volumes | Wheather to reuse container volumes for this redeploy operation or not (default: `true`). - - -## Terminate a service - -```python -import dockercloud - -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -service.delete() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -if err = service.Terminate(); err != nil { - log.Println(err) -} -``` - -```http -DELETE /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud service terminate 7eaf7fff -``` - -Terminate all the containers in a service and the service itself. This is not reversible. All the data stored in all containers of the service will be permanently deleted. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/app/v1/[optional_namespace/]service/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service to terminate diff --git a/apidocs/cloud-api-source/source/includes/stack.md b/apidocs/cloud-api-source/source/includes/stack.md deleted file mode 100644 index bf1bbae5a0fc..000000000000 --- a/apidocs/cloud-api-source/source/includes/stack.md +++ /dev/null @@ -1,570 +0,0 @@ -# Stacks - -## Stack - -> Example - -```json -{ - "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000", - "destroyed_datetime": null, - "nickname": "deployment stack", - "name": "dockercloud-app", - "resource_uri": "/api/app/v1/user_namespace/stack/7fe7ec85-58be-4904-81da-de2219098d7c/", - "services": [ - "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/" - ], - "state": "Running", - "synchronized": true, - "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b" -} -``` - -A stack is a logical grouping of closely related services, that may be linked with one another. - -This is a [namespaced endpoint](#namespaced-endpoints). - -### Attributes - -Attribute | Description ---------- | ----------- -uuid | A unique identifier for the stack generated automatically on creation -resource_uri | A unique API endpoint that represents the stack -name | A user provided name for the stack. -state | The state of the stack (see table `Stack states` below) -synchronized | Flag indicating if the current stack definition is synchronized with their services. -services | List of service resource URIs belonging to the stack -deployed_datetime | The date and time of the last deployment of the stack (if applicable, `null` otherwise) -destroyed_datetime | The date and time of the `terminate` operation on the stack (if applicable, `null` otherwise) -nickname | A user-friendly name for the stack (`name` by default) - - -### Stack states - -State | Description ------ | ----------- -Not Running | The stack has been created and has no deployed services yet. Possible actions in this state: `start`, `terminate`. -Starting | All services for the stack are either starting or already running. No actions allowed in this state. -Running | All services for the service are deployed and running. Possible actions in this state: `redeploy`, `terminate`. -Partly running | One or more services of the stack are deployed and running. Possible actions in this state: `redeploy`, `terminate`. -Stopping | All services for the stack are either stopping or already stopped. No actions allowed in this state. -Stopped | All services for the service are stopped. Possible actions in this state: `start`, `redeploy`, `terminate`. -Redeploying | The stack is redeploying all its services with the updated configuration. No actions allowed in this state. -Terminating | All services for the stack are either being terminated or already terminated. No actions allowed in this state. -Terminated | The stack and all its services have been terminated. No actions allowed in this state. - - -## List all stacks - -```python -import dockercloud - -stacks = dockercloud.Stack.list() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stackList, err := dockercloud.ListStacks() - -if err != nil { - log.Println(err) -} - -log.Println(stackList) -``` - -```http -GET /api/app/v1/stack/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack ls -``` - -Lists all current and recently terminated stacks. Returns a list of `Stack` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]stack/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -uuid | Filter by UUID -name | Filter by stack name - - -## Create a new stack - -```python -import dockercloud - -stack = dockercloud.Stack.create(name="my-new-stack", services=[{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}]) -stack.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.CreateStack(dockercloud.StackCreateRequest{Name: "my-new-stack", Services: []dockercloud.ServiceCreateRequest{{Image: "tutum/hello-world", Name: "test", Target_num_containers: 2}}}) - -if err != nil { - log.Println(err) -} - -log.Println(stack) -``` - -```http -POST /api/app/v1/stack/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{ - "name": "my-new-stack", - "services": [ - { - "name": "hello-word", - "image": "tutum/hello-world", - "target_num_containers": 2, - "linked_to_service": [ - { - "to_service": "database", - "name": "DB" - } - ] - }, - { - "name": "database", - "image": "tutum/mysql" - } - ] -} -``` - -```shell -docker-cloud stack create --name hello-world -f docker-compose.yml -``` - -Creates a new stack without starting it. Note that the JSON syntax is abstracted by both, the Docker Cloud CLI and our UI, in order to use [Stack YAML files](/docker-cloud/apps/stack-yaml-reference/). - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]stack/` - -### JSON Parameters - -Parameter | Description ---------- | ----------- -name | (required) A human-readable name for the stack, i.e. `my-hello-world-stack` -nickname | (optional) A user-friendly name for the stack (`name` by default) -services | (optional) List of services belonging to the stack. Each service accepts the same parameters as a [Create new service](#create-a-new-service) operation (default: `[]`) plus the ability to refer "links" and "volumes-from" by the name of another service in the stack (see example). - - -## Export an existing stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816") -stack.export() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -if err = stack.Export(); err != nil { - log.Println(err) -} -``` - -```http -GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/export/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack export 46aca402 -``` - -Get a JSON representation of the stack following the [Stack YAML representation](/docker-cloud/apps/stacks/). - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]stack/(uuid)/export/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to retrieve - - - -## Get an existing stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -log.Println(stack) -``` - -```http -GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack inspect 46aca402-2109-4a70-a378-760cfed43816 -``` - -Get all the details of an specific stack - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]stack/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to retrieve - - - -## Update an existing stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816") -stack.services = {"services": [{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}]} -stack.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -if err = stack.Update(dockercloud.StackCreateRequest{Services: []dockercloud.ServiceCreateRequest{{Name: "hello-world", Image: "tutum/hello-world", Target_num_containers: 2}}}); err != nil { - log.Println(err) -} -``` - -```http -PATCH /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{ - "services": [ - { - "name": "hello-word", - "image": "tutum/hello-world", - "target_num_containers": 3, - "linked_to_service": [ - { - "to_service": "database", - "name": "DB" - } - ] - }, - { - "name": "database", - "image": "tutum/mysql" - } - ] -} -``` - -```shell -docker-cloud stack update -f docker-compose.yml 46aca402 -``` - -Updates the details of every service in the stack. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`PATCH /api/app/v1/[optional_namespace/]stack/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to update - - -### JSON Parameters - -Parameter | Description ---------- | ----------- -services | (optional) List of services belonging to the stack. Each service accepts the same parameters as a [Update an existing service](#update-an-existing-service) operation (default: `[]`) plus the ability to refer "links" and "volumes-from" by the name of another service in the stack (see example). - - - -## Stop a stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816") -stack.stop() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -if err = stack.Stop(); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/stop/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack stop 46aca402-2109-4a70-a378-760cfed43816 -``` - -Stops the services in the stack. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]stack/(uuid)/stop/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to stop - - -## Start a stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch() -stack.start() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -if err = stack.Start(); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/start/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack start 46aca402 -``` - -Starts the services in the stack. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]stack/(uuid)/start/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to start - - -## Redeploy a stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816") -stack.redeploy() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes -if err = stack.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil { - log.Println(err) -} -``` - -```http -POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/redeploy/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack redeploy 46aca402 -``` - -Redeploys all the services in the stack. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]stack/(uuid)/redeploy/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to redeploy - -### Query Parameters - -Parameter | Description ---------- | ----------- -reuse_volumes | Wheather to reuse container volumes for this redeploy operation or not (default: `true`). - - -## Terminate a stack - -```python -import dockercloud - -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816") -stack.delete() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816") - -if err != nil { - log.Println(err) -} - -if err = stack.Terminate(); err != nil { - log.Println(err) -} -``` - -```http -DELETE /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud stack terminate 46aca402 -``` - -Terminate all the services in a the stack and the stack itself. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/app/v1/[optional_namespace/]stack/(uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the stack to terminate diff --git a/apidocs/cloud-api-source/source/includes/tag.md b/apidocs/cloud-api-source/source/includes/tag.md deleted file mode 100644 index ccd334ede5b0..000000000000 --- a/apidocs/cloud-api-source/source/includes/tag.md +++ /dev/null @@ -1,52 +0,0 @@ -# Tags - -## Tag - -> Example - -```json -{ - "name": "byon=false", - "origin": "tutum" -} -``` - -Tags are used to target the deployment of services to a specific set of nodes. [Learn more](/docker-cloud/apps/deploy-tags/) - -### Attributes - -Attribute | Description ---------- | ----------- -name | Name of the tag -origin | Possible values: `user`, `tutum` - - -## List all node tags - -```http -GET /api/infra/v1/tag/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -``` -docker-cloud tag ls 7eaf7fff-882c -``` - -Lists all tags used by all nodes. Returns a list of `Tag` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/infra/v1/tag/` - -### Query Parameters - -Parameter | Description ---------- | ----------- -name | Filter by name -origin | Filter by origin. Possible values: `user`, `tutum` diff --git a/apidocs/cloud-api-source/source/includes/triggers.md b/apidocs/cloud-api-source/source/includes/triggers.md deleted file mode 100644 index 768eb9ec87b4..000000000000 --- a/apidocs/cloud-api-source/source/includes/triggers.md +++ /dev/null @@ -1,301 +0,0 @@ -# Triggers - -## Service triggers - -> Example - -```json -{ - "url": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/call/", - "operation": "REDEPLOY", - "name": "docker_trigger", - "resource_uri": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/" -} -``` - -Triggers are URLs that will start a redeploy of the service whenever a `POST` request is sent to them. They require no authorization headers, so they should be treated as access tokens. Triggers can be revoked if they are leaked or no longer used for security purposes. See [Triggers](/docker-cloud/apps/triggers/) for more information. - -This is a [namespaced endpoint](#namespaced-endpoints). - - -### Attributes - -Attribute | Description ---------- | ----------- -url | Address to be used to call the trigger with a `POST` request -name | A user provided name for the trigger -operation | The operation that the trigger call performs (see table `Operations` below) -resource_uri | A unique API endpoint that represents the trigger - - -### Operations - -Operation | Description ---------- | ----------- -REDEPLOY | Performs a `redeploy` service operation. -SCALEUP | Performs a `scale up` service operation. - - - -## List all triggers - -```python -import dockercloud - -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826') -trigger = dockercloud.Trigger.fetch(service) -trigger.list() -``` - -```http -GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826") - - if err != nil { - log.Println(err) - } - -trigger, err := service.ListTriggers() - - if err != nil { - log.Println(err) - } - - log.Println(trigger) -``` - -```shell -docker-cloud trigger list 61a29874-9134-48f9-b460-f37d4bec4826 -``` - -Lists all current triggers the service has associated to. Returns a list of `Service Trigger` objects. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service the triggers are associated to - - -## Create a new trigger - -```python -import dockercloud - -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826') -trigger = dockercloud.Trigger.fetch(service) -trigger.add(name="mytrigger_name", operation="REDEPLOY") -trigger.save() -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826") - -if err != nil { - log.Println(err) -} - -trigger, err := service.CreateTrigger(dockercloud.TriggerCreateRequest{Name: "test-trigger", Operation: "REDEPLOY"}) - -if err != nil { - log.Println(err) -} - -log.Println(trigger) -``` - -```http -POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -Content-Type: application/json - -{"name": "mytrigger_name", "operation": "REDEPLOY"} -``` - -```shell -docker-cloud trigger create --name mytrigger_name --operation REDEPLOY 61a29874-9134-48f9-b460-f37d4bec4826 -``` - -Creates a new service trigger. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/` - -### JSON Parameters - -Parameter | Description ---------- | ----------- -name | (optional) A user provided name for the trigger -operation | (optional) The operation to be performed by the trigger (default: "REDEPLOY") - -## Get an existing trigger -```python -import dockercloud - -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826') -trigger = dockercloud.Trigger.fetch(service) -``` - - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826") - -if err != nil { - log.Println(err) -} - -trigger, err := service.GetTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") - -if err != nil { - log.Println(err) -} - -log.Println(trigger) -``` - -```http -GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -Get all the details of an specific trigger - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the service the triggers are associated to -trigger_uuid | The UUID of the trigger to retrieve - -## Delete a trigger - -```python -import dockercloud - -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826') -trigger = dockercloud.Trigger.fetch(service) -trigger.delete("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826") - -if err != nil { - log.Println(err) -} - -service.DeleteTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```http -DELETE /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -docker-cloud trigger rm 61a29874-9134-48f9-b460-f37d4bec4826 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce -``` - -Deletes specific trigger. It will be no longer available to be called. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`DELETE /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the associated service -trigger_uuid | The UUID of the trigger to delete - - -## Call a trigger - -```python -import dockercloud - -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826') -trigger = dockercloud.Trigger.fetch(service) -trigger.call("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826") - -if err != nil { - log.Println(err) -} - -service.CallTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce") -``` - -```http -POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/ HTTP/1.1 -Host: cloud.docker.com -Accept: application/json -``` - -Executes the trigger. For `SCALEUP` triggers, the number of containers to scale up can be passed at the end of the trigger call url, for example `/api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/3/`. - -### Endpoint Type - -Available in Docker Cloud's **REST API** - -### HTTP Request - -`POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/call/` - -### Path Parameters - -Parameter | Description ---------- | ----------- -uuid | The UUID of the associated service -trigger_uuid | The UUID of the trigger to call diff --git a/apidocs/cloud-api-source/source/index.md b/apidocs/cloud-api-source/source/index.md deleted file mode 100644 index 014c2c4c5fda..000000000000 --- a/apidocs/cloud-api-source/source/index.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: Docker Cloud API reference - -language_tabs: - - http - - go - - python - - shell: CLI - -toc_footers: - -includes: - - action - - provider - - region - - availabilityzone - - nodetype - - nodecluster - - node - - registry - - repository - - stack - - service - - container - - triggers - - dockercloud-events - - errors - -search: true ---- - -# Introduction - -Docker Cloud currently offers a **HTTP REST API** and a **Websocket Stream API** which are used by both the [Web UI](https://cloud.docker.com/) and the [CLI](https://github.com/docker/dockercloud-cli). This API documentation contains all API operations currently supported in the platform and provides examples of how to execute them using our Command Line Interface (CLI), [Python SDK](https://github.com/docker/python-dockercloud) and [Go SDK](https://github.com/docker/go-dockercloud). - -# Authentication - -In order to be able to make requests to the Docker Cloud API, you should first obtain an ApiKey for your account. For this, log into Docker Cloud, click on the menu on the upper right corner of the screen, select **Account info** and then select **API keys**. - -## REST API - -```python -import dockercloud -dockercloud.user = "username" -dockercloud.apikey = "apikey" -``` - -```go -import "github.com/docker/go-dockercloud/dockercloud" - -dockercloud.User = "username" -dockercloud.ApiKey = "apikey" -``` - -```http -GET /api/app/v1/service/ HTTP/1.1 -Host: cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Accept: application/json -``` - -```shell -export DOCKERCLOUD_USER=username -export DOCKERCLOUD_APIKEY=apikey -``` - -> Make sure to replace `username` with your username and `apikey` with your API key. - -The Docker Cloud REST API is reachable through the following hostname: - -`https://cloud.docker.com/` - -All requests should be sent to this endpoint using `Basic` authentication using your API key as password: - -`Authorization: Basic dXNlcm5hbWU6YXBpa2V5` - -HTTP responses are given in JSON format, so the following `Accept` header is required for every API call: - -`Accept: application/json` - -### Namespaced endpoints - -Endpoints that are labeled as "namespaced" allow the users to operate over -different namespaces, for example over an individual user namespace, or the -namespace of an organization the user is a member of. A namespace identifies the -owner of the resource. - -The namespace is optional. If left blank, it defaults to the authenticated user -in the request. The namespace is set before the resource in the URL schema: -`https://cloud.docker.com/api///(optional_namespace/)/` - -Examples: - -- The user `exampleuser` wants to operate on the node cluster list endpoint in their own namespace. They can use either of the following urls: - - https://cloud.docker.com/api/infra/v1/nodecluster/ (namespace omitted, so will use the user authenticated in the request) - - https://cloud.docker.com/api/infra/v1/exampleuser/nodecluster/ -- The user wants to operate on the node cluster list endpoint in an organization called `exampleorg` (which they have permission to see): - - https://cloud.docker.com/api/infra/v1/exampleorg/nodecluster/ - -### Namespaced endpoints in the docker-cloud CLI - -If you are using namespaces with the `docker-cloud` CLI, set them by changing -the value of the `DOCKERCLOUD_NAMESPACE` environment variable. You can either -set this globally, or specify it before each CLI command. To learn more, see the -[Docker Cloud CLI README](https://github.com/docker/dockercloud-cli#namespace). - -## Stream API - -```python -import websocket -import base64 - -header = "Authorization: Basic %s" % base64.b64encode("%s:%s" % (username, password)) -ws = websocket.WebSocketApp('wss://ws.cloud.docker.com/v1/events', header=[header]) -``` - -```go -import "github.com/gorilla/websocket" -import "encoding/base64" - -var StreamUrl = "wss://ws.cloud.docker.com:443/v1/events" - -sEnc := base64.StdEncoding.EncodeToString([]byte(User + ":" + ApiKey)) -header := http.Header{} -header.Add("Authorization", fmt.Sprintf("Basic %s", sEnc)) - -var Dialer websocket.Dialer -ws, _, err := Dialer.Dial(url, header) -if err != nil { - log.Println(err) -} -``` - -```http -GET /api/audit/v1/events HTTP/1.1 -Host: ws.cloud.docker.com -Authorization: Basic dXNlcm5hbWU6YXBpa2V5 -Connection: Upgrade -Upgrade: websocket -``` - -```shell -export DOCKERCLOUD_USER=username -export DOCKERCLOUD_APIKEY=apikey -``` - -> Make sure to replace `username` with your username and `apikey` with your API key. - -The Docker Cloud Stream API is reachable through the following hostname: - -`wss://ws.cloud.docker.com/` - -The Stream API requires the same authentication mechanism as the REST API: - -`Authorization: Basic dXNlcm5hbWU6YXBpa2V5` - - -## API roles - -> The CLI and the SDKs will detect this environment variable and automatically use it - -If you give an [API role](/docker-cloud/apps/api-roles/) to a container, the environment variable `DOCKERCLOUD_AUTH` inside the container will have the contents of the `Authorization` header that you can use to authenticate against the REST or Stream APIs: - -`curl -H "Authorization: $DOCKERCLOUD_AUTH" https://cloud.docker.com/api/app/v1/service/` diff --git a/apidocs/cloud-api-source/source/javascripts/all.js b/apidocs/cloud-api-source/source/javascripts/all.js deleted file mode 100644 index ffaa9b013075..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/all.js +++ /dev/null @@ -1,4 +0,0 @@ -//= require ./lib/_energize -//= require ./app/_lang -//= require ./app/_search -//= require ./app/_toc diff --git a/apidocs/cloud-api-source/source/javascripts/all_nosearch.js b/apidocs/cloud-api-source/source/javascripts/all_nosearch.js deleted file mode 100644 index 818bc4e50958..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/all_nosearch.js +++ /dev/null @@ -1,3 +0,0 @@ -//= require ./lib/_energize -//= require ./app/_lang -//= require ./app/_toc diff --git a/apidocs/cloud-api-source/source/javascripts/app/_lang.js b/apidocs/cloud-api-source/source/javascripts/app/_lang.js deleted file mode 100644 index 1a124bb68aed..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/app/_lang.js +++ /dev/null @@ -1,162 +0,0 @@ -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -(function (global) { - 'use strict'; - - var languages = []; - - global.setupLanguages = setupLanguages; - global.activateLanguage = activateLanguage; - - function activateLanguage(language) { - if (!language) return; - if (language === "") return; - - $(".lang-selector a").removeClass('active'); - $(".lang-selector a[data-language-name='" + language + "']").addClass('active'); - for (var i=0; i < languages.length; i++) { - $(".highlight." + languages[i]).hide(); - } - $(".highlight." + language).show(); - - global.toc.calculateHeights(); - - // scroll to the new location of the position - if ($(window.location.hash).get(0)) { - $(window.location.hash).get(0).scrollIntoView(true); - } - } - - // parseURL and stringifyURL are from https://github.com/sindresorhus/query-string - // MIT licensed - // https://github.com/sindresorhus/query-string/blob/7bee64c16f2da1a326579e96977b9227bf6da9e6/license - function parseURL(str) { - if (typeof str !== 'string') { - return {}; - } - - str = str.trim().replace(/^(\?|#|&)/, ''); - - if (!str) { - return {}; - } - - return str.split('&').reduce(function (ret, param) { - var parts = param.replace(/\+/g, ' ').split('='); - var key = parts[0]; - var val = parts[1]; - - key = decodeURIComponent(key); - // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - val = val === undefined ? null : decodeURIComponent(val); - - if (!ret.hasOwnProperty(key)) { - ret[key] = val; - } else if (Array.isArray(ret[key])) { - ret[key].push(val); - } else { - ret[key] = [ret[key], val]; - } - - return ret; - }, {}); - }; - - function stringifyURL(obj) { - return obj ? Object.keys(obj).sort().map(function (key) { - var val = obj[key]; - - if (Array.isArray(val)) { - return val.sort().map(function (val2) { - return encodeURIComponent(key) + '=' + encodeURIComponent(val2); - }).join('&'); - } - - return encodeURIComponent(key) + '=' + encodeURIComponent(val); - }).join('&') : ''; - }; - - // gets the language set in the query string - function getLanguageFromQueryString() { - if (location.search.length >= 1) { - var language = parseURL(location.search).language - if (language) { - return language; - } else if (jQuery.inArray(location.search.substr(1), languages) != -1) { - return location.search.substr(1); - } - } - - return false; - } - - // returns a new query string with the new language in it - function generateNewQueryString(language) { - var url = parseURL(location.search); - if (url.language) { - url.language = language; - return stringifyURL(url); - } - return language; - } - - // if a button is clicked, add the state to the history - function pushURL(language) { - if (!history) { return; } - var hash = window.location.hash; - if (hash) { - hash = hash.replace(/^#+/, ''); - } - history.pushState({}, '', '?' + generateNewQueryString(language) + '#' + hash); - - // save language as next default - localStorage.setItem("language", language); - } - - function setupLanguages(l) { - var defaultLanguage = localStorage.getItem("language"); - - languages = l; - - var presetLanguage = getLanguageFromQueryString(); - if (presetLanguage) { - // the language is in the URL, so use that language! - activateLanguage(presetLanguage); - - localStorage.setItem("language", presetLanguage); - } else if ((defaultLanguage !== null) && (jQuery.inArray(defaultLanguage, languages) != -1)) { - // the language was the last selected one saved in localstorage, so use that language! - activateLanguage(defaultLanguage); - } else { - // no language selected, so use the default - activateLanguage(languages[0]); - } - } - - // if we click on a language tab, activate that language - $(function() { - $(".lang-selector a").on("click", function() { - var language = $(this).data("language-name"); - pushURL(language); - activateLanguage(language); - return false; - }); - window.onpopstate = function() { - activateLanguage(getLanguageFromQueryString()); - }; - }); -})(window); diff --git a/apidocs/cloud-api-source/source/javascripts/app/_search.js b/apidocs/cloud-api-source/source/javascripts/app/_search.js deleted file mode 100644 index 91f38a04edf5..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/app/_search.js +++ /dev/null @@ -1,74 +0,0 @@ -//= require ../lib/_lunr -//= require ../lib/_jquery.highlight -(function () { - 'use strict'; - - var content, searchResults; - var highlightOpts = { element: 'span', className: 'search-highlight' }; - - var index = new lunr.Index(); - - index.ref('id'); - index.field('title', { boost: 10 }); - index.field('body'); - index.pipeline.add(lunr.trimmer, lunr.stopWordFilter); - - $(populate); - $(bind); - - function populate() { - $('h1, h2').each(function() { - var title = $(this); - var body = title.nextUntil('h1, h2'); - index.add({ - id: title.prop('id'), - title: title.text(), - body: body.text() - }); - }); - } - - function bind() { - content = $('.content'); - searchResults = $('.search-results'); - - $('#input-search').on('keyup', search); - } - - function search(event) { - unhighlight(); - searchResults.addClass('visible'); - - // ESC clears the field - if (event.keyCode === 27) this.value = ''; - - if (this.value) { - var results = index.search(this.value).filter(function(r) { - return r.score > 0.0001; - }); - - if (results.length) { - searchResults.empty(); - $.each(results, function (index, result) { - var elem = document.getElementById(result.ref); - searchResults.append("
  • " + $(elem).text() + "
  • "); - }); - highlight.call(this); - } else { - searchResults.html('
  • '); - $('.search-results li').text('No Results Found for "' + this.value + '"'); - } - } else { - unhighlight(); - searchResults.removeClass('visible'); - } - } - - function highlight() { - if (this.value) content.highlight(this.value, highlightOpts); - } - - function unhighlight() { - content.unhighlight(highlightOpts); - } -})(); diff --git a/apidocs/cloud-api-source/source/javascripts/app/_toc.js b/apidocs/cloud-api-source/source/javascripts/app/_toc.js deleted file mode 100644 index bc2aa3e1f111..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/app/_toc.js +++ /dev/null @@ -1,55 +0,0 @@ -//= require ../lib/_jquery_ui -//= require ../lib/_jquery.tocify -//= require ../lib/_imagesloaded.min -(function (global) { - 'use strict'; - - var closeToc = function() { - $(".tocify-wrapper").removeClass('open'); - $("#nav-button").removeClass('open'); - }; - - var makeToc = function() { - global.toc = $("#toc").tocify({ - selectors: 'h1, h2', - extendPage: false, - theme: 'none', - smoothScroll: false, - showEffectSpeed: 0, - hideEffectSpeed: 180, - ignoreSelector: '.toc-ignore', - highlightOffset: 60, - scrollTo: -1, - scrollHistory: true, - hashGenerator: function (text, element) { - return element.prop('id'); - } - }).data('toc-tocify'); - - $("#nav-button").click(function() { - $(".tocify-wrapper").toggleClass('open'); - $("#nav-button").toggleClass('open'); - return false; - }); - - $(".page-wrapper").click(closeToc); - $(".tocify-item").click(closeToc); - }; - - // Hack to make already open sections to start opened, - // instead of displaying an ugly animation - function animate() { - setTimeout(function() { - toc.setOption('showEffectSpeed', 180); - }, 50); - } - - $(function() { - makeToc(); - animate(); - $('.content').imagesLoaded( function() { - global.toc.calculateHeights(); - }); - }); -})(window); - diff --git a/apidocs/cloud-api-source/source/javascripts/lib/_energize.js b/apidocs/cloud-api-source/source/javascripts/lib/_energize.js deleted file mode 100644 index 6798f3c03f3d..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/lib/_energize.js +++ /dev/null @@ -1,169 +0,0 @@ -/** - * energize.js v0.1.0 - * - * Speeds up click events on mobile devices. - * https://github.com/davidcalhoun/energize.js - */ - -(function() { // Sandbox - /** - * Don't add to non-touch devices, which don't need to be sped up - */ - if(!('ontouchstart' in window)) return; - - var lastClick = {}, - isThresholdReached, touchstart, touchmove, touchend, - click, closest; - - /** - * isThresholdReached - * - * Compare touchstart with touchend xy coordinates, - * and only fire simulated click event if the coordinates - * are nearby. (don't want clicking to be confused with a swipe) - */ - isThresholdReached = function(startXY, xy) { - return Math.abs(startXY[0] - xy[0]) > 5 || Math.abs(startXY[1] - xy[1]) > 5; - }; - - /** - * touchstart - * - * Save xy coordinates when the user starts touching the screen - */ - touchstart = function(e) { - this.startXY = [e.touches[0].clientX, e.touches[0].clientY]; - this.threshold = false; - }; - - /** - * touchmove - * - * Check if the user is scrolling past the threshold. - * Have to check here because touchend will not always fire - * on some tested devices (Kindle Fire?) - */ - touchmove = function(e) { - // NOOP if the threshold has already been reached - if(this.threshold) return false; - - this.threshold = isThresholdReached(this.startXY, [e.touches[0].clientX, e.touches[0].clientY]); - }; - - /** - * touchend - * - * If the user didn't scroll past the threshold between - * touchstart and touchend, fire a simulated click. - * - * (This will fire before a native click) - */ - touchend = function(e) { - // Don't fire a click if the user scrolled past the threshold - if(this.threshold || isThresholdReached(this.startXY, [e.changedTouches[0].clientX, e.changedTouches[0].clientY])) { - return; - } - - /** - * Create and fire a click event on the target element - * https://developer.mozilla.org/en/DOM/event.initMouseEvent - */ - var touch = e.changedTouches[0], - evt = document.createEvent('MouseEvents'); - evt.initMouseEvent('click', true, true, window, 0, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); - evt.simulated = true; // distinguish from a normal (nonsimulated) click - e.target.dispatchEvent(evt); - }; - - /** - * click - * - * Because we've already fired a click event in touchend, - * we need to listed for all native click events here - * and suppress them as necessary. - */ - click = function(e) { - /** - * Prevent ghost clicks by only allowing clicks we created - * in the click event we fired (look for e.simulated) - */ - var time = Date.now(), - timeDiff = time - lastClick.time, - x = e.clientX, - y = e.clientY, - xyDiff = [Math.abs(lastClick.x - x), Math.abs(lastClick.y - y)], - target = closest(e.target, 'A') || e.target, // needed for standalone apps - nodeName = target.nodeName, - isLink = nodeName === 'A', - standAlone = window.navigator.standalone && isLink && e.target.getAttribute("href"); - - lastClick.time = time; - lastClick.x = x; - lastClick.y = y; - - /** - * Unfortunately Android sometimes fires click events without touch events (seen on Kindle Fire), - * so we have to add more logic to determine the time of the last click. Not perfect... - * - * Older, simpler check: if((!e.simulated) || standAlone) - */ - if((!e.simulated && (timeDiff < 500 || (timeDiff < 1500 && xyDiff[0] < 50 && xyDiff[1] < 50))) || standAlone) { - e.preventDefault(); - e.stopPropagation(); - if(!standAlone) return false; - } - - /** - * Special logic for standalone web apps - * See http://stackoverflow.com/questions/2898740/iphone-safari-web-app-opens-links-in-new-window - */ - if(standAlone) { - window.location = target.getAttribute("href"); - } - - /** - * Add an energize-focus class to the targeted link (mimics :focus behavior) - * TODO: test and/or remove? Does this work? - */ - if(!target || !target.classList) return; - target.classList.add("energize-focus"); - window.setTimeout(function(){ - target.classList.remove("energize-focus"); - }, 150); - }; - - /** - * closest - * @param {HTMLElement} node current node to start searching from. - * @param {string} tagName the (uppercase) name of the tag you're looking for. - * - * Find the closest ancestor tag of a given node. - * - * Starts at node and goes up the DOM tree looking for a - * matching nodeName, continuing until hitting document.body - */ - closest = function(node, tagName){ - var curNode = node; - - while(curNode !== document.body) { // go up the dom until we find the tag we're after - if(!curNode || curNode.nodeName === tagName) { return curNode; } // found - curNode = curNode.parentNode; // not found, so keep going up - } - - return null; // not found - }; - - /** - * Add all delegated event listeners - * - * All the events we care about bubble up to document, - * so we can take advantage of event delegation. - * - * Note: no need to wait for DOMContentLoaded here - */ - document.addEventListener('touchstart', touchstart, false); - document.addEventListener('touchmove', touchmove, false); - document.addEventListener('touchend', touchend, false); - document.addEventListener('click', click, true); // TODO: why does this use capture? - -})(); \ No newline at end of file diff --git a/apidocs/cloud-api-source/source/javascripts/lib/_imagesloaded.min.js b/apidocs/cloud-api-source/source/javascripts/lib/_imagesloaded.min.js deleted file mode 100644 index d66f658937d8..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/lib/_imagesloaded.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * imagesLoaded PACKAGED v3.1.8 - * JavaScript is all like "You images are done yet or what?" - * MIT License - */ - -(function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function f(e){this.img=e}function c(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var r=n.querySelectorAll("img"),o=0,s=r.length;s>o;o++){var f=r[o];this.addImage(f)}}},s.prototype.addImage=function(e){var t=new f(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),f.prototype=new t,f.prototype.check=function(){var e=v[this.img.src]||new c(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},f.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return c.prototype=new t,c.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},c.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},c.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},c.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},c.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},c.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s}); \ No newline at end of file diff --git a/apidocs/cloud-api-source/source/javascripts/lib/_jquery.highlight.js b/apidocs/cloud-api-source/source/javascripts/lib/_jquery.highlight.js deleted file mode 100644 index 9dcf3c7af3ff..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/lib/_jquery.highlight.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * jQuery Highlight plugin - * - * Based on highlight v3 by Johann Burkard - * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html - * - * Code a little bit refactored and cleaned (in my humble opinion). - * Most important changes: - * - has an option to highlight only entire words (wordsOnly - false by default), - * - has an option to be case sensitive (caseSensitive - false by default) - * - highlight element tag and class names can be specified in options - * - * Usage: - * // wrap every occurrance of text 'lorem' in content - * // with (default options) - * $('#content').highlight('lorem'); - * - * // search for and highlight more terms at once - * // so you can save some time on traversing DOM - * $('#content').highlight(['lorem', 'ipsum']); - * $('#content').highlight('lorem ipsum'); - * - * // search only for entire word 'lorem' - * $('#content').highlight('lorem', { wordsOnly: true }); - * - * // don't ignore case during search of term 'lorem' - * $('#content').highlight('lorem', { caseSensitive: true }); - * - * // wrap every occurrance of term 'ipsum' in content - * // with - * $('#content').highlight('ipsum', { element: 'em', className: 'important' }); - * - * // remove default highlight - * $('#content').unhighlight(); - * - * // remove custom highlight - * $('#content').unhighlight({ element: 'em', className: 'important' }); - * - * - * Copyright (c) 2009 Bartek Szopka - * - * Licensed under MIT license. - * - */ - -jQuery.extend({ - highlight: function (node, re, nodeName, className) { - if (node.nodeType === 3) { - var match = node.data.match(re); - if (match) { - var highlight = document.createElement(nodeName || 'span'); - highlight.className = className || 'highlight'; - var wordNode = node.splitText(match.index); - wordNode.splitText(match[0].length); - var wordClone = wordNode.cloneNode(true); - highlight.appendChild(wordClone); - wordNode.parentNode.replaceChild(highlight, wordNode); - return 1; //skip added node in parent - } - } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children - !/(script|style)/i.test(node.tagName) && // ignore script and style nodes - !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted - for (var i = 0; i < node.childNodes.length; i++) { - i += jQuery.highlight(node.childNodes[i], re, nodeName, className); - } - } - return 0; - } -}); - -jQuery.fn.unhighlight = function (options) { - var settings = { className: 'highlight', element: 'span' }; - jQuery.extend(settings, options); - - return this.find(settings.element + "." + settings.className).each(function () { - var parent = this.parentNode; - parent.replaceChild(this.firstChild, this); - parent.normalize(); - }).end(); -}; - -jQuery.fn.highlight = function (words, options) { - var settings = { className: 'highlight', element: 'span', caseSensitive: false, wordsOnly: false }; - jQuery.extend(settings, options); - - if (words.constructor === String) { - words = [words]; - } - words = jQuery.grep(words, function(word, i){ - return word != ''; - }); - words = jQuery.map(words, function(word, i) { - return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - }); - if (words.length == 0) { return this; }; - - var flag = settings.caseSensitive ? "" : "i"; - var pattern = "(" + words.join("|") + ")"; - if (settings.wordsOnly) { - pattern = "\\b" + pattern + "\\b"; - } - var re = new RegExp(pattern, flag); - - return this.each(function () { - jQuery.highlight(this, re, settings.element, settings.className); - }); -}; - diff --git a/apidocs/cloud-api-source/source/javascripts/lib/_jquery.tocify.js b/apidocs/cloud-api-source/source/javascripts/lib/_jquery.tocify.js deleted file mode 100644 index 91cf637913a0..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/lib/_jquery.tocify.js +++ /dev/null @@ -1,1042 +0,0 @@ -/* jquery Tocify - v1.8.0 - 2013-09-16 -* http://www.gregfranko.com/jquery.tocify.js/ -* Copyright (c) 2013 Greg Franko; Licensed MIT -* Modified lightly by Robert Lord to fix a bug I found, -* and also so it adds ids to headers -* also because I want height caching, since the -* height lookup for h1s and h2s was causing serious -* lag spikes below 30 fps */ - -// Immediately-Invoked Function Expression (IIFE) [Ben Alman Blog Post](http://benalman.com/news/2010/11/immediately-invoked-function-expression/) that calls another IIFE that contains all of the plugin logic. I used this pattern so that anyone viewing this code would not have to scroll to the bottom of the page to view the local parameters that were passed to the main IIFE. -(function(tocify) { - - // ECMAScript 5 Strict Mode: [John Resig Blog Post](http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/) - "use strict"; - - // Calls the second IIFE and locally passes in the global jQuery, window, and document objects - tocify(window.jQuery, window, document); - -} - -// Locally passes in `jQuery`, the `window` object, the `document` object, and an `undefined` variable. The `jQuery`, `window` and `document` objects are passed in locally, to improve performance, since javascript first searches for a variable match within the local variables set before searching the global variables set. All of the global variables are also passed in locally to be minifier friendly. `undefined` can be passed in locally, because it is not a reserved word in JavaScript. -(function($, window, document, undefined) { - - // ECMAScript 5 Strict Mode: [John Resig Blog Post](http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/) - "use strict"; - - var tocClassName = "tocify", - tocClass = "." + tocClassName, - tocFocusClassName = "tocify-focus", - tocHoverClassName = "tocify-hover", - hideTocClassName = "tocify-hide", - hideTocClass = "." + hideTocClassName, - headerClassName = "tocify-header", - headerClass = "." + headerClassName, - subheaderClassName = "tocify-subheader", - subheaderClass = "." + subheaderClassName, - itemClassName = "tocify-item", - itemClass = "." + itemClassName, - extendPageClassName = "tocify-extend-page", - extendPageClass = "." + extendPageClassName; - - // Calling the jQueryUI Widget Factory Method - $.widget("toc.tocify", { - - //Plugin version - version: "1.8.0", - - // These options will be used as defaults - options: { - - // **context**: Accepts String: Any jQuery selector - // The container element that holds all of the elements used to generate the table of contents - context: "body", - - // **ignoreSelector**: Accepts String: Any jQuery selector - // A selector to any element that would be matched by selectors that you wish to be ignored - ignoreSelector: null, - - // **selectors**: Accepts an Array of Strings: Any jQuery selectors - // The element's used to generate the table of contents. The order is very important since it will determine the table of content's nesting structure - selectors: "h1, h2, h3", - - // **showAndHide**: Accepts a boolean: true or false - // Used to determine if elements should be shown and hidden - showAndHide: true, - - // **showEffect**: Accepts String: "none", "fadeIn", "show", or "slideDown" - // Used to display any of the table of contents nested items - showEffect: "slideDown", - - // **showEffectSpeed**: Accepts Number (milliseconds) or String: "slow", "medium", or "fast" - // The time duration of the show animation - showEffectSpeed: "medium", - - // **hideEffect**: Accepts String: "none", "fadeOut", "hide", or "slideUp" - // Used to hide any of the table of contents nested items - hideEffect: "slideUp", - - // **hideEffectSpeed**: Accepts Number (milliseconds) or String: "slow", "medium", or "fast" - // The time duration of the hide animation - hideEffectSpeed: "medium", - - // **smoothScroll**: Accepts a boolean: true or false - // Determines if a jQuery animation should be used to scroll to specific table of contents items on the page - smoothScroll: true, - - // **smoothScrollSpeed**: Accepts Number (milliseconds) or String: "slow", "medium", or "fast" - // The time duration of the smoothScroll animation - smoothScrollSpeed: "medium", - - // **scrollTo**: Accepts Number (pixels) - // The amount of space between the top of page and the selected table of contents item after the page has been scrolled - scrollTo: 0, - - // **showAndHideOnScroll**: Accepts a boolean: true or false - // Determines if table of contents nested items should be shown and hidden while scrolling - showAndHideOnScroll: true, - - // **highlightOnScroll**: Accepts a boolean: true or false - // Determines if table of contents nested items should be highlighted (set to a different color) while scrolling - highlightOnScroll: true, - - // **highlightOffset**: Accepts a number - // The offset distance in pixels to trigger the next active table of contents item - highlightOffset: 40, - - // **theme**: Accepts a string: "bootstrap", "jqueryui", or "none" - // Determines if Twitter Bootstrap, jQueryUI, or Tocify classes should be added to the table of contents - theme: "bootstrap", - - // **extendPage**: Accepts a boolean: true or false - // If a user scrolls to the bottom of the page and the page is not tall enough to scroll to the last table of contents item, then the page height is increased - extendPage: true, - - // **extendPageOffset**: Accepts a number: pixels - // How close to the bottom of the page a user must scroll before the page is extended - extendPageOffset: 100, - - // **history**: Accepts a boolean: true or false - // Adds a hash to the page url to maintain history - history: true, - - // **scrollHistory**: Accepts a boolean: true or false - // Adds a hash to the page url, to maintain history, when scrolling to a TOC item - scrollHistory: false, - - // **hashGenerator**: How the hash value (the anchor segment of the URL, following the - // # character) will be generated. - // - // "compact" (default) - #CompressesEverythingTogether - // "pretty" - #looks-like-a-nice-url-and-is-easily-readable - // function(text, element){} - Your own hash generation function that accepts the text as an - // argument, and returns the hash value. - hashGenerator: "compact", - - // **highlightDefault**: Accepts a boolean: true or false - // Set's the first TOC item as active if no other TOC item is active. - highlightDefault: true - - }, - - // _Create - // ------- - // Constructs the plugin. Only called once. - _create: function() { - - var self = this; - - self.tocifyWrapper = $('.tocify-wrapper'); - self.extendPageScroll = true; - - // Internal array that keeps track of all TOC items (Helps to recognize if there are duplicate TOC item strings) - self.items = []; - - // Generates the HTML for the dynamic table of contents - self._generateToc(); - - // Caches heights and anchors - self.cachedHeights = [], - self.cachedAnchors = []; - - // Adds CSS classes to the newly generated table of contents HTML - self._addCSSClasses(); - - self.webkit = (function() { - - for(var prop in window) { - - if(prop) { - - if(prop.toLowerCase().indexOf("webkit") !== -1) { - - return true; - - } - - } - - } - - return false; - - }()); - - // Adds jQuery event handlers to the newly generated table of contents - self._setEventHandlers(); - - // Binding to the Window load event to make sure the correct scrollTop is calculated - $(window).load(function() { - - // Sets the active TOC item - self._setActiveElement(true); - - // Once all animations on the page are complete, this callback function will be called - $("html, body").promise().done(function() { - - setTimeout(function() { - - self.extendPageScroll = false; - - },0); - - }); - - }); - - }, - - // _generateToc - // ------------ - // Generates the HTML for the dynamic table of contents - _generateToc: function() { - - // _Local variables_ - - // Stores the plugin context in the self variable - var self = this, - - // All of the HTML tags found within the context provided (i.e. body) that match the top level jQuery selector above - firstElem, - - // Instantiated variable that will store the top level newly created unordered list DOM element - ul, - ignoreSelector = self.options.ignoreSelector; - - // If the selectors option has a comma within the string - if(this.options.selectors.indexOf(",") !== -1) { - - // Grabs the first selector from the string - firstElem = $(this.options.context).find(this.options.selectors.replace(/ /g,"").substr(0, this.options.selectors.indexOf(","))); - - } - - // If the selectors option does not have a comman within the string - else { - - // Grabs the first selector from the string and makes sure there are no spaces - firstElem = $(this.options.context).find(this.options.selectors.replace(/ /g,"")); - - } - - if(!firstElem.length) { - - self.element.addClass(hideTocClassName); - - return; - - } - - self.element.addClass(tocClassName); - - // Loops through each top level selector - firstElem.each(function(index) { - - //If the element matches the ignoreSelector then we skip it - if($(this).is(ignoreSelector)) { - return; - } - - // Creates an unordered list HTML element and adds a dynamic ID and standard class name - ul = $("
      ", { - "id": headerClassName + index, - "class": headerClassName - }). - - // Appends a top level list item HTML element to the previously created HTML header - append(self._nestElements($(this), index)); - - // Add the created unordered list element to the HTML element calling the plugin - self.element.append(ul); - - // Finds all of the HTML tags between the header and subheader elements - $(this).nextUntil(this.nodeName.toLowerCase()).each(function() { - - // If there are no nested subheader elemements - if($(this).find(self.options.selectors).length === 0) { - - // Loops through all of the subheader elements - $(this).filter(self.options.selectors).each(function() { - - //If the element matches the ignoreSelector then we skip it - if($(this).is(ignoreSelector)) { - return; - } - - self._appendSubheaders.call(this, self, ul); - - }); - - } - - // If there are nested subheader elements - else { - - // Loops through all of the subheader elements - $(this).find(self.options.selectors).each(function() { - - //If the element matches the ignoreSelector then we skip it - if($(this).is(ignoreSelector)) { - return; - } - - self._appendSubheaders.call(this, self, ul); - - }); - - } - - }); - - }); - - }, - - _setActiveElement: function(pageload) { - - var self = this, - - hash = window.location.hash.substring(1), - - elem = self.element.find("li[data-unique='" + hash + "']"); - - if(hash.length) { - - // Removes highlighting from all of the list item's - self.element.find("." + self.focusClass).removeClass(self.focusClass); - - // Highlights the current list item that was clicked - elem.addClass(self.focusClass); - - // If the showAndHide option is true - if(self.options.showAndHide) { - - // Triggers the click event on the currently focused TOC item - elem.click(); - - } - - } - - else { - - // Removes highlighting from all of the list item's - self.element.find("." + self.focusClass).removeClass(self.focusClass); - - if(!hash.length && pageload && self.options.highlightDefault) { - - // Highlights the first TOC item if no other items are highlighted - self.element.find(itemClass).first().addClass(self.focusClass); - - } - - } - - return self; - - }, - - // _nestElements - // ------------- - // Helps create the table of contents list by appending nested list items - _nestElements: function(self, index) { - - var arr, item, hashValue; - - arr = $.grep(this.items, function (item) { - - return item === self.text(); - - }); - - // If there is already a duplicate TOC item - if(arr.length) { - - // Adds the current TOC item text and index (for slight randomization) to the internal array - this.items.push(self.text() + index); - - } - - // If there not a duplicate TOC item - else { - - // Adds the current TOC item text to the internal array - this.items.push(self.text()); - - } - - hashValue = this._generateHashValue(arr, self, index); - - // ADDED BY ROBERT - // actually add the hash value to the element's id - // self.attr("id", "link-" + hashValue); - - // Appends a list item HTML element to the last unordered list HTML element found within the HTML element calling the plugin - item = $("
    • ", { - - // Sets a common class name to the list item - "class": itemClassName, - - "data-unique": hashValue - - }).append($("", { - - "text": self.text() - - })); - - // Adds an HTML anchor tag before the currently traversed HTML element - self.before($("
      ", { - - // Sets a name attribute on the anchor tag to the text of the currently traversed HTML element (also making sure that all whitespace is replaced with an underscore) - "name": hashValue, - - "data-unique": hashValue - - })); - - return item; - - }, - - // _generateHashValue - // ------------------ - // Generates the hash value that will be used to refer to each item. - _generateHashValue: function(arr, self, index) { - - var hashValue = "", - hashGeneratorOption = this.options.hashGenerator; - - if (hashGeneratorOption === "pretty") { - // remove weird characters - - - // prettify the text - hashValue = self.text().toLowerCase().replace(/\s/g, "-"); - - // ADDED BY ROBERT - // remove weird characters - hashValue = hashValue.replace(/[^\x00-\x7F]/g, ""); - - // fix double hyphens - while (hashValue.indexOf("--") > -1) { - hashValue = hashValue.replace(/--/g, "-"); - } - - // fix colon-space instances - while (hashValue.indexOf(":-") > -1) { - hashValue = hashValue.replace(/:-/g, "-"); - } - - } else if (typeof hashGeneratorOption === "function") { - - // call the function - hashValue = hashGeneratorOption(self.text(), self); - - } else { - - // compact - the default - hashValue = self.text().replace(/\s/g, ""); - - } - - // add the index if we need to - if (arr.length) { hashValue += ""+index; } - - // return the value - return hashValue; - - }, - - // _appendElements - // --------------- - // Helps create the table of contents list by appending subheader elements - - _appendSubheaders: function(self, ul) { - - // The current element index - var index = $(this).index(self.options.selectors), - - // Finds the previous header DOM element - previousHeader = $(self.options.selectors).eq(index - 1), - - currentTagName = +$(this).prop("tagName").charAt(1), - - previousTagName = +previousHeader.prop("tagName").charAt(1), - - lastSubheader; - - // If the current header DOM element is smaller than the previous header DOM element or the first subheader - if(currentTagName < previousTagName) { - - // Selects the last unordered list HTML found within the HTML element calling the plugin - self.element.find(subheaderClass + "[data-tag=" + currentTagName + "]").last().append(self._nestElements($(this), index)); - - } - - // If the current header DOM element is the same type of header(eg. h4) as the previous header DOM element - else if(currentTagName === previousTagName) { - - ul.find(itemClass).last().after(self._nestElements($(this), index)); - - } - - else { - - // Selects the last unordered list HTML found within the HTML element calling the plugin - ul.find(itemClass).last(). - - // Appends an unorderedList HTML element to the dynamic `unorderedList` variable and sets a common class name - after($("
        ", { - - "class": subheaderClassName, - - "data-tag": currentTagName - - })).next(subheaderClass). - - // Appends a list item HTML element to the last unordered list HTML element found within the HTML element calling the plugin - append(self._nestElements($(this), index)); - } - - }, - - // _setEventHandlers - // ---------------- - // Adds jQuery event handlers to the newly generated table of contents - _setEventHandlers: function() { - - // _Local variables_ - - // Stores the plugin context in the self variable - var self = this, - - // Instantiates a new variable that will be used to hold a specific element's context - $self, - - // Instantiates a new variable that will be used to determine the smoothScroll animation time duration - duration; - - // Event delegation that looks for any clicks on list item elements inside of the HTML element calling the plugin - this.element.on("click.tocify", "li", function(event) { - - if(self.options.history) { - - window.location.hash = $(this).attr("data-unique"); - - } - - // Removes highlighting from all of the list item's - self.element.find("." + self.focusClass).removeClass(self.focusClass); - - // Highlights the current list item that was clicked - $(this).addClass(self.focusClass); - - // If the showAndHide option is true - if(self.options.showAndHide) { - - var elem = $('li[data-unique="' + $(this).attr("data-unique") + '"]'); - - self._triggerShow(elem); - - } - - self._scrollTo($(this)); - - }); - - // Mouseenter and Mouseleave event handlers for the list item's within the HTML element calling the plugin - this.element.find("li").on({ - - // Mouseenter event handler - "mouseenter.tocify": function() { - - // Adds a hover CSS class to the current list item - $(this).addClass(self.hoverClass); - - // Makes sure the cursor is set to the pointer icon - $(this).css("cursor", "pointer"); - - }, - - // Mouseleave event handler - "mouseleave.tocify": function() { - - if(self.options.theme !== "bootstrap") { - - // Removes the hover CSS class from the current list item - $(this).removeClass(self.hoverClass); - - } - - } - }); - - // Reset height cache on scroll - - $(window).on('resize', function() { - self.calculateHeights(); - }); - - // Window scroll event handler - $(window).on("scroll.tocify", function() { - - // Once all animations on the page are complete, this callback function will be called - $("html, body").promise().done(function() { - - // Local variables - - // Stores how far the user has scrolled - var winScrollTop = $(window).scrollTop(), - - // Stores the height of the window - winHeight = $(window).height(), - - // Stores the height of the document - docHeight = $(document).height(), - - scrollHeight = $("body")[0].scrollHeight, - - // Instantiates a variable that will be used to hold a selected HTML element - elem, - - lastElem, - - lastElemOffset, - - currentElem; - - if(self.options.extendPage) { - - // If the user has scrolled to the bottom of the page and the last toc item is not focused - if((self.webkit && winScrollTop >= scrollHeight - winHeight - self.options.extendPageOffset) || (!self.webkit && winHeight + winScrollTop > docHeight - self.options.extendPageOffset)) { - - if(!$(extendPageClass).length) { - - lastElem = $('div[data-unique="' + $(itemClass).last().attr("data-unique") + '"]'); - - if(!lastElem.length) return; - - // Gets the top offset of the page header that is linked to the last toc item - lastElemOffset = lastElem.offset().top; - - // Appends a div to the bottom of the page and sets the height to the difference of the window scrollTop and the last element's position top offset - $(self.options.context).append($("
        ", { - - "class": extendPageClassName, - - "height": Math.abs(lastElemOffset - winScrollTop) + "px", - - "data-unique": extendPageClassName - - })); - - if(self.extendPageScroll) { - - currentElem = self.element.find('li.active'); - - self._scrollTo($("div[data-unique=" + currentElem.attr("data-unique") + "]")); - - } - - } - - } - - } - - // The zero timeout ensures the following code is run after the scroll events - setTimeout(function() { - - // _Local variables_ - - // Stores the distance to the closest anchor - var // Stores the index of the closest anchor - closestAnchorIdx = null, - anchorText; - - // if never calculated before, calculate and cache the heights - if (self.cachedHeights.length == 0) { - self.calculateHeights(); - } - - var scrollTop = $(window).scrollTop(); - - // Determines the index of the closest anchor - self.cachedAnchors.each(function(idx) { - if (self.cachedHeights[idx] - scrollTop < 0) { - closestAnchorIdx = idx; - } else { - return false; - } - }); - - anchorText = $(self.cachedAnchors[closestAnchorIdx]).attr("data-unique"); - - // Stores the list item HTML element that corresponds to the currently traversed anchor tag - elem = $('li[data-unique="' + anchorText + '"]'); - - // If the `highlightOnScroll` option is true and a next element is found - if(self.options.highlightOnScroll && elem.length && !elem.hasClass(self.focusClass)) { - - // Removes highlighting from all of the list item's - self.element.find("." + self.focusClass).removeClass(self.focusClass); - - // Highlights the corresponding list item - elem.addClass(self.focusClass); - - // Scroll to highlighted element's header - var tocifyWrapper = self.tocifyWrapper; - var scrollToElem = $(elem).closest('.tocify-header'); - - var elementOffset = scrollToElem.offset().top, - wrapperOffset = tocifyWrapper.offset().top; - var offset = elementOffset - wrapperOffset; - - if (offset >= $(window).height()) { - var scrollPosition = offset + tocifyWrapper.scrollTop(); - tocifyWrapper.scrollTop(scrollPosition); - } else if (offset < 0) { - tocifyWrapper.scrollTop(0); - } - } - - if(self.options.scrollHistory) { - - // IF STATEMENT ADDED BY ROBERT - - if(window.location.hash !== "#" + anchorText && anchorText !== undefined) { - - if(history.replaceState) { - history.replaceState({}, "", "#" + anchorText); - // provide a fallback - } else { - scrollV = document.body.scrollTop; - scrollH = document.body.scrollLeft; - location.hash = "#" + anchorText; - document.body.scrollTop = scrollV; - document.body.scrollLeft = scrollH; - } - - } - - } - - // If the `showAndHideOnScroll` option is true - if(self.options.showAndHideOnScroll && self.options.showAndHide) { - - self._triggerShow(elem, true); - - } - - }, 0); - - }); - - }); - - }, - - // calculateHeights - // ---- - // ADDED BY ROBERT - calculateHeights: function() { - var self = this; - self.cachedHeights = []; - self.cachedAnchors = []; - var anchors = $(self.options.context).find("div[data-unique]"); - anchors.each(function(idx) { - var distance = (($(this).next().length ? $(this).next() : $(this)).offset().top - self.options.highlightOffset); - self.cachedHeights[idx] = distance; - }); - self.cachedAnchors = anchors; - }, - - // Show - // ---- - // Opens the current sub-header - show: function(elem, scroll) { - - // Stores the plugin context in the `self` variable - var self = this, - element = elem; - - // If the sub-header is not already visible - if (!elem.is(":visible")) { - - // If the current element does not have any nested subheaders, is not a header, and its parent is not visible - if(!elem.find(subheaderClass).length && !elem.parent().is(headerClass) && !elem.parent().is(":visible")) { - - // Sets the current element to all of the subheaders within the current header - elem = elem.parents(subheaderClass).add(elem); - - } - - // If the current element does not have any nested subheaders and is not a header - else if(!elem.children(subheaderClass).length && !elem.parent().is(headerClass)) { - - // Sets the current element to the closest subheader - elem = elem.closest(subheaderClass); - - } - - //Determines what jQuery effect to use - switch (self.options.showEffect) { - - //Uses `no effect` - case "none": - - elem.show(); - - break; - - //Uses the jQuery `show` special effect - case "show": - - elem.show(self.options.showEffectSpeed); - - break; - - //Uses the jQuery `slideDown` special effect - case "slideDown": - - elem.slideDown(self.options.showEffectSpeed); - - break; - - //Uses the jQuery `fadeIn` special effect - case "fadeIn": - - elem.fadeIn(self.options.showEffectSpeed); - - break; - - //If none of the above options were passed, then a `jQueryUI show effect` is expected - default: - - elem.show(); - - break; - - } - - } - - // If the current subheader parent element is a header - if(elem.parent().is(headerClass)) { - - // Hides all non-active sub-headers - self.hide($(subheaderClass).not(elem)); - - } - - // If the current subheader parent element is not a header - else { - - // Hides all non-active sub-headers - self.hide($(subheaderClass).not(elem.closest(headerClass).find(subheaderClass).not(elem.siblings()))); - - } - - // Maintains chainablity - return self; - - }, - - // Hide - // ---- - // Closes the current sub-header - hide: function(elem) { - - // Stores the plugin context in the `self` variable - var self = this; - - //Determines what jQuery effect to use - switch (self.options.hideEffect) { - - // Uses `no effect` - case "none": - - elem.hide(); - - break; - - // Uses the jQuery `hide` special effect - case "hide": - - elem.hide(self.options.hideEffectSpeed); - - break; - - // Uses the jQuery `slideUp` special effect - case "slideUp": - - elem.slideUp(self.options.hideEffectSpeed); - - break; - - // Uses the jQuery `fadeOut` special effect - case "fadeOut": - - elem.fadeOut(self.options.hideEffectSpeed); - - break; - - // If none of the above options were passed, then a `jqueryUI hide effect` is expected - default: - - elem.hide(); - - break; - - } - - // Maintains chainablity - return self; - }, - - // _triggerShow - // ------------ - // Determines what elements get shown on scroll and click - _triggerShow: function(elem, scroll) { - - var self = this; - - // If the current element's parent is a header element or the next element is a nested subheader element - if(elem.parent().is(headerClass) || elem.next().is(subheaderClass)) { - - // Shows the next sub-header element - self.show(elem.next(subheaderClass), scroll); - - } - - // If the current element's parent is a subheader element - else if(elem.parent().is(subheaderClass)) { - - // Shows the parent sub-header element - self.show(elem.parent(), scroll); - - } - - // Maintains chainability - return self; - - }, - - // _addCSSClasses - // -------------- - // Adds CSS classes to the newly generated table of contents HTML - _addCSSClasses: function() { - - // If the user wants a jqueryUI theme - if(this.options.theme === "jqueryui") { - - this.focusClass = "ui-state-default"; - - this.hoverClass = "ui-state-hover"; - - //Adds the default styling to the dropdown list - this.element.addClass("ui-widget").find(".toc-title").addClass("ui-widget-header").end().find("li").addClass("ui-widget-content"); - - } - - // If the user wants a twitterBootstrap theme - else if(this.options.theme === "bootstrap") { - - this.element.find(headerClass + "," + subheaderClass).addClass("nav nav-list"); - - this.focusClass = "active"; - - } - - // If a user does not want a prebuilt theme - else { - - // Adds more neutral classes (instead of jqueryui) - - this.focusClass = tocFocusClassName; - - this.hoverClass = tocHoverClassName; - - } - - //Maintains chainability - return this; - - }, - - // setOption - // --------- - // Sets a single Tocify option after the plugin is invoked - setOption: function() { - - // Calls the jQueryUI Widget Factory setOption method - $.Widget.prototype._setOption.apply(this, arguments); - - }, - - // setOptions - // ---------- - // Sets a single or multiple Tocify options after the plugin is invoked - setOptions: function() { - - // Calls the jQueryUI Widget Factory setOptions method - $.Widget.prototype._setOptions.apply(this, arguments); - - }, - - // _scrollTo - // --------- - // Scrolls to a specific element - _scrollTo: function(elem) { - - var self = this, - duration = self.options.smoothScroll || 0, - scrollTo = self.options.scrollTo; - - // Once all animations on the page are complete, this callback function will be called - $("html, body").promise().done(function() { - - // Animates the html and body element scrolltops - $("html, body").animate({ - - // Sets the jQuery `scrollTop` to the top offset of the HTML div tag that matches the current list item's `data-unique` tag - "scrollTop": $('div[data-unique="' + elem.attr("data-unique") + '"]').next().offset().top - ($.isFunction(scrollTo) ? scrollTo.call() : scrollTo) + "px" - - }, { - - // Sets the smoothScroll animation time duration to the smoothScrollSpeed option - "duration": duration - - }); - - }); - - // Maintains chainability - return self; - - } - - }); - -})); //end of plugin diff --git a/apidocs/cloud-api-source/source/javascripts/lib/_jquery_ui.js b/apidocs/cloud-api-source/source/javascripts/lib/_jquery_ui.js deleted file mode 100644 index 637e9c14254c..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/lib/_jquery_ui.js +++ /dev/null @@ -1,566 +0,0 @@ -/*! jQuery UI - v1.11.3 - 2015-02-12 - * http://jqueryui.com - * Includes: widget.js - * Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - -(function( factory ) { - if ( typeof define === "function" && define.amd ) { - - // AMD. Register as an anonymous module. - define([ "jquery" ], factory ); - } else { - - // Browser globals - factory( jQuery ); - } -}(function( $ ) { - /*! - * jQuery UI Widget 1.11.3 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ - - - var widget_uuid = 0, - widget_slice = Array.prototype.slice; - - $.cleanData = (function( orig ) { - return function( elems ) { - var events, elem, i; - for ( i = 0; (elem = elems[i]) != null; i++ ) { - try { - - // Only trigger remove when necessary to save time - events = $._data( elem, "events" ); - if ( events && events.remove ) { - $( elem ).triggerHandler( "remove" ); - } - - // http://bugs.jquery.com/ticket/8235 - } catch ( e ) {} - } - orig( elems ); - }; - })( $.cleanData ); - - $.widget = function( name, base, prototype ) { - var fullName, existingConstructor, constructor, basePrototype, - // proxiedPrototype allows the provided prototype to remain unmodified - // so that it can be used as a mixin for multiple widgets (#8876) - proxiedPrototype = {}, - namespace = name.split( "." )[ 0 ]; - - name = name.split( "." )[ 1 ]; - fullName = namespace + "-" + name; - - if ( !prototype ) { - prototype = base; - base = $.Widget; - } - - // create selector for plugin - $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { - return !!$.data( elem, fullName ); - }; - - $[ namespace ] = $[ namespace ] || {}; - existingConstructor = $[ namespace ][ name ]; - constructor = $[ namespace ][ name ] = function( options, element ) { - // allow instantiation without "new" keyword - if ( !this._createWidget ) { - return new constructor( options, element ); - } - - // allow instantiation without initializing for simple inheritance - // must use "new" keyword (the code above always passes args) - if ( arguments.length ) { - this._createWidget( options, element ); - } - }; - // extend with the existing constructor to carry over any static properties - $.extend( constructor, existingConstructor, { - version: prototype.version, - // copy the object used to create the prototype in case we need to - // redefine the widget later - _proto: $.extend( {}, prototype ), - // track widgets that inherit from this widget in case this widget is - // redefined after a widget inherits from it - _childConstructors: [] - }); - - basePrototype = new base(); - // we need to make the options hash a property directly on the new instance - // otherwise we'll modify the options hash on the prototype that we're - // inheriting from - basePrototype.options = $.widget.extend( {}, basePrototype.options ); - $.each( prototype, function( prop, value ) { - if ( !$.isFunction( value ) ) { - proxiedPrototype[ prop ] = value; - return; - } - proxiedPrototype[ prop ] = (function() { - var _super = function() { - return base.prototype[ prop ].apply( this, arguments ); - }, - _superApply = function( args ) { - return base.prototype[ prop ].apply( this, args ); - }; - return function() { - var __super = this._super, - __superApply = this._superApply, - returnValue; - - this._super = _super; - this._superApply = _superApply; - - returnValue = value.apply( this, arguments ); - - this._super = __super; - this._superApply = __superApply; - - return returnValue; - }; - })(); - }); - constructor.prototype = $.widget.extend( basePrototype, { - // TODO: remove support for widgetEventPrefix - // always use the name + a colon as the prefix, e.g., draggable:start - // don't prefix for widgets that aren't DOM-based - widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name - }, proxiedPrototype, { - constructor: constructor, - namespace: namespace, - widgetName: name, - widgetFullName: fullName - }); - - // If this widget is being redefined then we need to find all widgets that - // are inheriting from it and redefine all of them so that they inherit from - // the new version of this widget. We're essentially trying to replace one - // level in the prototype chain. - if ( existingConstructor ) { - $.each( existingConstructor._childConstructors, function( i, child ) { - var childPrototype = child.prototype; - - // redefine the child widget using the same prototype that was - // originally used, but inherit from the new version of the base - $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); - }); - // remove the list of existing child constructors from the old constructor - // so the old child constructors can be garbage collected - delete existingConstructor._childConstructors; - } else { - base._childConstructors.push( constructor ); - } - - $.widget.bridge( name, constructor ); - - return constructor; - }; - - $.widget.extend = function( target ) { - var input = widget_slice.call( arguments, 1 ), - inputIndex = 0, - inputLength = input.length, - key, - value; - for ( ; inputIndex < inputLength; inputIndex++ ) { - for ( key in input[ inputIndex ] ) { - value = input[ inputIndex ][ key ]; - if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { - // Clone objects - if ( $.isPlainObject( value ) ) { - target[ key ] = $.isPlainObject( target[ key ] ) ? - $.widget.extend( {}, target[ key ], value ) : - // Don't extend strings, arrays, etc. with objects - $.widget.extend( {}, value ); - // Copy everything else by reference - } else { - target[ key ] = value; - } - } - } - } - return target; - }; - - $.widget.bridge = function( name, object ) { - var fullName = object.prototype.widgetFullName || name; - $.fn[ name ] = function( options ) { - var isMethodCall = typeof options === "string", - args = widget_slice.call( arguments, 1 ), - returnValue = this; - - if ( isMethodCall ) { - this.each(function() { - var methodValue, - instance = $.data( this, fullName ); - if ( options === "instance" ) { - returnValue = instance; - return false; - } - if ( !instance ) { - return $.error( "cannot call methods on " + name + " prior to initialization; " + - "attempted to call method '" + options + "'" ); - } - if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { - return $.error( "no such method '" + options + "' for " + name + " widget instance" ); - } - methodValue = instance[ options ].apply( instance, args ); - if ( methodValue !== instance && methodValue !== undefined ) { - returnValue = methodValue && methodValue.jquery ? - returnValue.pushStack( methodValue.get() ) : - methodValue; - return false; - } - }); - } else { - - // Allow multiple hashes to be passed on init - if ( args.length ) { - options = $.widget.extend.apply( null, [ options ].concat(args) ); - } - - this.each(function() { - var instance = $.data( this, fullName ); - if ( instance ) { - instance.option( options || {} ); - if ( instance._init ) { - instance._init(); - } - } else { - $.data( this, fullName, new object( options, this ) ); - } - }); - } - - return returnValue; - }; - }; - - $.Widget = function( /* options, element */ ) {}; - $.Widget._childConstructors = []; - - $.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - defaultElement: "
        ", - options: { - disabled: false, - - // callbacks - create: null - }, - _createWidget: function( options, element ) { - element = $( element || this.defaultElement || this )[ 0 ]; - this.element = $( element ); - this.uuid = widget_uuid++; - this.eventNamespace = "." + this.widgetName + this.uuid; - - this.bindings = $(); - this.hoverable = $(); - this.focusable = $(); - - if ( element !== this ) { - $.data( element, this.widgetFullName, this ); - this._on( true, this.element, { - remove: function( event ) { - if ( event.target === element ) { - this.destroy(); - } - } - }); - this.document = $( element.style ? - // element within the document - element.ownerDocument : - // element is window or document - element.document || element ); - this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); - } - - this.options = $.widget.extend( {}, - this.options, - this._getCreateOptions(), - options ); - - this._create(); - this._trigger( "create", null, this._getCreateEventData() ); - this._init(); - }, - _getCreateOptions: $.noop, - _getCreateEventData: $.noop, - _create: $.noop, - _init: $.noop, - - destroy: function() { - this._destroy(); - // we can probably remove the unbind calls in 2.0 - // all event bindings should go through this._on() - this.element - .unbind( this.eventNamespace ) - .removeData( this.widgetFullName ) - // support: jquery <1.6.3 - // http://bugs.jquery.com/ticket/9413 - .removeData( $.camelCase( this.widgetFullName ) ); - this.widget() - .unbind( this.eventNamespace ) - .removeAttr( "aria-disabled" ) - .removeClass( - this.widgetFullName + "-disabled " + - "ui-state-disabled" ); - - // clean up events and states - this.bindings.unbind( this.eventNamespace ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - }, - _destroy: $.noop, - - widget: function() { - return this.element; - }, - - option: function( key, value ) { - var options = key, - parts, - curOption, - i; - - if ( arguments.length === 0 ) { - // don't return a reference to the internal hash - return $.widget.extend( {}, this.options ); - } - - if ( typeof key === "string" ) { - // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } - options = {}; - parts = key.split( "." ); - key = parts.shift(); - if ( parts.length ) { - curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); - for ( i = 0; i < parts.length - 1; i++ ) { - curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; - curOption = curOption[ parts[ i ] ]; - } - key = parts.pop(); - if ( arguments.length === 1 ) { - return curOption[ key ] === undefined ? null : curOption[ key ]; - } - curOption[ key ] = value; - } else { - if ( arguments.length === 1 ) { - return this.options[ key ] === undefined ? null : this.options[ key ]; - } - options[ key ] = value; - } - } - - this._setOptions( options ); - - return this; - }, - _setOptions: function( options ) { - var key; - - for ( key in options ) { - this._setOption( key, options[ key ] ); - } - - return this; - }, - _setOption: function( key, value ) { - this.options[ key ] = value; - - if ( key === "disabled" ) { - this.widget() - .toggleClass( this.widgetFullName + "-disabled", !!value ); - - // If the widget is becoming disabled, then nothing is interactive - if ( value ) { - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - } - } - - return this; - }, - - enable: function() { - return this._setOptions({ disabled: false }); - }, - disable: function() { - return this._setOptions({ disabled: true }); - }, - - _on: function( suppressDisabledCheck, element, handlers ) { - var delegateElement, - instance = this; - - // no suppressDisabledCheck flag, shuffle arguments - if ( typeof suppressDisabledCheck !== "boolean" ) { - handlers = element; - element = suppressDisabledCheck; - suppressDisabledCheck = false; - } - - // no element argument, shuffle and use this.element - if ( !handlers ) { - handlers = element; - element = this.element; - delegateElement = this.widget(); - } else { - element = delegateElement = $( element ); - this.bindings = this.bindings.add( element ); - } - - $.each( handlers, function( event, handler ) { - function handlerProxy() { - // allow widgets to customize the disabled handling - // - disabled as an array instead of boolean - // - disabled class as method for disabling individual parts - if ( !suppressDisabledCheck && - ( instance.options.disabled === true || - $( this ).hasClass( "ui-state-disabled" ) ) ) { - return; - } - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - - // copy the guid so direct unbinding works - if ( typeof handler !== "string" ) { - handlerProxy.guid = handler.guid = - handler.guid || handlerProxy.guid || $.guid++; - } - - var match = event.match( /^([\w:-]*)\s*(.*)$/ ), - eventName = match[1] + instance.eventNamespace, - selector = match[2]; - if ( selector ) { - delegateElement.delegate( selector, eventName, handlerProxy ); - } else { - element.bind( eventName, handlerProxy ); - } - }); - }, - - _off: function( element, eventName ) { - eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + - this.eventNamespace; - element.unbind( eventName ).undelegate( eventName ); - - // Clear the stack to avoid memory leaks (#10056) - this.bindings = $( this.bindings.not( element ).get() ); - this.focusable = $( this.focusable.not( element ).get() ); - this.hoverable = $( this.hoverable.not( element ).get() ); - }, - - _delay: function( handler, delay ) { - function handlerProxy() { - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - var instance = this; - return setTimeout( handlerProxy, delay || 0 ); - }, - - _hoverable: function( element ) { - this.hoverable = this.hoverable.add( element ); - this._on( element, { - mouseenter: function( event ) { - $( event.currentTarget ).addClass( "ui-state-hover" ); - }, - mouseleave: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-hover" ); - } - }); - }, - - _focusable: function( element ) { - this.focusable = this.focusable.add( element ); - this._on( element, { - focusin: function( event ) { - $( event.currentTarget ).addClass( "ui-state-focus" ); - }, - focusout: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-focus" ); - } - }); - }, - - _trigger: function( type, event, data ) { - var prop, orig, - callback = this.options[ type ]; - - data = data || {}; - event = $.Event( event ); - event.type = ( type === this.widgetEventPrefix ? - type : - this.widgetEventPrefix + type ).toLowerCase(); - // the original event may come from any element - // so we need to reset the target on the new event - event.target = this.element[ 0 ]; - - // copy original event properties over to the new event - orig = event.originalEvent; - if ( orig ) { - for ( prop in orig ) { - if ( !( prop in event ) ) { - event[ prop ] = orig[ prop ]; - } - } - } - - this.element.trigger( event, data ); - return !( $.isFunction( callback ) && - callback.apply( this.element[0], [ event ].concat( data ) ) === false || - event.isDefaultPrevented() ); - } - }; - - $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { - $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { - if ( typeof options === "string" ) { - options = { effect: options }; - } - var hasOptions, - effectName = !options ? - method : - options === true || typeof options === "number" ? - defaultEffect : - options.effect || defaultEffect; - options = options || {}; - if ( typeof options === "number" ) { - options = { duration: options }; - } - hasOptions = !$.isEmptyObject( options ); - options.complete = callback; - if ( options.delay ) { - element.delay( options.delay ); - } - if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { - element[ method ]( options ); - } else if ( effectName !== method && element[ effectName ] ) { - element[ effectName ]( options.duration, options.easing, callback ); - } else { - element.queue(function( next ) { - $( this )[ method ](); - if ( callback ) { - callback.call( element[ 0 ] ); - } - next(); - }); - } - }; - }); - - var widget = $.widget; - - - -})); diff --git a/apidocs/cloud-api-source/source/javascripts/lib/_lunr.js b/apidocs/cloud-api-source/source/javascripts/lib/_lunr.js deleted file mode 100644 index 54457dab7a84..000000000000 --- a/apidocs/cloud-api-source/source/javascripts/lib/_lunr.js +++ /dev/null @@ -1,1910 +0,0 @@ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.7 - * Copyright (C) 2014 Oliver Nightingale - * MIT Licensed - * @license - */ - -(function(){ - - /** - * Convenience function for instantiating a new lunr index and configuring it - * with the default pipeline functions and the passed config function. - * - * When using this convenience function a new index will be created with the - * following functions already in the pipeline: - * - * lunr.StopWordFilter - filters out any stop words before they enter the - * index - * - * lunr.stemmer - stems the tokens before entering the index. - * - * Example: - * - * var idx = lunr(function () { - * this.field('title', 10) - * this.field('tags', 100) - * this.field('body') - * - * this.ref('cid') - * - * this.pipeline.add(function () { - * // some custom pipeline function - * }) - * - * }) - * - * @param {Function} config A function that will be called with the new instance - * of the lunr.Index as both its context and first parameter. It can be used to - * customize the instance of new lunr.Index. - * @namespace - * @module - * @returns {lunr.Index} - * - */ - var lunr = function (config) { - var idx = new lunr.Index - - idx.pipeline.add( - lunr.trimmer, - lunr.stopWordFilter, - lunr.stemmer - ) - - if (config) config.call(idx, idx) - - return idx - } - - lunr.version = "0.5.7" - /*! - * lunr.utils - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * A namespace containing utils for the rest of the lunr library - */ - lunr.utils = {} - - /** - * Print a warning message to the console. - * - * @param {String} message The message to be printed. - * @memberOf Utils - */ - lunr.utils.warn = (function (global) { - return function (message) { - if (global.console && console.warn) { - console.warn(message) - } - } - })(this) - - /*! - * lunr.EventEmitter - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.EventEmitter is an event emitter for lunr. It manages adding and removing event handlers and triggering events and their handlers. - * - * @constructor - */ - lunr.EventEmitter = function () { - this.events = {} - } - - /** - * Binds a handler function to a specific event(s). - * - * Can bind a single function to many different events in one call. - * - * @param {String} [eventName] The name(s) of events to bind this function to. - * @param {Function} handler The function to call when an event is fired. - * @memberOf EventEmitter - */ - lunr.EventEmitter.prototype.addListener = function () { - var args = Array.prototype.slice.call(arguments), - fn = args.pop(), - names = args - - if (typeof fn !== "function") throw new TypeError ("last argument must be a function") - - names.forEach(function (name) { - if (!this.hasHandler(name)) this.events[name] = [] - this.events[name].push(fn) - }, this) - } - - /** - * Removes a handler function from a specific event. - * - * @param {String} eventName The name of the event to remove this function from. - * @param {Function} handler The function to remove from an event. - * @memberOf EventEmitter - */ - lunr.EventEmitter.prototype.removeListener = function (name, fn) { - if (!this.hasHandler(name)) return - - var fnIndex = this.events[name].indexOf(fn) - this.events[name].splice(fnIndex, 1) - - if (!this.events[name].length) delete this.events[name] - } - - /** - * Calls all functions bound to the given event. - * - * Additional data can be passed to the event handler as arguments to `emit` - * after the event name. - * - * @param {String} eventName The name of the event to emit. - * @memberOf EventEmitter - */ - lunr.EventEmitter.prototype.emit = function (name) { - if (!this.hasHandler(name)) return - - var args = Array.prototype.slice.call(arguments, 1) - - this.events[name].forEach(function (fn) { - fn.apply(undefined, args) - }) - } - - /** - * Checks whether a handler has ever been stored against an event. - * - * @param {String} eventName The name of the event to check. - * @private - * @memberOf EventEmitter - */ - lunr.EventEmitter.prototype.hasHandler = function (name) { - return name in this.events - } - - /*! - * lunr.tokenizer - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * A function for splitting a string into tokens ready to be inserted into - * the search index. - * - * @module - * @param {String} obj The string to convert into tokens - * @returns {Array} - */ - lunr.tokenizer = function (obj) { - if (!arguments.length || obj == null || obj == undefined) return [] - if (Array.isArray(obj)) return obj.map(function (t) { return t.toLowerCase() }) - - var str = obj.toString().replace(/^\s+/, '') - - for (var i = str.length - 1; i >= 0; i--) { - if (/\S/.test(str.charAt(i))) { - str = str.substring(0, i + 1) - break - } - } - - return str - .split(/(?:\s+|\-)/) - .filter(function (token) { - return !!token - }) - .map(function (token) { - return token.toLowerCase() - }) - } - /*! - * lunr.Pipeline - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.Pipelines maintain an ordered list of functions to be applied to all - * tokens in documents entering the search index and queries being ran against - * the index. - * - * An instance of lunr.Index created with the lunr shortcut will contain a - * pipeline with a stop word filter and an English language stemmer. Extra - * functions can be added before or after either of these functions or these - * default functions can be removed. - * - * When run the pipeline will call each function in turn, passing a token, the - * index of that token in the original list of all tokens and finally a list of - * all the original tokens. - * - * The output of functions in the pipeline will be passed to the next function - * in the pipeline. To exclude a token from entering the index the function - * should return undefined, the rest of the pipeline will not be called with - * this token. - * - * For serialisation of pipelines to work, all functions used in an instance of - * a pipeline should be registered with lunr.Pipeline. Registered functions can - * then be loaded. If trying to load a serialised pipeline that uses functions - * that are not registered an error will be thrown. - * - * If not planning on serialising the pipeline then registering pipeline functions - * is not necessary. - * - * @constructor - */ - lunr.Pipeline = function () { - this._stack = [] - } - - lunr.Pipeline.registeredFunctions = {} - - /** - * Register a function with the pipeline. - * - * Functions that are used in the pipeline should be registered if the pipeline - * needs to be serialised, or a serialised pipeline needs to be loaded. - * - * Registering a function does not add it to a pipeline, functions must still be - * added to instances of the pipeline for them to be used when running a pipeline. - * - * @param {Function} fn The function to check for. - * @param {String} label The label to register this function with - * @memberOf Pipeline - */ - lunr.Pipeline.registerFunction = function (fn, label) { - if (label in this.registeredFunctions) { - lunr.utils.warn('Overwriting existing registered function: ' + label) - } - - fn.label = label - lunr.Pipeline.registeredFunctions[fn.label] = fn - } - - /** - * Warns if the function is not registered as a Pipeline function. - * - * @param {Function} fn The function to check for. - * @private - * @memberOf Pipeline - */ - lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) { - var isRegistered = fn.label && (fn.label in this.registeredFunctions) - - if (!isRegistered) { - lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn) - } - } - - /** - * Loads a previously serialised pipeline. - * - * All functions to be loaded must already be registered with lunr.Pipeline. - * If any function from the serialised data has not been registered then an - * error will be thrown. - * - * @param {Object} serialised The serialised pipeline to load. - * @returns {lunr.Pipeline} - * @memberOf Pipeline - */ - lunr.Pipeline.load = function (serialised) { - var pipeline = new lunr.Pipeline - - serialised.forEach(function (fnName) { - var fn = lunr.Pipeline.registeredFunctions[fnName] - - if (fn) { - pipeline.add(fn) - } else { - throw new Error ('Cannot load un-registered function: ' + fnName) - } - }) - - return pipeline - } - - /** - * Adds new functions to the end of the pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {Function} functions Any number of functions to add to the pipeline. - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.add = function () { - var fns = Array.prototype.slice.call(arguments) - - fns.forEach(function (fn) { - lunr.Pipeline.warnIfFunctionNotRegistered(fn) - this._stack.push(fn) - }, this) - } - - /** - * Adds a single function after a function that already exists in the - * pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {Function} existingFn A function that already exists in the pipeline. - * @param {Function} newFn The new function to add to the pipeline. - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.after = function (existingFn, newFn) { - lunr.Pipeline.warnIfFunctionNotRegistered(newFn) - - var pos = this._stack.indexOf(existingFn) + 1 - this._stack.splice(pos, 0, newFn) - } - - /** - * Adds a single function before a function that already exists in the - * pipeline. - * - * Logs a warning if the function has not been registered. - * - * @param {Function} existingFn A function that already exists in the pipeline. - * @param {Function} newFn The new function to add to the pipeline. - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.before = function (existingFn, newFn) { - lunr.Pipeline.warnIfFunctionNotRegistered(newFn) - - var pos = this._stack.indexOf(existingFn) - this._stack.splice(pos, 0, newFn) - } - - /** - * Removes a function from the pipeline. - * - * @param {Function} fn The function to remove from the pipeline. - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.remove = function (fn) { - var pos = this._stack.indexOf(fn) - this._stack.splice(pos, 1) - } - - /** - * Runs the current list of functions that make up the pipeline against the - * passed tokens. - * - * @param {Array} tokens The tokens to run through the pipeline. - * @returns {Array} - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.run = function (tokens) { - var out = [], - tokenLength = tokens.length, - stackLength = this._stack.length - - for (var i = 0; i < tokenLength; i++) { - var token = tokens[i] - - for (var j = 0; j < stackLength; j++) { - token = this._stack[j](token, i, tokens) - if (token === void 0) break - }; - - if (token !== void 0) out.push(token) - }; - - return out - } - - /** - * Resets the pipeline by removing any existing processors. - * - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.reset = function () { - this._stack = [] - } - - /** - * Returns a representation of the pipeline ready for serialisation. - * - * Logs a warning if the function has not been registered. - * - * @returns {Array} - * @memberOf Pipeline - */ - lunr.Pipeline.prototype.toJSON = function () { - return this._stack.map(function (fn) { - lunr.Pipeline.warnIfFunctionNotRegistered(fn) - - return fn.label - }) - } - /*! - * lunr.Vector - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.Vectors implement vector related operations for - * a series of elements. - * - * @constructor - */ - lunr.Vector = function () { - this._magnitude = null - this.list = undefined - this.length = 0 - } - - /** - * lunr.Vector.Node is a simple struct for each node - * in a lunr.Vector. - * - * @private - * @param {Number} The index of the node in the vector. - * @param {Object} The data at this node in the vector. - * @param {lunr.Vector.Node} The node directly after this node in the vector. - * @constructor - * @memberOf Vector - */ - lunr.Vector.Node = function (idx, val, next) { - this.idx = idx - this.val = val - this.next = next - } - - /** - * Inserts a new value at a position in a vector. - * - * @param {Number} The index at which to insert a value. - * @param {Object} The object to insert in the vector. - * @memberOf Vector. - */ - lunr.Vector.prototype.insert = function (idx, val) { - var list = this.list - - if (!list) { - this.list = new lunr.Vector.Node (idx, val, list) - return this.length++ - } - - var prev = list, - next = list.next - - while (next != undefined) { - if (idx < next.idx) { - prev.next = new lunr.Vector.Node (idx, val, next) - return this.length++ - } - - prev = next, next = next.next - } - - prev.next = new lunr.Vector.Node (idx, val, next) - return this.length++ - } - - /** - * Calculates the magnitude of this vector. - * - * @returns {Number} - * @memberOf Vector - */ - lunr.Vector.prototype.magnitude = function () { - if (this._magniture) return this._magnitude - var node = this.list, - sumOfSquares = 0, - val - - while (node) { - val = node.val - sumOfSquares += val * val - node = node.next - } - - return this._magnitude = Math.sqrt(sumOfSquares) - } - - /** - * Calculates the dot product of this vector and another vector. - * - * @param {lunr.Vector} otherVector The vector to compute the dot product with. - * @returns {Number} - * @memberOf Vector - */ - lunr.Vector.prototype.dot = function (otherVector) { - var node = this.list, - otherNode = otherVector.list, - dotProduct = 0 - - while (node && otherNode) { - if (node.idx < otherNode.idx) { - node = node.next - } else if (node.idx > otherNode.idx) { - otherNode = otherNode.next - } else { - dotProduct += node.val * otherNode.val - node = node.next - otherNode = otherNode.next - } - } - - return dotProduct - } - - /** - * Calculates the cosine similarity between this vector and another - * vector. - * - * @param {lunr.Vector} otherVector The other vector to calculate the - * similarity with. - * @returns {Number} - * @memberOf Vector - */ - lunr.Vector.prototype.similarity = function (otherVector) { - return this.dot(otherVector) / (this.magnitude() * otherVector.magnitude()) - } - /*! - * lunr.SortedSet - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.SortedSets are used to maintain an array of uniq values in a sorted - * order. - * - * @constructor - */ - lunr.SortedSet = function () { - this.length = 0 - this.elements = [] - } - - /** - * Loads a previously serialised sorted set. - * - * @param {Array} serialisedData The serialised set to load. - * @returns {lunr.SortedSet} - * @memberOf SortedSet - */ - lunr.SortedSet.load = function (serialisedData) { - var set = new this - - set.elements = serialisedData - set.length = serialisedData.length - - return set - } - - /** - * Inserts new items into the set in the correct position to maintain the - * order. - * - * @param {Object} The objects to add to this set. - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.add = function () { - Array.prototype.slice.call(arguments).forEach(function (element) { - if (~this.indexOf(element)) return - this.elements.splice(this.locationFor(element), 0, element) - }, this) - - this.length = this.elements.length - } - - /** - * Converts this sorted set into an array. - * - * @returns {Array} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.toArray = function () { - return this.elements.slice() - } - - /** - * Creates a new array with the results of calling a provided function on every - * element in this sorted set. - * - * Delegates to Array.prototype.map and has the same signature. - * - * @param {Function} fn The function that is called on each element of the - * set. - * @param {Object} ctx An optional object that can be used as the context - * for the function fn. - * @returns {Array} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.map = function (fn, ctx) { - return this.elements.map(fn, ctx) - } - - /** - * Executes a provided function once per sorted set element. - * - * Delegates to Array.prototype.forEach and has the same signature. - * - * @param {Function} fn The function that is called on each element of the - * set. - * @param {Object} ctx An optional object that can be used as the context - * @memberOf SortedSet - * for the function fn. - */ - lunr.SortedSet.prototype.forEach = function (fn, ctx) { - return this.elements.forEach(fn, ctx) - } - - /** - * Returns the index at which a given element can be found in the - * sorted set, or -1 if it is not present. - * - * @param {Object} elem The object to locate in the sorted set. - * @param {Number} start An optional index at which to start searching from - * within the set. - * @param {Number} end An optional index at which to stop search from within - * the set. - * @returns {Number} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.indexOf = function (elem, start, end) { - var start = start || 0, - end = end || this.elements.length, - sectionLength = end - start, - pivot = start + Math.floor(sectionLength / 2), - pivotElem = this.elements[pivot] - - if (sectionLength <= 1) { - if (pivotElem === elem) { - return pivot - } else { - return -1 - } - } - - if (pivotElem < elem) return this.indexOf(elem, pivot, end) - if (pivotElem > elem) return this.indexOf(elem, start, pivot) - if (pivotElem === elem) return pivot - } - - /** - * Returns the position within the sorted set that an element should be - * inserted at to maintain the current order of the set. - * - * This function assumes that the element to search for does not already exist - * in the sorted set. - * - * @param {Object} elem The elem to find the position for in the set - * @param {Number} start An optional index at which to start searching from - * within the set. - * @param {Number} end An optional index at which to stop search from within - * the set. - * @returns {Number} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.locationFor = function (elem, start, end) { - var start = start || 0, - end = end || this.elements.length, - sectionLength = end - start, - pivot = start + Math.floor(sectionLength / 2), - pivotElem = this.elements[pivot] - - if (sectionLength <= 1) { - if (pivotElem > elem) return pivot - if (pivotElem < elem) return pivot + 1 - } - - if (pivotElem < elem) return this.locationFor(elem, pivot, end) - if (pivotElem > elem) return this.locationFor(elem, start, pivot) - } - - /** - * Creates a new lunr.SortedSet that contains the elements in the intersection - * of this set and the passed set. - * - * @param {lunr.SortedSet} otherSet The set to intersect with this set. - * @returns {lunr.SortedSet} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.intersect = function (otherSet) { - var intersectSet = new lunr.SortedSet, - i = 0, j = 0, - a_len = this.length, b_len = otherSet.length, - a = this.elements, b = otherSet.elements - - while (true) { - if (i > a_len - 1 || j > b_len - 1) break - - if (a[i] === b[j]) { - intersectSet.add(a[i]) - i++, j++ - continue - } - - if (a[i] < b[j]) { - i++ - continue - } - - if (a[i] > b[j]) { - j++ - continue - } - }; - - return intersectSet - } - - /** - * Makes a copy of this set - * - * @returns {lunr.SortedSet} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.clone = function () { - var clone = new lunr.SortedSet - - clone.elements = this.toArray() - clone.length = clone.elements.length - - return clone - } - - /** - * Creates a new lunr.SortedSet that contains the elements in the union - * of this set and the passed set. - * - * @param {lunr.SortedSet} otherSet The set to union with this set. - * @returns {lunr.SortedSet} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.union = function (otherSet) { - var longSet, shortSet, unionSet - - if (this.length >= otherSet.length) { - longSet = this, shortSet = otherSet - } else { - longSet = otherSet, shortSet = this - } - - unionSet = longSet.clone() - - unionSet.add.apply(unionSet, shortSet.toArray()) - - return unionSet - } - - /** - * Returns a representation of the sorted set ready for serialisation. - * - * @returns {Array} - * @memberOf SortedSet - */ - lunr.SortedSet.prototype.toJSON = function () { - return this.toArray() - } - /*! - * lunr.Index - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.Index is object that manages a search index. It contains the indexes - * and stores all the tokens and document lookups. It also provides the main - * user facing API for the library. - * - * @constructor - */ - lunr.Index = function () { - this._fields = [] - this._ref = 'id' - this.pipeline = new lunr.Pipeline - this.documentStore = new lunr.Store - this.tokenStore = new lunr.TokenStore - this.corpusTokens = new lunr.SortedSet - this.eventEmitter = new lunr.EventEmitter - - this._idfCache = {} - - this.on('add', 'remove', 'update', (function () { - this._idfCache = {} - }).bind(this)) - } - - /** - * Bind a handler to events being emitted by the index. - * - * The handler can be bound to many events at the same time. - * - * @param {String} [eventName] The name(s) of events to bind the function to. - * @param {Function} handler The serialised set to load. - * @memberOf Index - */ - lunr.Index.prototype.on = function () { - var args = Array.prototype.slice.call(arguments) - return this.eventEmitter.addListener.apply(this.eventEmitter, args) - } - - /** - * Removes a handler from an event being emitted by the index. - * - * @param {String} eventName The name of events to remove the function from. - * @param {Function} handler The serialised set to load. - * @memberOf Index - */ - lunr.Index.prototype.off = function (name, fn) { - return this.eventEmitter.removeListener(name, fn) - } - - /** - * Loads a previously serialised index. - * - * Issues a warning if the index being imported was serialised - * by a different version of lunr. - * - * @param {Object} serialisedData The serialised set to load. - * @returns {lunr.Index} - * @memberOf Index - */ - lunr.Index.load = function (serialisedData) { - if (serialisedData.version !== lunr.version) { - lunr.utils.warn('version mismatch: current ' + lunr.version + ' importing ' + serialisedData.version) - } - - var idx = new this - - idx._fields = serialisedData.fields - idx._ref = serialisedData.ref - - idx.documentStore = lunr.Store.load(serialisedData.documentStore) - idx.tokenStore = lunr.TokenStore.load(serialisedData.tokenStore) - idx.corpusTokens = lunr.SortedSet.load(serialisedData.corpusTokens) - idx.pipeline = lunr.Pipeline.load(serialisedData.pipeline) - - return idx - } - - /** - * Adds a field to the list of fields that will be searchable within documents - * in the index. - * - * An optional boost param can be passed to affect how much tokens in this field - * rank in search results, by default the boost value is 1. - * - * Fields should be added before any documents are added to the index, fields - * that are added after documents are added to the index will only apply to new - * documents added to the index. - * - * @param {String} fieldName The name of the field within the document that - * should be indexed - * @param {Number} boost An optional boost that can be applied to terms in this - * field. - * @returns {lunr.Index} - * @memberOf Index - */ - lunr.Index.prototype.field = function (fieldName, opts) { - var opts = opts || {}, - field = { name: fieldName, boost: opts.boost || 1 } - - this._fields.push(field) - return this - } - - /** - * Sets the property used to uniquely identify documents added to the index, - * by default this property is 'id'. - * - * This should only be changed before adding documents to the index, changing - * the ref property without resetting the index can lead to unexpected results. - * - * @param {String} refName The property to use to uniquely identify the - * documents in the index. - * @param {Boolean} emitEvent Whether to emit add events, defaults to true - * @returns {lunr.Index} - * @memberOf Index - */ - lunr.Index.prototype.ref = function (refName) { - this._ref = refName - return this - } - - /** - * Add a document to the index. - * - * This is the way new documents enter the index, this function will run the - * fields from the document through the index's pipeline and then add it to - * the index, it will then show up in search results. - * - * An 'add' event is emitted with the document that has been added and the index - * the document has been added to. This event can be silenced by passing false - * as the second argument to add. - * - * @param {Object} doc The document to add to the index. - * @param {Boolean} emitEvent Whether or not to emit events, default true. - * @memberOf Index - */ - lunr.Index.prototype.add = function (doc, emitEvent) { - var docTokens = {}, - allDocumentTokens = new lunr.SortedSet, - docRef = doc[this._ref], - emitEvent = emitEvent === undefined ? true : emitEvent - - this._fields.forEach(function (field) { - var fieldTokens = this.pipeline.run(lunr.tokenizer(doc[field.name])) - - docTokens[field.name] = fieldTokens - lunr.SortedSet.prototype.add.apply(allDocumentTokens, fieldTokens) - }, this) - - this.documentStore.set(docRef, allDocumentTokens) - lunr.SortedSet.prototype.add.apply(this.corpusTokens, allDocumentTokens.toArray()) - - for (var i = 0; i < allDocumentTokens.length; i++) { - var token = allDocumentTokens.elements[i] - var tf = this._fields.reduce(function (memo, field) { - var fieldLength = docTokens[field.name].length - - if (!fieldLength) return memo - - var tokenCount = docTokens[field.name].filter(function (t) { return t === token }).length - - return memo + (tokenCount / fieldLength * field.boost) - }, 0) - - this.tokenStore.add(token, { ref: docRef, tf: tf }) - }; - - if (emitEvent) this.eventEmitter.emit('add', doc, this) - } - - /** - * Removes a document from the index. - * - * To make sure documents no longer show up in search results they can be - * removed from the index using this method. - * - * The document passed only needs to have the same ref property value as the - * document that was added to the index, they could be completely different - * objects. - * - * A 'remove' event is emitted with the document that has been removed and the index - * the document has been removed from. This event can be silenced by passing false - * as the second argument to remove. - * - * @param {Object} doc The document to remove from the index. - * @param {Boolean} emitEvent Whether to emit remove events, defaults to true - * @memberOf Index - */ - lunr.Index.prototype.remove = function (doc, emitEvent) { - var docRef = doc[this._ref], - emitEvent = emitEvent === undefined ? true : emitEvent - - if (!this.documentStore.has(docRef)) return - - var docTokens = this.documentStore.get(docRef) - - this.documentStore.remove(docRef) - - docTokens.forEach(function (token) { - this.tokenStore.remove(token, docRef) - }, this) - - if (emitEvent) this.eventEmitter.emit('remove', doc, this) - } - - /** - * Updates a document in the index. - * - * When a document contained within the index gets updated, fields changed, - * added or removed, to make sure it correctly matched against search queries, - * it should be updated in the index. - * - * This method is just a wrapper around `remove` and `add` - * - * An 'update' event is emitted with the document that has been updated and the index. - * This event can be silenced by passing false as the second argument to update. Only - * an update event will be fired, the 'add' and 'remove' events of the underlying calls - * are silenced. - * - * @param {Object} doc The document to update in the index. - * @param {Boolean} emitEvent Whether to emit update events, defaults to true - * @see Index.prototype.remove - * @see Index.prototype.add - * @memberOf Index - */ - lunr.Index.prototype.update = function (doc, emitEvent) { - var emitEvent = emitEvent === undefined ? true : emitEvent - - this.remove(doc, false) - this.add(doc, false) - - if (emitEvent) this.eventEmitter.emit('update', doc, this) - } - - /** - * Calculates the inverse document frequency for a token within the index. - * - * @param {String} token The token to calculate the idf of. - * @see Index.prototype.idf - * @private - * @memberOf Index - */ - lunr.Index.prototype.idf = function (term) { - var cacheKey = "@" + term - if (Object.prototype.hasOwnProperty.call(this._idfCache, cacheKey)) return this._idfCache[cacheKey] - - var documentFrequency = this.tokenStore.count(term), - idf = 1 - - if (documentFrequency > 0) { - idf = 1 + Math.log(this.tokenStore.length / documentFrequency) - } - - return this._idfCache[cacheKey] = idf - } - - /** - * Searches the index using the passed query. - * - * Queries should be a string, multiple words are allowed and will lead to an - * AND based query, e.g. `idx.search('foo bar')` will run a search for - * documents containing both 'foo' and 'bar'. - * - * All query tokens are passed through the same pipeline that document tokens - * are passed through, so any language processing involved will be run on every - * query term. - * - * Each query term is expanded, so that the term 'he' might be expanded to - * 'hello' and 'help' if those terms were already included in the index. - * - * Matching documents are returned as an array of objects, each object contains - * the matching document ref, as set for this index, and the similarity score - * for this document against the query. - * - * @param {String} query The query to search the index with. - * @returns {Object} - * @see Index.prototype.idf - * @see Index.prototype.documentVector - * @memberOf Index - */ - lunr.Index.prototype.search = function (query) { - var queryTokens = this.pipeline.run(lunr.tokenizer(query)), - queryVector = new lunr.Vector, - documentSets = [], - fieldBoosts = this._fields.reduce(function (memo, f) { return memo + f.boost }, 0) - - var hasSomeToken = queryTokens.some(function (token) { - return this.tokenStore.has(token) - }, this) - - if (!hasSomeToken) return [] - - queryTokens - .forEach(function (token, i, tokens) { - var tf = 1 / tokens.length * this._fields.length * fieldBoosts, - self = this - - var set = this.tokenStore.expand(token).reduce(function (memo, key) { - var pos = self.corpusTokens.indexOf(key), - idf = self.idf(key), - similarityBoost = 1, - set = new lunr.SortedSet - - // if the expanded key is not an exact match to the token then - // penalise the score for this key by how different the key is - // to the token. - if (key !== token) { - var diff = Math.max(3, key.length - token.length) - similarityBoost = 1 / Math.log(diff) - } - - // calculate the query tf-idf score for this token - // applying an similarityBoost to ensure exact matches - // these rank higher than expanded terms - if (pos > -1) queryVector.insert(pos, tf * idf * similarityBoost) - - // add all the documents that have this key into a set - Object.keys(self.tokenStore.get(key)).forEach(function (ref) { set.add(ref) }) - - return memo.union(set) - }, new lunr.SortedSet) - - documentSets.push(set) - }, this) - - var documentSet = documentSets.reduce(function (memo, set) { - return memo.intersect(set) - }) - - return documentSet - .map(function (ref) { - return { ref: ref, score: queryVector.similarity(this.documentVector(ref)) } - }, this) - .sort(function (a, b) { - return b.score - a.score - }) - } - - /** - * Generates a vector containing all the tokens in the document matching the - * passed documentRef. - * - * The vector contains the tf-idf score for each token contained in the - * document with the passed documentRef. The vector will contain an element - * for every token in the indexes corpus, if the document does not contain that - * token the element will be 0. - * - * @param {Object} documentRef The ref to find the document with. - * @returns {lunr.Vector} - * @private - * @memberOf Index - */ - lunr.Index.prototype.documentVector = function (documentRef) { - var documentTokens = this.documentStore.get(documentRef), - documentTokensLength = documentTokens.length, - documentVector = new lunr.Vector - - for (var i = 0; i < documentTokensLength; i++) { - var token = documentTokens.elements[i], - tf = this.tokenStore.get(token)[documentRef].tf, - idf = this.idf(token) - - documentVector.insert(this.corpusTokens.indexOf(token), tf * idf) - }; - - return documentVector - } - - /** - * Returns a representation of the index ready for serialisation. - * - * @returns {Object} - * @memberOf Index - */ - lunr.Index.prototype.toJSON = function () { - return { - version: lunr.version, - fields: this._fields, - ref: this._ref, - documentStore: this.documentStore.toJSON(), - tokenStore: this.tokenStore.toJSON(), - corpusTokens: this.corpusTokens.toJSON(), - pipeline: this.pipeline.toJSON() - } - } - - /** - * Applies a plugin to the current index. - * - * A plugin is a function that is called with the index as its context. - * Plugins can be used to customise or extend the behaviour the index - * in some way. A plugin is just a function, that encapsulated the custom - * behaviour that should be applied to the index. - * - * The plugin function will be called with the index as its argument, additional - * arguments can also be passed when calling use. The function will be called - * with the index as its context. - * - * Example: - * - * var myPlugin = function (idx, arg1, arg2) { - * // `this` is the index to be extended - * // apply any extensions etc here. - * } - * - * var idx = lunr(function () { - * this.use(myPlugin, 'arg1', 'arg2') - * }) - * - * @param {Function} plugin The plugin to apply. - * @memberOf Index - */ - lunr.Index.prototype.use = function (plugin) { - var args = Array.prototype.slice.call(arguments, 1) - args.unshift(this) - plugin.apply(this, args) - } - /*! - * lunr.Store - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.Store is a simple key-value store used for storing sets of tokens for - * documents stored in index. - * - * @constructor - * @module - */ - lunr.Store = function () { - this.store = {} - this.length = 0 - } - - /** - * Loads a previously serialised store - * - * @param {Object} serialisedData The serialised store to load. - * @returns {lunr.Store} - * @memberOf Store - */ - lunr.Store.load = function (serialisedData) { - var store = new this - - store.length = serialisedData.length - store.store = Object.keys(serialisedData.store).reduce(function (memo, key) { - memo[key] = lunr.SortedSet.load(serialisedData.store[key]) - return memo - }, {}) - - return store - } - - /** - * Stores the given tokens in the store against the given id. - * - * @param {Object} id The key used to store the tokens against. - * @param {Object} tokens The tokens to store against the key. - * @memberOf Store - */ - lunr.Store.prototype.set = function (id, tokens) { - if (!this.has(id)) this.length++ - this.store[id] = tokens - } - - /** - * Retrieves the tokens from the store for a given key. - * - * @param {Object} id The key to lookup and retrieve from the store. - * @returns {Object} - * @memberOf Store - */ - lunr.Store.prototype.get = function (id) { - return this.store[id] - } - - /** - * Checks whether the store contains a key. - * - * @param {Object} id The id to look up in the store. - * @returns {Boolean} - * @memberOf Store - */ - lunr.Store.prototype.has = function (id) { - return id in this.store - } - - /** - * Removes the value for a key in the store. - * - * @param {Object} id The id to remove from the store. - * @memberOf Store - */ - lunr.Store.prototype.remove = function (id) { - if (!this.has(id)) return - - delete this.store[id] - this.length-- - } - - /** - * Returns a representation of the store ready for serialisation. - * - * @returns {Object} - * @memberOf Store - */ - lunr.Store.prototype.toJSON = function () { - return { - store: this.store, - length: this.length - } - } - - /*! - * lunr.stemmer - * Copyright (C) 2014 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ - - /** - * lunr.stemmer is an english language stemmer, this is a JavaScript - * implementation of the PorterStemmer taken from http://tartaurs.org/~martin - * - * @module - * @param {String} str The string to stem - * @returns {String} - * @see lunr.Pipeline - */ - lunr.stemmer = (function(){ - var step2list = { - "ational" : "ate", - "tional" : "tion", - "enci" : "ence", - "anci" : "ance", - "izer" : "ize", - "bli" : "ble", - "alli" : "al", - "entli" : "ent", - "eli" : "e", - "ousli" : "ous", - "ization" : "ize", - "ation" : "ate", - "ator" : "ate", - "alism" : "al", - "iveness" : "ive", - "fulness" : "ful", - "ousness" : "ous", - "aliti" : "al", - "iviti" : "ive", - "biliti" : "ble", - "logi" : "log" - }, - - step3list = { - "icate" : "ic", - "ative" : "", - "alize" : "al", - "iciti" : "ic", - "ical" : "ic", - "ful" : "", - "ness" : "" - }, - - c = "[^aeiou]", // consonant - v = "[aeiouy]", // vowel - C = c + "[^aeiouy]*", // consonant sequence - V = v + "[aeiou]*", // vowel sequence - - mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 - meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 - mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 - s_v = "^(" + C + ")?" + v; // vowel in stem - - var re_mgr0 = new RegExp(mgr0); - var re_mgr1 = new RegExp(mgr1); - var re_meq1 = new RegExp(meq1); - var re_s_v = new RegExp(s_v); - - var re_1a = /^(.+?)(ss|i)es$/; - var re2_1a = /^(.+?)([^s])s$/; - var re_1b = /^(.+?)eed$/; - var re2_1b = /^(.+?)(ed|ing)$/; - var re_1b_2 = /.$/; - var re2_1b_2 = /(at|bl|iz)$/; - var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$"); - var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - - var re_1c = /^(.+?[^aeiou])y$/; - var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - - var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - - var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - var re2_4 = /^(.+?)(s|t)(ion)$/; - - var re_5 = /^(.+?)e$/; - var re_5_1 = /ll$/; - var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - - var porterStemmer = function porterStemmer(w) { - var stem, - suffix, - firstch, - re, - re2, - re3, - re4; - - if (w.length < 3) { return w; } - - firstch = w.substr(0,1); - if (firstch == "y") { - w = firstch.toUpperCase() + w.substr(1); - } - - // Step 1a - re = re_1a - re2 = re2_1a; - - if (re.test(w)) { w = w.replace(re,"$1$2"); } - else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } - - // Step 1b - re = re_1b; - re2 = re2_1b; - if (re.test(w)) { - var fp = re.exec(w); - re = re_mgr0; - if (re.test(fp[1])) { - re = re_1b_2; - w = w.replace(re,""); - } - } else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = re_s_v; - if (re2.test(stem)) { - w = stem; - re2 = re2_1b_2; - re3 = re3_1b_2; - re4 = re4_1b_2; - if (re2.test(w)) { w = w + "e"; } - else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); } - else if (re4.test(w)) { w = w + "e"; } - } - } - - // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say) - re = re_1c; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - w = stem + "i"; - } - - // Step 2 - re = re_2; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = re_mgr0; - if (re.test(stem)) { - w = stem + step2list[suffix]; - } - } - - // Step 3 - re = re_3; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = re_mgr0; - if (re.test(stem)) { - w = stem + step3list[suffix]; - } - } - - // Step 4 - re = re_4; - re2 = re2_4; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = re_mgr1; - if (re.test(stem)) { - w = stem; - } - } else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = re_mgr1; - if (re2.test(stem)) { - w = stem; - } - } - - // Step 5 - re = re_5; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = re_mgr1; - re2 = re_meq1; - re3 = re3_5; - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { - w = stem; - } - } - - re = re_5_1; - re2 = re_mgr1; - if (re.test(w) && re2.test(w)) { - re = re_1b_2; - w = w.replace(re,""); - } - - // and turn initial Y back to y - - if (firstch == "y") { - w = firstch.toLowerCase() + w.substr(1); - } - - return w; - }; - - return porterStemmer; - })(); - - lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer') - /*! - * lunr.stopWordFilter - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.stopWordFilter is an English language stop word list filter, any words - * contained in the list will not be passed through the filter. - * - * This is intended to be used in the Pipeline. If the token does not pass the - * filter then undefined will be returned. - * - * @module - * @param {String} token The token to pass through the filter - * @returns {String} - * @see lunr.Pipeline - */ - lunr.stopWordFilter = function (token) { - if (lunr.stopWordFilter.stopWords.indexOf(token) === -1) return token - } - - lunr.stopWordFilter.stopWords = new lunr.SortedSet - lunr.stopWordFilter.stopWords.length = 119 - lunr.stopWordFilter.stopWords.elements = [ - "", - "a", - "able", - "about", - "across", - "after", - "all", - "almost", - "also", - "am", - "among", - "an", - "and", - "any", - "are", - "as", - "at", - "be", - "because", - "been", - "but", - "by", - "can", - "cannot", - "could", - "dear", - "did", - "do", - "does", - "either", - "else", - "ever", - "every", - "for", - "from", - "get", - "got", - "had", - "has", - "have", - "he", - "her", - "hers", - "him", - "his", - "how", - "however", - "i", - "if", - "in", - "into", - "is", - "it", - "its", - "just", - "least", - "let", - "like", - "likely", - "may", - "me", - "might", - "most", - "must", - "my", - "neither", - "no", - "nor", - "not", - "of", - "off", - "often", - "on", - "only", - "or", - "other", - "our", - "own", - "rather", - "said", - "say", - "says", - "she", - "should", - "since", - "so", - "some", - "than", - "that", - "the", - "their", - "them", - "then", - "there", - "these", - "they", - "this", - "tis", - "to", - "too", - "twas", - "us", - "wants", - "was", - "we", - "were", - "what", - "when", - "where", - "which", - "while", - "who", - "whom", - "why", - "will", - "with", - "would", - "yet", - "you", - "your" - ] - - lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter') - /*! - * lunr.trimmer - * Copyright (C) 2014 Oliver Nightingale - */ - - /** - * lunr.trimmer is a pipeline function for trimming non word - * characters from the begining and end of tokens before they - * enter the index. - * - * This implementation may not work correctly for non latin - * characters and should either be removed or adapted for use - * with languages with non-latin characters. - * - * @module - * @param {String} token The token to pass through the filter - * @returns {String} - * @see lunr.Pipeline - */ - lunr.trimmer = function (token) { - return token - .replace(/^\W+/, '') - .replace(/\W+$/, '') - } - - lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer') - /*! - * lunr.stemmer - * Copyright (C) 2014 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ - - /** - * lunr.TokenStore is used for efficient storing and lookup of the reverse - * index of token to document ref. - * - * @constructor - */ - lunr.TokenStore = function () { - this.root = { docs: {} } - this.length = 0 - } - - /** - * Loads a previously serialised token store - * - * @param {Object} serialisedData The serialised token store to load. - * @returns {lunr.TokenStore} - * @memberOf TokenStore - */ - lunr.TokenStore.load = function (serialisedData) { - var store = new this - - store.root = serialisedData.root - store.length = serialisedData.length - - return store - } - - /** - * Adds a new token doc pair to the store. - * - * By default this function starts at the root of the current store, however - * it can start at any node of any token store if required. - * - * @param {String} token The token to store the doc under - * @param {Object} doc The doc to store against the token - * @param {Object} root An optional node at which to start looking for the - * correct place to enter the doc, by default the root of this lunr.TokenStore - * is used. - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.add = function (token, doc, root) { - var root = root || this.root, - key = token[0], - rest = token.slice(1) - - if (!(key in root)) root[key] = {docs: {}} - - if (rest.length === 0) { - root[key].docs[doc.ref] = doc - this.length += 1 - return - } else { - return this.add(rest, doc, root[key]) - } - } - - /** - * Checks whether this key is contained within this lunr.TokenStore. - * - * By default this function starts at the root of the current store, however - * it can start at any node of any token store if required. - * - * @param {String} token The token to check for - * @param {Object} root An optional node at which to start - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.has = function (token) { - if (!token) return false - - var node = this.root - - for (var i = 0; i < token.length; i++) { - if (!node[token[i]]) return false - - node = node[token[i]] - } - - return true - } - - /** - * Retrieve a node from the token store for a given token. - * - * By default this function starts at the root of the current store, however - * it can start at any node of any token store if required. - * - * @param {String} token The token to get the node for. - * @param {Object} root An optional node at which to start. - * @returns {Object} - * @see TokenStore.prototype.get - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.getNode = function (token) { - if (!token) return {} - - var node = this.root - - for (var i = 0; i < token.length; i++) { - if (!node[token[i]]) return {} - - node = node[token[i]] - } - - return node - } - - /** - * Retrieve the documents for a node for the given token. - * - * By default this function starts at the root of the current store, however - * it can start at any node of any token store if required. - * - * @param {String} token The token to get the documents for. - * @param {Object} root An optional node at which to start. - * @returns {Object} - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.get = function (token, root) { - return this.getNode(token, root).docs || {} - } - - lunr.TokenStore.prototype.count = function (token, root) { - return Object.keys(this.get(token, root)).length - } - - /** - * Remove the document identified by ref from the token in the store. - * - * By default this function starts at the root of the current store, however - * it can start at any node of any token store if required. - * - * @param {String} token The token to get the documents for. - * @param {String} ref The ref of the document to remove from this token. - * @param {Object} root An optional node at which to start. - * @returns {Object} - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.remove = function (token, ref) { - if (!token) return - var node = this.root - - for (var i = 0; i < token.length; i++) { - if (!(token[i] in node)) return - node = node[token[i]] - } - - delete node.docs[ref] - } - - /** - * Find all the possible suffixes of the passed token using tokens - * currently in the store. - * - * @param {String} token The token to expand. - * @returns {Array} - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.expand = function (token, memo) { - var root = this.getNode(token), - docs = root.docs || {}, - memo = memo || [] - - if (Object.keys(docs).length) memo.push(token) - - Object.keys(root) - .forEach(function (key) { - if (key === 'docs') return - - memo.concat(this.expand(token + key, memo)) - }, this) - - return memo - } - - /** - * Returns a representation of the token store ready for serialisation. - * - * @returns {Object} - * @memberOf TokenStore - */ - lunr.TokenStore.prototype.toJSON = function () { - return { - root: this.root, - length: this.length - } - } - - - /** - * export the module via AMD, CommonJS or as a browser global - * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js - */ - ;(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(factory) - } else if (typeof exports === 'object') { - /** - * Node. Does not work with strict CommonJS, but - * only CommonJS-like enviroments that support module.exports, - * like Node. - */ - module.exports = factory() - } else { - // Browser globals (root is window) - root.lunr = factory() - } - }(this, function () { - /** - * Just return a value to define the module export. - * This example returns an object, but the module - * can return a function as the exported value. - */ - return lunr - })) -})() diff --git a/apidocs/cloud-api-source/source/layouts/layout.erb b/apidocs/cloud-api-source/source/layouts/layout.erb deleted file mode 100644 index 9f8cc27c769f..000000000000 --- a/apidocs/cloud-api-source/source/layouts/layout.erb +++ /dev/null @@ -1,108 +0,0 @@ -<%# -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -%> -<% language_tabs = current_page.data.language_tabs %> - - - - - - - <%= current_page.data.title || "API Documentation" %> - - <%= stylesheet_link_tag :screen, media: :screen %> - <%= stylesheet_link_tag :print, media: :print %> - - - <% if current_page.data.search %> - <%= javascript_include_tag "all" %> - <% else %> - <%= javascript_include_tag "all_nosearch" %> - <% end %> - - <% if language_tabs %> - - <% end %> - - - - - - NAV - <%= image_tag('navbar.png') %> - - -
        - <%= image_tag "logo.png" %> - <% if language_tabs %> -
        - <% language_tabs.each do |lang| %> - <% if lang.is_a? Hash %> - <%= lang.values.first %> - <% else %> - <%= lang %> - <% end %> - <% end %> -
        - <% end %> - <% if current_page.data.search %> - -
          - <% end %> -
          -
          - <% if current_page.data.toc_footers %> - - <% end %> -
          -
          -
          -
          - <%= yield %> - <% current_page.data.includes && current_page.data.includes.each do |include| %> - <%= partial "includes/#{include}" %> - <% end %> -
          -
          - <% if language_tabs %> -
          - <% language_tabs.each do |lang| %> - <% if lang.is_a? Hash %> - <%= lang.values.first %> - <% else %> - <%= lang %> - <% end %> - <% end %> -
          - <% end %> -
          -
          - - diff --git a/apidocs/cloud-api-source/source/stylesheets/_icon-font.scss b/apidocs/cloud-api-source/source/stylesheets/_icon-font.scss deleted file mode 100644 index b59948398813..000000000000 --- a/apidocs/cloud-api-source/source/stylesheets/_icon-font.scss +++ /dev/null @@ -1,38 +0,0 @@ -@font-face { - font-family: 'slate'; - src:font-url('slate.eot?-syv14m'); - src:font-url('slate.eot?#iefix-syv14m') format('embedded-opentype'), - font-url('slate.woff2?-syv14m') format('woff2'), - font-url('slate.woff?-syv14m') format('woff'), - font-url('slate.ttf?-syv14m') format('truetype'), - font-url('slate.svg?-syv14m#slate') format('svg'); - font-weight: normal; - font-style: normal; -} - -%icon { - font-family: 'slate'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; -} - -%icon-exclamation-sign { - @extend %icon; - content: "\e600"; -} -%icon-info-sign { - @extend %icon; - content: "\e602"; -} -%icon-ok-sign { - @extend %icon; - content: "\e606"; -} -%icon-search { - @extend %icon; - content: "\e607"; -} diff --git a/apidocs/cloud-api-source/source/stylesheets/_normalize.css b/apidocs/cloud-api-source/source/stylesheets/_normalize.css deleted file mode 100644 index 46f646a5c001..000000000000 --- a/apidocs/cloud-api-source/source/stylesheets/_normalize.css +++ /dev/null @@ -1,427 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/apidocs/cloud-api-source/source/stylesheets/_syntax.scss.erb b/apidocs/cloud-api-source/source/stylesheets/_syntax.scss.erb deleted file mode 100644 index dfeb0c15240f..000000000000 --- a/apidocs/cloud-api-source/source/stylesheets/_syntax.scss.erb +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ - -@import 'variables'; - -<%= Rouge::Themes::Base16::Monokai.render(:scope => '.highlight') %> - -.highlight .c, .highlight .cm, .highlight .c1, .highlight .cs { - color: #909090; -} - -.highlight, .highlight .w { - background-color: $code-bg; -} \ No newline at end of file diff --git a/apidocs/cloud-api-source/source/stylesheets/_variables.scss b/apidocs/cloud-api-source/source/stylesheets/_variables.scss deleted file mode 100644 index 5fe64b1f3027..000000000000 --- a/apidocs/cloud-api-source/source/stylesheets/_variables.scss +++ /dev/null @@ -1,109 +0,0 @@ -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ - - -//////////////////////////////////////////////////////////////////////////////// -// CUSTOMIZE SLATE -//////////////////////////////////////////////////////////////////////////////// -// Use these settings to help adjust the appearance of Slate - - -// BACKGROUND COLORS -//////////////////// -$nav-bg: #393939; -$examples-bg: #393939; -$code-bg: #292929; -$code-annotation-bg: #1c1c1c; -$nav-subitem-bg: #262626; -$nav-active-bg: #2467af; -$lang-select-border: #000; -$lang-select-bg: #222; -$lang-select-active-bg: $examples-bg; // feel free to change this to blue or something -$lang-select-pressed-bg: #111; // color of language tab bg when mouse is pressed -$main-bg: #eaf2f6; -$aside-notice-bg: #8fbcd4; -$aside-warning-bg: #c97a7e; -$aside-success-bg: #6ac174; -$search-notice-bg: #c97a7e; - - -// TEXT COLORS -//////////////////// -$main-text: #333; // main content text color -$nav-text: #fff; -$nav-active-text: #fff; -$lang-select-text: #fff; // color of unselected language tab text -$lang-select-active-text: #fff; // color of selected language tab text -$lang-select-pressed-text: #fff; // color of language tab text when mouse is pressed - - -// SIZES -//////////////////// -$nav-width: 230px; // width of the navbar -$examples-width: 50%; // portion of the screen taken up by code examples -$logo-margin: 20px; // margin between nav items and logo, ignored if search is active -$main-padding: 28px; // padding to left and right of content & examples -$nav-padding: 15px; // padding to left and right of navbar -$nav-v-padding: 10px; // padding used vertically around search boxes and results -$nav-indent: 10px; // extra padding for ToC subitems -$code-annotation-padding: 13px; // padding inside code annotations -$h1-margin-bottom: 21px; // padding under the largest header tags -$tablet-width: 930px; // min width before reverting to tablet size -$phone-width: $tablet-width - $nav-width; // min width before reverting to mobile size - - -// FONTS -//////////////////// -%default-font { - font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","微软雅黑", STXihei, "华文细黑", sans-serif; - font-size: 13px; -} - -%header-font { - @extend %default-font; - font-weight: bold; -} - -%code-font { - font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; - font-size: 12px; - line-height: 1.5; -} - - -// OTHER -//////////////////// -$nav-active-shadow: #000; -$nav-footer-border-color: #666; -$nav-embossed-border-top: #000; -$nav-embossed-border-bottom: #939393; -$main-embossed-text-shadow: 0px 1px 0px #fff; -$search-box-border-color: #666; - - -//////////////////////////////////////////////////////////////////////////////// -// INTERNAL -//////////////////////////////////////////////////////////////////////////////// -// These settings are probably best left alone. - -%break-words { - word-break: break-all; - - /* Non standard for webkit */ - word-break: break-word; - - hyphens: auto; -} diff --git a/apidocs/cloud-api-source/source/stylesheets/print.css.scss b/apidocs/cloud-api-source/source/stylesheets/print.css.scss deleted file mode 100644 index 4bda057f0199..000000000000 --- a/apidocs/cloud-api-source/source/stylesheets/print.css.scss +++ /dev/null @@ -1,142 +0,0 @@ -@charset "utf-8"; -@import 'normalize'; -@import 'compass'; -@import 'variables'; -@import 'icon-font'; - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ - -$print-color: #999; -$print-color-light: #ccc; -$print-font-size: 12px; - -body { - @extend %default-font; -} - -.tocify, .toc-footer, .lang-selector, .search, #nav-button { - display: none; -} - -.tocify-wrapper>img { - margin: 0 auto; - display: block; -} - -.content { - font-size: 12px; - - pre, code { - @extend %code-font; - @extend %break-words; - border: 1px solid $print-color; - border-radius: 5px; - font-size: 0.8em; - } - - pre { - padding: 1.3em; - } - - code { - padding: 0.2em; - } - - table { - border: 1px solid $print-color; - tr { - border-bottom: 1px solid $print-color; - } - td,th { - padding: 0.7em; - } - } - - p { - line-height: 1.5; - } - - a { - text-decoration: none; - color: #000; - } - - h1 { - @extend %header-font; - font-size: 2.5em; - padding-top: 0.5em; - padding-bottom: 0.5em; - margin-top: 1em; - margin-bottom: $h1-margin-bottom; - border: 2px solid $print-color-light; - border-width: 2px 0; - text-align: center; - } - - h2 { - @extend %header-font; - font-size: 1.8em; - margin-top: 2em; - border-top: 2px solid $print-color-light; - padding-top: 0.8em; - } - - h1+h2, h1+div+h2 { - border-top: none; - padding-top: 0; - margin-top: 0; - } - - h3, h4 { - @extend %header-font; - font-size: 0.8em; - margin-top: 1.5em; - margin-bottom: 0.8em; - text-transform: uppercase; - } - - h5, h6 { - text-transform: uppercase; - } - - aside { - padding: 1em; - border: 1px solid $print-color-light; - border-radius: 5px; - margin-top: 1.5em; - margin-bottom: 1.5em; - line-height: 1.6; - } - - aside:before { - vertical-align: middle; - padding-right: 0.5em; - font-size: 14px; - } - - aside.notice:before { - @extend %icon-info-sign; - } - - aside.warning:before { - @extend %icon-exclamation-sign; - } - - aside.success:before { - @extend %icon-ok-sign; - } -} \ No newline at end of file diff --git a/apidocs/cloud-api-source/source/stylesheets/screen.css.scss b/apidocs/cloud-api-source/source/stylesheets/screen.css.scss deleted file mode 100644 index e4b3ef82b22a..000000000000 --- a/apidocs/cloud-api-source/source/stylesheets/screen.css.scss +++ /dev/null @@ -1,620 +0,0 @@ -@charset "utf-8"; -@import 'normalize'; -@import 'compass'; -@import 'variables'; -@import 'syntax'; -@import 'icon-font'; - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ - -//////////////////////////////////////////////////////////////////////////////// -// GENERAL STUFF -//////////////////////////////////////////////////////////////////////////////// - -html, body { - color: $main-text; - padding: 0; - margin: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - @extend %default-font; - background-color: $main-bg; - height: 100%; - -webkit-text-size-adjust: none; /* Never autoresize text */ -} - -//////////////////////////////////////////////////////////////////////////////// -// TABLE OF CONTENTS -//////////////////////////////////////////////////////////////////////////////// - -#toc > ul > li > a > span { - float: right; - background-color: #2484FF; - border-radius: 40px; - width: 20px; -} - -@mixin embossed-bg { - background: - linear-gradient(to bottom, rgba(#000, 0.2), rgba(#000, 0) 8px), - linear-gradient(to top, rgba(#000, 0.2), rgba(#000, 0) 8px), - linear-gradient(to bottom, rgba($nav-embossed-border-top, 1), rgba($nav-embossed-border-top, 0) 1.5px), - linear-gradient(to top, rgba($nav-embossed-border-bottom, 1), rgba($nav-embossed-border-bottom, 0) 1.5px), - $nav-subitem-bg; -} - -.tocify-wrapper { - transition: left 0.3s ease-in-out; - - overflow-y: auto; - overflow-x: hidden; - position: fixed; - z-index: 30; - top: 0; - left: 0; - bottom: 0; - width: $nav-width; - background-color: $nav-bg; - font-size: 13px; - font-weight: bold; - - // language selector for mobile devices - .lang-selector { - display: none; - a { - padding-top: 0.5em; - padding-bottom: 0.5em; - } - } - - // This is the logo at the top of the ToC - &>img { - display: block; - } - - &>.search { - position: relative; - - input { - background: $nav-bg; - border-width: 0 0 1px 0; - border-color: $search-box-border-color; - padding: 6px 0 6px 20px; - box-sizing: border-box; - margin: $nav-v-padding $nav-padding; - width: $nav-width - 30; - outline: none; - color: $nav-text; - border-radius: 0; /* ios has a default border radius */ - } - - &:before { - position: absolute; - top: 17px; - left: $nav-padding; - color: $nav-text; - @extend %icon-search; - } - } - - img+.tocify { - margin-top: $logo-margin; - } - - .search-results { - margin-top: 0; - box-sizing: border-box; - height: 0; - overflow-y: auto; - overflow-x: hidden; - transition-property: height, margin; - transition-duration: 180ms; - transition-timing-function: ease-in-out; - &.visible { - height: 30%; - margin-bottom: 1em; - } - - @include embossed-bg; - - li { - margin: 1em $nav-padding; - line-height: 1; - } - - a { - color: $nav-text; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } - } - - - .tocify-item>a, .toc-footer li { - padding: 0 $nav-padding 0 $nav-padding; - display: block; - overflow-x: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - - // The Table of Contents is composed of multiple nested - // unordered lists. These styles remove the default - // styling of an unordered list because it is ugly. - ul, li { - list-style: none; - margin: 0; - padding: 0; - line-height: 28px; - } - - li { - color: $nav-text; - transition-property: background; - transition-timing-function: linear; - transition-duration: 230ms; - } - - // This is the currently selected ToC entry - .tocify-focus { - box-shadow: 0px 1px 0px $nav-active-shadow; - background-color: $nav-active-bg; - color: $nav-active-text; - } - - // Subheaders are the submenus that slide open - // in the table of contents. - .tocify-subheader { - display: none; // tocify will override this when needed - background-color: $nav-subitem-bg; - font-weight: 500; - .tocify-item>a { - padding-left: $nav-padding + $nav-indent; - font-size: 12px; - } - - // for embossed look: - @include embossed-bg; - &>li:last-child { - box-shadow: none; // otherwise it'll overflow out of the subheader - } - } - - .toc-footer { - padding: 1em 0; - margin-top: 1em; - border-top: 1px dashed $nav-footer-border-color; - - li,a { - color: $nav-text; - text-decoration: none; - } - - a:hover { - text-decoration: underline; - } - - li { - font-size: 0.8em; - line-height: 1.7; - text-decoration: none; - } - } - -} - -// button to show navigation on mobile devices -#nav-button { - span { - display: block; - $side-pad: $main-padding / 2 - 8px; - padding: $side-pad $side-pad $side-pad; - background-color: rgba($main-bg, 0.7); - transform-origin: 0 0; - transform: rotate(-90deg) translate(-100%, 0); - border-radius: 0 0 0 5px; - } - padding: 0 1.5em 5em 0; // increase touch size area - display: none; - position: fixed; - top: 0; - left: 0; - z-index: 100; - color: #000; - text-decoration: none; - font-weight: bold; - opacity: 0.7; - line-height: 16px; - img { - height: 16px; - vertical-align: bottom; - } - - transition: left 0.3s ease-in-out; - - &:hover { opacity: 1; } - &.open {left: $nav-width} -} - - -//////////////////////////////////////////////////////////////////////////////// -// PAGE LAYOUT AND CODE SAMPLE BACKGROUND -//////////////////////////////////////////////////////////////////////////////// - -.page-wrapper { - margin-left: $nav-width; - position: relative; - z-index: 10; - background-color: $main-bg; - min-height: 100%; - - padding-bottom: 1px; // prevent margin overflow - - // The dark box is what gives the code samples their dark background. - // It sits essentially under the actual content block, which has a - // transparent background. - // I know, it's hackish, but it's the simplist way to make the left - // half of the content always this background color. - .dark-box { - width: $examples-width; - background-color: $examples-bg; - position: absolute; - right: 0; - top: 0; - bottom: 0; - } - - .lang-selector { - position: fixed; - z-index: 50; - border-bottom: 5px solid $lang-select-active-bg; - } -} - -.lang-selector { - background-color: $lang-select-bg; - width: 100%; - font-weight: bold; - a { - display: block; - float:left; - color: $lang-select-text; - text-decoration: none; - padding: 0 10px; - line-height: 30px; - outline: 0; - - &:active, &:focus { - background-color: $lang-select-pressed-bg; - color: $lang-select-pressed-text; - } - - &.active { - background-color: $lang-select-active-bg; - color: $lang-select-active-text; - } - } - - &:after { - content: ''; - clear: both; - display: block; - } -} - -//////////////////////////////////////////////////////////////////////////////// -// CONTENT STYLES -//////////////////////////////////////////////////////////////////////////////// -// This is all the stuff with the light background in the left half of the page - -.content { - // to place content above the dark box - position: relative; - z-index: 30; - - &:after { - content: ''; - display: block; - clear: both; - } - - &>h1, &>h2, &>h3, &>h4, &>h5, &>h6, &>p, &>table, &>ul, &>ol, &>aside, &>dl { - margin-right: $examples-width; - padding: 0 $main-padding; - box-sizing: border-box; - display: block; - @include text-shadow($main-embossed-text-shadow); - - @extend %left-col; - } - - &>ul, &>ol { - padding-left: $main-padding + 15px; - } - - // the div is the tocify hidden div for placeholding stuff - &>h1, &>h2, &>div { - clear:both; - } - - h1 { - @extend %header-font; - font-size: 30px; - padding-top: 0.5em; - padding-bottom: 0.5em; - border-bottom: 1px solid #ccc; - margin-bottom: $h1-margin-bottom; - margin-top: 2em; - border-top: 1px solid #ddd; - background-image: linear-gradient(to bottom, #fff, #f9f9f9); - } - - h1:first-child, div:first-child + h1 { - border-top-width: 0; - margin-top: 0; - } - - h2 { - @extend %header-font; - font-size: 20px; - margin-top: 4em; - margin-bottom: 0; - border-top: 1px solid #ccc; - padding-top: 1.2em; - padding-bottom: 1.2em; - background-image: linear-gradient(to bottom, rgba(#fff, 0.4), rgba(#fff, 0)); - } - - // h2s right after h1s should bump right up - // against the h1s. - h1 + h2, h1 + div + h2 { - margin-top: $h1-margin-bottom * -1; - border-top: none; - } - - h3, h4, h5, h6 { - @extend %header-font; - font-size: 15px; - margin-top: 2.5em; - margin-bottom: 0.8em; - } - - h4, h5, h6 { - font-size: 10px; - } - - hr { - margin: 2em 0; - border-top: 2px solid $examples-bg; - border-bottom: 2px solid $main-bg; - } - - table { - margin-bottom: 1em; - overflow: auto; - th,td { - text-align: left; - vertical-align: top; - line-height: 1.6; - } - - th { - padding: 5px 10px; - border-bottom: 1px solid #ccc; - vertical-align: bottom; - } - - td { - padding: 10px; - } - - tr:last-child { - border-bottom: 1px solid #ccc; - } - - tr:nth-child(odd)>td { - background-color: lighten($main-bg,4.2%); - } - - tr:nth-child(even)>td { - background-color: lighten($main-bg,2.4%); - } - } - - dt { - font-weight: bold; - } - - dd { - margin-left: 15px; - } - - p, li, dt, dd { - line-height: 1.6; - margin-top: 0; - } - - img { - max-width: 100%; - } - - code { - background-color: rgba(0,0,0,0.05); - padding: 3px; - border-radius: 3px; - @extend %break-words; - @extend %code-font; - } - - pre>code { - background-color: transparent; - padding: 0; - } - - aside { - padding-top: 1em; - padding-bottom: 1em; - @include text-shadow(0 1px 0 lighten($aside-notice-bg, 15%)); - margin-top: 1.5em; - margin-bottom: 1.5em; - background: $aside-notice-bg; - line-height: 1.6; - - &.warning { - background-color: $aside-warning-bg; - @include text-shadow(0 1px 0 lighten($aside-warning-bg, 15%)); - } - - &.success { - background-color: $aside-success-bg; - @include text-shadow(0 1px 0 lighten($aside-success-bg, 15%)); - } - } - - aside:before { - vertical-align: middle; - padding-right: 0.5em; - font-size: 14px; - } - - aside.notice:before { - @extend %icon-info-sign; - } - - aside.warning:before { - @extend %icon-exclamation-sign; - } - - aside.success:before { - @extend %icon-ok-sign; - } - - .search-highlight { - padding: 2px; - margin: -2px; - border-radius: 4px; - border: 1px solid #F7E633; - @include text-shadow(1px 1px 0 #666); - background: linear-gradient(to top left, #F7E633 0%, #F1D32F 100%); - } -} - -//////////////////////////////////////////////////////////////////////////////// -// CODE SAMPLE STYLES -//////////////////////////////////////////////////////////////////////////////// -// This is all the stuff that appears in the right half of the page - -.content { - pre, blockquote { - background-color: $code-bg; - color: #fff; - - padding: 2em $main-padding; - margin: 0; - width: $examples-width; - - float:right; - clear:right; - - box-sizing: border-box; - @include text-shadow(0px 1px 2px rgba(0,0,0,0.4)); - - @extend %right-col; - - &>p { margin: 0; } - - a { - color: #fff; - text-decoration: none; - border-bottom: dashed 1px #ccc; - } - } - - pre { - @extend %code-font; - } - - blockquote { - &>p { - background-color: $code-annotation-bg; - border-radius: 5px; - padding: $code-annotation-padding; - color: #ccc; - border-top: 1px solid #000; - border-bottom: 1px solid #404040; - } - } -} - -//////////////////////////////////////////////////////////////////////////////// -// RESPONSIVE DESIGN -//////////////////////////////////////////////////////////////////////////////// -// These are the styles for phones and tablets -// There are also a couple styles disperesed - -@media (max-width: $tablet-width) { - .tocify-wrapper { - left: -$nav-width; - - &.open { - left: 0; - } - } - - .page-wrapper { - margin-left: 0; - } - - #nav-button { - display: block; - } - - .tocify-wrapper .tocify-item > a { - padding-top: 0.3em; - padding-bottom: 0.3em; - } -} - -@media (max-width: $phone-width) { - .dark-box { - display: none; - } - - %left-col { - margin-right: 0; - } - - .tocify-wrapper .lang-selector { - display: block; - } - - .page-wrapper .lang-selector { - display: none; - } - - %right-col { - width: auto; - float: none; - } - - %right-col + %left-col { - margin-top: $main-padding; - } -} diff --git a/apidocs/docker-cloud/fonts/slate.eot b/apidocs/docker-cloud/fonts/slate.eot deleted file mode 100644 index 13c4839a1975..000000000000 Binary files a/apidocs/docker-cloud/fonts/slate.eot and /dev/null differ diff --git a/apidocs/docker-cloud/fonts/slate.svg b/apidocs/docker-cloud/fonts/slate.svg deleted file mode 100644 index 5f34982306bc..000000000000 --- a/apidocs/docker-cloud/fonts/slate.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - diff --git a/apidocs/docker-cloud/fonts/slate.ttf b/apidocs/docker-cloud/fonts/slate.ttf deleted file mode 100644 index ace9a46a7e1e..000000000000 Binary files a/apidocs/docker-cloud/fonts/slate.ttf and /dev/null differ diff --git a/apidocs/docker-cloud/fonts/slate.woff b/apidocs/docker-cloud/fonts/slate.woff deleted file mode 100644 index 1e72e0ee0018..000000000000 Binary files a/apidocs/docker-cloud/fonts/slate.woff and /dev/null differ diff --git a/apidocs/docker-cloud/fonts/slate.woff2 b/apidocs/docker-cloud/fonts/slate.woff2 deleted file mode 100644 index 7c585a727375..000000000000 Binary files a/apidocs/docker-cloud/fonts/slate.woff2 and /dev/null differ diff --git a/apidocs/docker-cloud/images/logo.png b/apidocs/docker-cloud/images/logo.png deleted file mode 100644 index 407d4cc3bf0a..000000000000 Binary files a/apidocs/docker-cloud/images/logo.png and /dev/null differ diff --git a/apidocs/docker-cloud/images/navbar.png b/apidocs/docker-cloud/images/navbar.png deleted file mode 100644 index df38e90d87e1..000000000000 Binary files a/apidocs/docker-cloud/images/navbar.png and /dev/null differ diff --git a/apidocs/docker-cloud/includes/action.html b/apidocs/docker-cloud/includes/action.html deleted file mode 100644 index c0c39f34ebd8..000000000000 --- a/apidocs/docker-cloud/includes/action.html +++ /dev/null @@ -1,513 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Actions

          - -

          Action

          - -
          -

          Example

          -
          -
          {
          -    "action": "Cluster Create",
          -    "end_date": "Wed, 17 Sep 2014 08:26:22 +0000",
          -    "ip": "56.78.90.12",
          -    "is_user_action": true,
          -    "can_be_canceled": false,
          -    "location": "New York, USA",
          -    "method": "POST",
          -    "object": "/api/infra/v1/user_namespace/cluster/eea638f4-b77a-4183-b241-22dbd7866f22/",
          -    "path": "/api/infra/v1/user_namespace/cluster/",
          -    "resource_uri": "/api/audit/v1/action/6246c558-976c-4df6-ba60-eb1a344a17af/",
          -    "start_date": "Wed, 17 Sep 2014 08:26:22 +0000",
          -    "state": "Success",
          -    "user": "user_namespace",
          -    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2",
          -    "uuid": "6246c558-976c-4df6-ba60-eb1a344a17af"
          -}
          -
          - -

          An action represents an API call by a user. Details of the API call such as timestamp, origin IP address, and user agent are logged in the action object.

          - -

          Simple API calls that do not require asynchronous execution will return immediately with the appropiate HTTP error code and an action object will be created either in Success or Failed states. API calls that do require asynchronous execution will return HTTP code 202 Accepted immediately and create an action object in In progress state, which will change to Success or Failed state depending on the outcome of the operation being performed. In both cases the response will include a X-DockerCloud-Action-URI header with the resource URI of the created action.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          resource_uriA unique API endpoint that represents the action
          uuidA unique identifier for the action generated automatically on creation
          objectThe API object (resource URI) to which the action applies to
          actionName of the operation performed/being performed
          methodHTTP method used to access the API
          pathHTTP path of the API accessed
          userThe user authenticated in the request that created the action
          user_agentThe user agent provided by the client when accessing the API endpoint
          start_dateDate and time when the API call was performed and the operation started processing
          end_dateDate and time when the API call finished processing
          stateState of the operation (see table below)
          ipIP address of the user that performed the API call
          locationGeographic location of the IP address of the user that performed the API call
          is_user_actionIf the action has been triggered by the user
          can_be_canceledIf the action can be canceled by the user in the middle of its execution
          can_be_retriedIf the action can be retried by the user
          - -

          Action states

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          StateDescription
          PendingThe action needed asynchronous execution and it is waiting for an in progress action
          In progressThe action needed asynchronous execution and is being performed
          CancelingThe action is being canceled by user request
          CanceledThe action has been canceled
          SuccessThe action was executed successfully
          FailedThere was an issue when the action was being performed. Check the logs for more information.
          - -

          List all actions

          -
          import dockercloud
          -
          -actions = dockercloud.Action.list()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -actionList, err := dockercloud.ListActions()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(actionList)
          -
          -
          GET /api/audit/v1/action/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud action ls
          -
          - -

          Lists all actions in chronological order. Returns a list of Action objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/audit/v1/action/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID.
          stateFilter by state. Possible values: In progress, Success, Failed
          start_dateFilter by start date. Valid filtering values are start_date__gte (after or on the date supplied) and start_date__lte (before or on the date supplied)
          end_dateFilter by end date. Valid filtering values are end_date__gte (after or on the date supplied) and end_date__lte (before or on the date supplied)
          objectFilter by resource URI of the related object. This filter can only be combined with ‘include_related’ filter
          include_relatedThere is a parent-child relationship between Docker Cloud objects, described in table Relationships between Docker Cloud objects. If set to 'true’, will include the actions of the related objects to the object specified in “object” filter parameter. Possible values: 'true’ or 'false’
          - -

          Relationships between Docker Cloud objects

          - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ObjectRelationships
          ContainerContainer, service, stack (if any)
          ServiceAll containers in the service, service, stack (if any)
          StackAll services in the stack, all containers in every service in the stack, stack
          NodeNode, node cluster (if any)
          Node clusterAll nodes in the cluster, node cluster
          - -

          Get an action by UUID

          -
          import dockercloud
          -
          -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(action)
          -
          -
          GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud action inspect 7eaf7fff
          -
          - -

          Get all the details of an specific action

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/audit/v1/action/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the action to retrieve
          - -

          Get the logs of an action

          - -
          -

          Example log line

          -
          -
          {
          -    "type": "log",
          -    "log": "Log line from the action",
          -    "timestamp": 1433779324
          -}
          -
          -
          import dockercloud
          -
          -def log_handler(message):
          -    print message
          -
          -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -action.logs(tail=300, follow=True, log_handler=log_handler)
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -c := make(chan dockercloud.Logs)
          -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -go action.GetLogs(c)
          -
          -for {
          -    log.Println(<-c)
          -}
          -
          -
          GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
          -Host: ws.cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Connection: Upgrade
          -Upgrade: websocket
          -
          -
          docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
          -
          - -

          Get the logs of the specified action.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s STREAM API

          - -

          HTTP Request

          - -

          GET /api/audit/v1/action/(uuid)/logs/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the action to retrieve logs
          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          tailNumber of lines to show from the end of the logs (default: 300)
          followWhether to stream logs or close the connection immediately (default: true)
          - -

          Cancel an action

          -
          POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/cancel/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -action, err = action.Cancel()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(action)
          -
          - -

          Cancels an action in Pending or In progress state.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/audit/v1/action/(uuid)/cancel/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the action to cancel
          - -

          Retry an action

          -
          import dockercloud
          -
          -def log_handler(message):
          -  print message
          -
          -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -action.logs(tail=300, follow=True, log_handler=log_handler)
          -
          -
          POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/retry/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -action, err = action.Retry()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(action)
          -
          -
          docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
          -
          - -

          Retries an action in Success, Failed or Canceled state.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/audit/v1/action/(uuid)/retry/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the action to retry
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/availabilityzone.html b/apidocs/docker-cloud/includes/availabilityzone.html deleted file mode 100644 index 6de0c68fb456..000000000000 --- a/apidocs/docker-cloud/includes/availabilityzone.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Availability Zones

          - -

          Availability Zone

          - -
          -

          Example

          -
          -
          {
          -    "available": true,
          -    "name": "ap-northeast-1a",
          -    "region": "/api/infra/v1/region/az/ap-northeast-1/",
          -    "resource_uri": "/api/infra/v1/az/aws/ap-northeast-1/ap-northeast-1a/"
          -}
          -
          - -

          An Availability Zone is an isolated location inside a region. Providers that support availability zones: AWS

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          availableWhether the availability zone is currently available for new node deployments
          nameAn identifier for the availability zone
          regionThe resource URI of the region where the availability zone is allocated
          resource_uriA unique API endpoint that represents the zone
          - -

          List all availability zones

          -
          import dockercloud
          -
          -az = dockercloud.AZ.list()
          -
          -
          GET /api/infra/v1/az/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -az, err := dockercloud.ListAZ()
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -log.Println(az)
          -
          -
          docker-cloud nodecluster az
          -
          - -

          Lists all availability zones from all regions of all supported cloud providers. Returns a list of Availability Zone objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/az/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nameFilter by availability zone name
          regionFilter by resource URI of the target region
          - -

          Get an individual availability zone

          -
          import dockercloud
          -
          -az = dockercloud.AZ.fetch("aws/sa-east-1/sa-east-1a")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -az, err := dockercloud.GetAZ("aws/sa-east-1/sa-east-1a")
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -log.Println(az)
          -
          -
          GET /api/infra/v1/az/aws/sa-east-1/sa-east-1a/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Get all the details of a specific availability zone

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/az/(provider.name)/(region.name)/(name)/

          - -

          Path Parameters

          - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the availability zone to retrieve
          providerThe name of the provider
          regionThe name of the region
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/container.html b/apidocs/docker-cloud/includes/container.html deleted file mode 100644 index 5fcb44f79ee9..000000000000 --- a/apidocs/docker-cloud/includes/container.html +++ /dev/null @@ -1,1154 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Containers

          - -

          Container

          - -
          -

          Example

          -
          -
          {
          -    "autodestroy": "OFF",
          -    "autorestart": "OFF",
          -    "bindings": [
          -        {
          -            "volume": "/api/infra/v1/user_namespace/volume/1863e34d-6a7d-4945-aefc-8f27a4ab1a9e/",
          -            "host_path": null,
          -            "container_path": "/data",
          -            "rewritable": true
          -        },
          -        {
          -            "volume": null,
          -            "host_path": "/etc",
          -            "container_path": "/etc",
          -            "rewritable": true
          -        }
          -    ],
          -    "cap_add": [
          -        "ALL"
          -    ],
          -    "cap_drop": [
          -        "NET_ADMIN",
          -        "SYS_ADMIN"
          -    ],
          -    "container_envvars": [
          -        {
          -            "key": "DB_1_ENV_DEBIAN_FRONTEND",
          -            "value": "noninteractive"
          -        },
          -        {
          -            "key": "DB_1_ENV_MYSQL_PASS",
          -            "value": "**Random**"
          -        },
          -        {
          -            "key": "DB_1_ENV_MYSQL_USER",
          -            "value": "admin"
          -        },
          -        {
          -            "key": "DB_1_ENV_PATH",
          -            "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
          -        },
          -        {
          -            "key": "DB_1_ENV_REPLICATION_MASTER",
          -            "value": "**False**"
          -        },
          -        {
          -            "key": "DB_1_ENV_REPLICATION_PASS",
          -            "value": "replica"
          -        },
          -        {
          -            "key": "DB_1_ENV_REPLICATION_SLAVE",
          -            "value": "**False**"
          -        },
          -        {
          -            "key": "DB_1_ENV_REPLICATION_USER",
          -            "value": "replica"
          -        },
          -        {
          -            "key": "DB_1_PORT",
          -            "value": "tcp://172.16.0.3:3306"
          -        },
          -        {
          -            "key": "DB_1_PORT_3306_TCP",
          -            "value": "tcp://172.16.0.3:3306"
          -        },
          -        {
          -            "key": "DB_1_PORT_3306_TCP_ADDR",
          -            "value": "172.16.0.3"
          -        },
          -        {
          -            "key": "DB_1_PORT_3306_TCP_PORT",
          -            "value": "3306"
          -        },
          -        {
          -            "key": "DB_1_PORT_3306_TCP_PROTO",
          -            "value": "tcp"
          -        },
          -        {
          -            "key": "DB_ENV_DEBIAN_FRONTEND",
          -            "value": "noninteractive"
          -        },
          -        {
          -            "key": "DB_ENV_MYSQL_PASS",
          -            "value": "**Random**"
          -        },
          -        {
          -            "key": "DB_ENV_MYSQL_USER",
          -            "value": "admin"
          -        },
          -        {
          -            "key": "DB_ENV_PATH",
          -            "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
          -        },
          -        {
          -            "key": "DB_ENV_REPLICATION_MASTER",
          -            "value": "**False**"
          -        },
          -        {
          -            "key": "DB_ENV_REPLICATION_PASS",
          -            "value": "replica"
          -        },
          -        {
          -            "key": "DB_ENV_REPLICATION_SLAVE",
          -            "value": "**False**"
          -        },
          -        {
          -            "key": "DB_ENV_REPLICATION_USER",
          -            "value": "replica"
          -        },
          -        {
          -            "key": "DB_PASS",
          -            "value": "szVaPz925B7I"
          -        },
          -        {
          -            "key": "DB_PORT",
          -            "value": "tcp://172.16.0.3:3306"
          -        },
          -        {
          -            "key": "DB_PORT_3306_TCP",
          -            "value": "tcp://172.16.0.3:3306"
          -        },
          -        {
          -            "key": "DB_PORT_3306_TCP_ADDR",
          -            "value": "172.16.0.3"
          -        },
          -        {
          -            "key": "DB_PORT_3306_TCP_PORT",
          -            "value": "3306"
          -        },
          -        {
          -            "key": "DB_PORT_3306_TCP_PROTO",
          -            "value": "tcp"
          -        },
          -        {
          -            "key": "DB_DOCKERCLOUD_API_URL",
          -            "value": "https://cloud.docker.com/api/app/v1/user_namespace/service/c0fed1dc-c528-40c9-aa4c-dc00672ebcbf/"
          -        }
          -    ],
          -    "container_ports": [
          -        {
          -            "endpoint_uri": "http://wordpress-stackable-1.admin.cont.dockerapp.io:49153/",
          -            "inner_port": 80,
          -            "outer_port": 49153,
          -            "port_name": "http",
          -            "protocol": "tcp",
          -            "published": true,
          -            "uri_protocol": "http"
          -        }
          -    ],
          -    "cpu_shares": 100,
          -    "cpuset": "0,1",
          -    "cgroup_parent": "m-executor-abcd",
          -    "deployed_datetime": "Thu, 16 Oct 2014 12:04:08 +0000",
          -    "destroyed_datetime": null,
          -    "devices": [
          -        "/dev/ttyUSB0:/dev/ttyUSB0"
          -    ],
          -    "dns": [
          -        "8.8.8.8"
          -    ],
          -    "dns_search": [
          -        "example.com",
          -        "c1dd4e1e-1356-411c-8613-e15146633640.local.dockerapp.io"
          -    ],
          -    "domainname": "domainname",
          -    "entrypoint": "",
          -    "exit_code": null,
          -    "exit_code_msg": null,
          -    "extra_hosts": [
          -        "onehost:50.31.209.229"
          -    ],
          -    "hostname": "hostname",
          -    "image_name": "tutum/wordpress-stackable:latest",
          -    "labels": {
          -        "com.example.description": "Accounting webapp",
          -        "com.example.department": "Finance",
          -        "com.example.label-with-empty-value": ""
          -    },
          -    "linked_to_container": [
          -        {
          -            "endpoints": {
          -                "3306/tcp": "tcp://172.16.0.3:3306"
          -            },
          -            "from_container": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/",
          -            "name": "DB_1",
          -            "to_container": "/api/app/v1/user_namespace/container/ba434e1e-1234-411c-8613-e15146633640/"
          -        }
          -    ],
          -    "link_variables": {
          -        "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**",
          -        "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress",
          -        "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I",
          -        "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**",
          -        "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin",
          -        "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive",
          -        "WORDPRESS_STACKABLE_1_ENV_HOME": "/",
          -        "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          -        "WORDPRESS_STACKABLE_1_PORT": "tcp://172.16.0.2:80",
          -        "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://172.16.0.2:80",
          -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "172.16.0.2",
          -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "80",
          -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp",
          -        "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**",
          -        "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress",
          -        "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I",
          -        "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**",
          -        "WORDPRESS_STACKABLE_ENV_DB_USER": "admin",
          -        "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive",
          -        "WORDPRESS_STACKABLE_ENV_HOME": "/",
          -        "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          -        "WORDPRESS_STACKABLE_PORT": "tcp://172.16.0.2:80",
          -        "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://172.16.0.2:80",
          -        "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "172.16.0.2",
          -        "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "80",
          -        "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp"
          -    },
          -    "mac_address": "02:42:ac:11:65:43",
          -    "memory": 1024,
          -    "memory_swap": 4096,
          -    "name": "wordpress-stackable",
          -    "net": "bridge",
          -    "node": "/api/infra/v1/user_namespace/node/9691c44e-3155-4ca2-958d-c9571aac0a14/",
          -    "pid": "none",
          -    "private_ip": "10.7.0.1",
          -    "privileged": false,
          -    "public_dns": "wordpress-stackable-1.admin.cont.dockerapp.io",
          -    "read_only": true,
          -    "resource_uri": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/",
          -    "roles": ["global"],
          -    "run_command": "/run-wordpress.sh",
          -    "security_opt": [
          -        "label:user:USER",
          -        "label:role:ROLE"
          -    ],
          -    "service": "/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/",
          -    "started_datetime": "Thu, 16 Oct 2014 12:04:08 +0000",
          -    "state": "Running",
          -    "stdin_open": false,
          -    "stopped_datetime": null,
          -    "synchronized": true,
          -    "tty": false,
          -    "user": "root",
          -    "uuid": "c1dd4e1e-1356-411c-8613-e15146633640",
          -    "working_dir": "/app"
          -}
          -
          - -

          A container is a representation of a Docker container in a node.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          uuidA unique identifier for the container generated automatically on creation
          resource_uriA unique API endpoint that represents the container
          image_nameThe Docker image name and tag of the container
          bindingsA list of volume bindings that the container has mounted (see table Container Binding attributes below)
          nameA user provided name for the container (inherited from the service)
          nodeThe resource URI of the node where this container is running
          serviceThe resource URI of the service which this container is part of
          public_dnsThe external FQDN of the container
          stateThe state of the container (see table Container states below)
          synchronizedFlag indicating if the container is synchronized with the current service definition.
          exit_codeThe numeric exit code of the container (if applicable, null otherwise)
          exit_code_msgA string representation of the exit code of the container (if applicable, null otherwise)
          deployed_datetimeThe date and time of the last deployment of the container (if applicable, null otherwise)
          started_datetimeThe date and time of the last start operation on the container (if applicable, null otherwise)
          stopped_datetimeThe date and time of the last stop operation on the container (if applicable, null otherwise)
          destroyed_datetimeThe date and time of the terminate operation on the container (if applicable, null otherwise)
          container_portsList of published ports of this container (see table Container Port attributes below)
          container_envvarsList of user-defined environment variables set on the containers of the service, which will override the container environment variables (see table Container Environment Variable attributes below)
          labelsContainer metadata in form of dictionary
          working_dirWorking directory for running binaries within a container
          userUser used on the container on launch
          hostnameHostname used on the container on launch
          domainnameDomainname used on the container on launch
          mac_addressEthernet device’s MAC address used on the container on launch
          cgroup_nameOptional parent cgroup for the container.
          ttyIf the container has the tty enable
          stdin_openIf the container has stdin opened
          dnsContainer custom DNS servers
          dns_searchContainer custom DNS search domain
          cap_addContainer added capabilities
          cap_dropContainer dropped capabilities
          devicesList of container device mappings
          extra_hostsList of container hostname mappings
          secuirty_optLabeling scheme of this container
          entrypointEntrypoint used on the container on launch
          run_commandRun command used on the container on launch
          cpu_sharesThe relative CPU priority of the container (see Runtime Constraints on CPU and Memory for more information)
          cpusetCPUs in which execution is allowed
          memoryThe memory limit of the container in MB (see Runtime Constraints on CPU and Memory for more information)
          memory_swapTotal memory limit (memory + swap) of the container in MB
          autorestartWhether to restart the container automatically if it stops (see Crash recovery for more information)
          autodestroyWhether to terminate the container automatically if it stops (see Autodestroy for more information)
          rolesList of Docker Cloud roles asigned to this container (see API roles for more information))
          linked_to_containerList of IP addresses of the linked containers (see table Container Link attributes below and Service links for more information)
          link_variablesList of environment variables that would be exposed in any container that is linked to this one
          privilegedWhether the container has Docker’s privileged flag set or not (see Runtime privilege for more information)
          read_onlyWhether the container filesystem is read-only or not
          private_ipIP address of the container on the overlay network. This IP will be reachable from any other container.
          netNetwork mode set on the container (see table Network Modes below, more information)
          pidPID (Process) Namespace mode for the container (more information)
          - -

          Container Binding attributes

          - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          host_pathThe host path of the volume
          container_pathThe container path where the volume is mounted
          rewritabletrue is the volume has writable permissions
          volumeThe resource URI of the volume
          - -

          Container Port attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          protocolThe protocol of the port, either tcp or udp
          inner_portThe published port number inside the container
          outer_portThe published port number in the node public network interface
          port_nameName of the service associated to this port
          uri_protocolThe protocol to be used in the endpoint for this port (i.e. http)
          endpoint_uriThe URI of the endpoint for this port
          publishedWhether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.
          - -

          Container Environment Variable attributes

          - - - - - - - - - - - - - - - -
          AttributeDescription
          keyThe name of the environment variable
          valueThe value of the environment variable
          - -

          Container States

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          StateDescription
          StartingThe container is being deployed or started (from Stopped). No actions allowed in this state.
          RunningThe container is deployed and running. Possible actions in this state: stop, terminate.
          StoppingThe container is being stopped. No actions allowed in this state.
          StoppedThe container is stopped. Possible actions in this state: start, terminate.
          TerminatingThe container is being deleted. No actions allowed in this state.
          TerminatedThe container has been deleted. No actions allowed in this state.
          - -

          Network Modes

          - - - - - - - - - - - - - - - -
          StrategyDescription
          bridgeCreates a new network stack for the container on the docker bridge.
          hostUses the host network stack inside the container.
          - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          nameThe name given to the link
          from_containerThe resource URI of the “client” container
          to_containerThe resource URI of the “server” container being linked
          endpointsA dictionary with the endpoints (protocol, IP and port) to be used to reach each of the “server” container exposed ports
          - -

          List all containers

          -
          import dockercloud
          -
          -containers = dockercloud.Container.list()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -containerList, err := dockercloud.ListContainers()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(containerList)
          -
          -
          GET /api/app/v1/container/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud container ps
          -
          - -

          Lists all current and recently terminated containers. Returns a list of Container objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]container/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID
          stateFilter by state. Possible values: Starting, Running, Stopping, Stopped, Terminating, Terminated
          nameFilter by container name
          serviceFilter by resource URI of the target service.
          nodeFilter by resource URI of the target node.
          - -

          Get an existing container

          -
          import dockercloud
          -
          -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockerckoud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(container)
          -
          -
          GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud container inspect 7eaf7fff
          -
          - -

          Get all the details of an specific container

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]container/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container to retrieve
          - -

          Get the logs of a container

          - -
          -

          Example log line

          -
          -
          {
          -    "type": "log",
          -    "log": "Log line from the container",
          -    "streamType": "stdout",
          -    "timestamp": 1433779324
          -}
          -
          -
          import dockercloud
          -
          -def log_handler(message):
          -    print message
          -
          -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -container.logs(tail=300, follow=True, log_handler=log_handler)
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockercloud.GetContainer("447ecddc-2890-4ea2-849b-99392e0dd7a6")
          -
          -if err != nil {
          -    log.Fatal(err)
          -}
          -c := make(chan dockercloud.Logs)
          -
          -go container.Logs(c)
          -    for {
          -        s := <-c
          -        log.Println(s)
          -    }
          -
          -
          GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
          -Host: ws.cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Connection: Upgrade
          -Upgrade: websocket
          -
          -
          docker-cloud container logs 7eaf7fff
          -
          - -

          Get the logs of the specified container.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s STREAM API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]container/(uuid)/logs/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container to retrieve logs
          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          tailNumber of lines to show from the end of the logs (default: 300)
          followWhether to stream logs or close the connection immediately (default: true)
          serviceFilter by service (resource URI)
          - -

          Start a container

          -
          import dockercloud
          -
          -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -container.start()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -if err = container.Start(); err != nil {
          -  log.Println(err)
          -}
          -
          -
          POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud container start 7eaf7fff
          -
          - -

          Starts a stopped container.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]container/(uuid)/start/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container to start
          - -

          Stop a container

          -
          import dockercloud
          -
          -container = dockerlcoud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -container.stop()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -if err = container.Stop(); err != nil {
          -       log.Println(err)
          -   }
          -
          -
          POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud container stop 7eaf7fff
          -
          - -

          Stops a running container.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]container/(uuid)/stop/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container to stop
          - -

          Redeploy a container

          -
          import dockercloud
          -
          -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -container.redeploy()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true) to reuse the existing volumes
          -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
          -if err = container.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
          -  log.Println(err)
          -}
          -
          -
          POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud container redeploy 7eaf7fff
          -
          - -

          Redeploys a container.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]container/(uuid)/redeploy/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container to redeploy
          - -

          Query Parameters

          - - - - - - - - - - - -
          ParameterDescription
          reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
          - -

          Terminate a container

          -
          import dockercloud
          -
          -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -container.delete()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -if err = container.Terminate(); err != nil {
          -       log.Println(err)
          -   }
          -
          -
          DELETE /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud container terminate 7eaf7fff
          -
          - -

          Terminates the specified container. This is not reversible. All data stored in the container will be permanently deleted.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/app/v1/[optional_namespace/]container/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container to terminate
          - -

          Execute command inside a container

          -
          import dockercloud
          -
          -def msg_handler(message):
          -    print message
          -
          -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -container.execute("ls", handler=msg_handler)
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -c := make(chan dockercloud.Exec)
          -
          -container.Exec("ls", c)
          -
          -
          -
          GET /api/app/v1/container/(uuid)/exec/ HTTP/1.1
          -Host: ws.cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Connection: Upgrade
          -Upgrade: websocket
          -
          -
          docker-cloud exec 7eaf7fff ls
          -
          - -

          Executes a command inside the specified running container, creating a bi-directional stream for the process’ standard input and output. This endpoint can be connected to using a bi-directional Secure Web Socket wss://ws.cloud.docker.com/api/app/v1/container/(uuid)/exec/

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s STREAM API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]container/(uuid)/exec/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the container where the command will be executed
          - -

          Query Parameters

          - - - - - - - - - - - -
          ParameterDescription
          commandCommand to be executed (default: sh)
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/dockercloud-events.html b/apidocs/docker-cloud/includes/dockercloud-events.html deleted file mode 100644 index ef08ecbf802f..000000000000 --- a/apidocs/docker-cloud/includes/dockercloud-events.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Docker Cloud Events

          - -

          Docker Cloud Event

          - -
          -

          Example

          -
          -
          {
          -    "type": "action",
          -    "action": "update",
          -    "parents": [
          -        "/api/app/v1/user_namespace/container/0b0e3538-88df-4f07-9aed-3a3cc4175076/"
          -    ],
          -    "resource_uri": "/api/app/v1/user_namespace/action/49f0efe8-a704-4a10-b02f-f96344fabadd/",
          -    "state": "Success",
          -    "uuid": "093ba3bb-08dd-48f0-8f12-4d3b85ef85b3",
          -    "datetime": "2016-02-01T16:47:28Z"
          -}
          -
          - -

          Docker Cloud events are generated every time any of the following objects is created or changes state:

          - -
            -
          • Stack
          • -
          • Service
          • -
          • Container
          • -
          • Node Cluster
          • -
          • Node
          • -
          • Action
          • -
          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          typeType of object that was created or updated. For possible values, check the events types table below.
          actionType of action that was executed on the object. Posible values: create, update or delete
          parentsList of resource URIs (REST API) of the parents of the object, according to the “Parent-child hierarchy” table below
          resource_uriResource URI (REST API) of the object that was created or updated. You can do a GET operation on this URL to fetch its details
          stateThe current state of the object
          uuidUnique identifier for the event
          datetimeDate and time of the event in ISO 8601 format
          - -

          Event types

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          TypeDescription
          stackWhenever a Stack is created or updated
          serviceWhenever a Service is created or updated
          containerWhenever a Container is created or updated
          nodeclusterWhenever a Node Cluster is created or updated
          nodeWhenever a Node is created or updated
          actionWhenever a Action is created or updated
          errorSent when an error occurs on the websocket connection or as part of the authentication process
          - -

          Parent-child hierarchy

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          Object typeParent types
          Stack(None)
          ServiceStack
          ContainerService, Stack, Node, Node Cluster
          Node Cluster(None)
          NodeNode Cluster
          Action(object to which the action applies to)
          - -

          Listen to new Docker Cloud Events

          -
          import dockercloud
          -
          -def process_event(event):
          -    print event
          -
          -events = dockercloud.Events()
          -events.on_message(process_event)
          -events.run_forever()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -// Listens for container events only
          -myFilter := dockercloud.NewStreamFilter(&dockercloud.EventFilter{Type: "container"})
          -
          -stream := dockercloud.NewStream(myFilter)
          -
          -if err := stream.Connect(); err == nil {
          -    go stream.RunForever()
          -} else {
          -    log.Print("Connect err: " + err.Error())
          -}
          -
          -for {
          -    select {
          -    case event := <-stream.MessageChan:
          -        log.Println(event)
          -    case err := <-stream.ErrorChan:
          -        log.Println(err)
          -    }
          -}
          -
          -
          GET /api/audit/v1/events/ HTTP/1.1
          -Host: ws.cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Connection: Upgrade
          -Upgrade: websocket
          -
          -
          docker-cloud event
          -
          - -

          Listens for new Docker Cloud Events

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s STREAM API

          - -

          HTTP Request

          - -

          GET /api/audit/v1/[optional_namespace/]events/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          typeFilter by type
          objectFilter by object resource URI
          parentFilter by object parents
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/node.html b/apidocs/docker-cloud/includes/node.html deleted file mode 100644 index 6fa50cf13528..000000000000 --- a/apidocs/docker-cloud/includes/node.html +++ /dev/null @@ -1,531 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Nodes

          - -

          Node

          - -
          -

          Example

          -
          -
          {
          -    "availability_zone": "/api/infra/v1/az/testing-provider/testing-region/testing-az/",
          -    "cpu": 1,
          -    "current_num_containers": 4,
          -    "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000",
          -    "destroyed_datetime": null,
          -    "disk": 60,
          -    "docker_execdriver": "native-0.2",
          -    "docker_graphdriver": "aufs",
          -    "docker_version": "1.5.0",
          -    "external_fqdn": "fc1a5bb9-user.node.dockerapp.io",
          -    "last_seen": "Thu, 25 Sep 2014 13:14:44 +0000",
          -    "memory": 1792,
          -    "nickname": "fc1a5bb9-user.node.dockerapp.io",
          -    "node_cluster": "/api/infra/v1/user_namespace/nodecluster/d787a4b7-d525-4061-97a0-f423e8f1d229/",
          -    "node_type": "/api/infra/v1/user_namespace/nodetype/testing-provider/testing-type/",
          -    "public_ip": "10.45.2.11",
          -    "region": "/api/infra/v1/region/testing-provider/testing-region/",
          -    "resource_uri": "/api/infra/v1/user_namespace/node/fc1a5bb9-17f5-4819-b667-8c7cd819e949/",
          -    "state": "Deployed",
          -    "tags": [
          -        {"name": "tag_one"},
          -        {"name": "tag-two"}
          -    ],
          -    "tunnel": "https://tunnel01.cloud.docker.com:12345",
          -    "uuid": "fc1a5bb9-17f5-4819-b667-8c7cd819e949"
          -}
          -
          - -

          A node is a virtual machine provided by a cloud provider where containers can be deployed.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          availability_zoneThe resource URI of the availability zone where the node is deployed, if any
          uuidA unique identifier for the node generated automatically on creation
          resource_uriA unique API endpoint that represents the node
          external_fqdnAn automatically generated FQDN for the node. Containers deployed on this node will inherit this FQDN.
          stateThe state of the node. See the below table for a list of possible states.
          node_clusterThe resource URI of the node cluster to which this node belongs to (if applicable)
          node_typeThe resource URI of the node type used for the node
          regionThe resource URI of the region where the node is deployed
          docker_execdriverDocker’s execution driver used in the node
          docker_graphdriverDocker’s storage driver used in the node
          docker_versionDocker’s version used in the node
          cpuNode number of CPUs
          diskNode storage size in GB
          memoryNode memory in MB
          current_num_containersThe actual number of containers deployed in this node
          last_seenDate and time of the last time the node was contacted by Docker Cloud
          public_ipThe public IP allocated to the node
          tunnelIf the node does not accept incoming connections to port 2375, the address of the reverse tunnel to access the docker daemon, or null otherwise
          deployed_datetimeThe date and time when this node cluster was deployed
          destroyed_datetimeThe date and time when this node cluster was terminated (if applicable)
          tagsList of tags to identify the node when deploying services (see Tags for more information)
          nicknameA user-friendly name for the node (external_fqdn by default)
          - -

          Node states

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          StateDescription
          DeployingThe node is being deployed in the cloud provider. No actions allowed in this state.
          DeployedThe node is deployed and provisioned and is ready to deploy containers. Possible actions in this state: terminate, docker-upgrade.
          UnreachableThe node is deployed but Docker Cloud cannot connect to the docker daemon. Possible actions in this state: health-check and terminate.
          UpgradingThe node docker daemon is being upgraded. No actions allowed in this state.
          TerminatingThe node is being terminated in the cloud provider. No actions allowed in this state.
          TerminatedThe node has been terminated and is no longer present in the cloud provider. No actions allowed in this state.
          - -

          List all nodes

          -
          import dockercloud
          -
          -nodes = dockercloud.Node.list()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodeList, err := dockercloud.ListNodes()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(nodeList)
          -
          -
          GET /api/infra/v1/node/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud node ls
          -
          - -

          Lists all current and recently terminated nodes. Returns a list of Node objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/[optional_namespace/]node/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID
          stateFilter by state. Possible values: Deploying, Deployed, Unreachable, Upgrading, Terminating, Terminated
          node_clusterFilter by resource URI of the target node cluster
          node_typeFilter by resource URI of the target node type
          regionFilter by resource URI of the target region
          docker_versionFilter by Docker engine version running in the nodes
          - -

          Get an existing node

          -
          import dockercloud
          -
          -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(node)
          -
          -
          GET /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud node inspect 7eaf7fff
          -
          - -

          Get all the details of an specific node

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/[optional_namespace/]node/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node to retrieve
          - -

          Update a node

          -
          import dockercloud
          -
          -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -node.tags.add(["tag-1"])
          -node.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -if err = node.Update(dockercloud.Node{Tags: []string{{Name: "tag-1"}}}); err != nil {
          -            log.Println(err)
          -}
          -
          -
          PATCH /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -{"tags": [{"name": "tag-1"}], "nickname": "dev node"}
          -
          -
          docker-cloud tag add -t tag-1 7eaf7fff
          -docker-cloud tag set -t tag-2 7eaf7fff
          -
          - -

          Names the node with a user-friendly name and/or replaces the old tags for the new list provided.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          PATCH /api/infra/v1/[optional_namespace/]node/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node to retrieve
          - -

          JSON Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nickname(optional) A user-friendly name for the node (external_fqdn by default)
          tags(optional) List of tags the node will have. This operation replaces the user tag list.
          - -

          Upgrade Docker Daemon

          -
          import dockercloud
          -
          -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -node.upgrade_docker()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = node.Upgrade(); err != nil {
          -       log.Println(err)
          -   }
          -
          -
          POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/docker-upgrade/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud node upgrade 7eaf7fff
          -
          - -

          Upgrades the docker daemon of the node. This will restart your containers on that node. See Docker upgrade for more information.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/infra/v1/[optional_namespace/]node/(uuid)/docker-upgrade/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node to upgrade
          - -

          Perform a health check of a node

          -
          POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/health-check/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Tests connectivity between Docker Cloud and the node. Updates the node status to Deployed if the check was successful, or to Unreachable otherwise.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/infra/v1/[optional_namespace/]node/(uuid)/health-check/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node to perform the health check to
          - -

          Terminate a node

          -
          import dockercloud
          -
          -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -node.delete()
          -
          -
          DELETE /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = node.Terminate(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          docker-cloud node rm 7eaf7fff
          -
          - -

          Terminates the specified node.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/infra/v1/[optional_namespace/]node/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node to terminate
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/nodecluster.html b/apidocs/docker-cloud/includes/nodecluster.html deleted file mode 100644 index 0be9899695ee..000000000000 --- a/apidocs/docker-cloud/includes/nodecluster.html +++ /dev/null @@ -1,582 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Node Clusters

          - -

          Node Cluster

          - -
          -

          Example

          -
          -
          {
          -    "current_num_nodes": 1,
          -    "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000",
          -    "destroyed_datetime": null,
          -    "disk": 60,
          -    "nickname": "my test cluster",
          -    "name": "TestCluster",
          -    "node_type": "/api/infra/v1/nodetype/aws/t2.micro/",
          -    "nodes": [
          -        "/api/infra/v1/user_namespace/node/75d20367-0948-4f10-8ba4-ffb4d16ed3c6/"
          -    ],
          -    "region": "/api/infra/v1/region/aws/us-east-1/",
          -    "resource_uri": "/api/infra/v1/user_namespace/nodecluster/5516df0b-721e-4470-b350-741ff22e63a0/",
          -    "state": "Deployed",
          -    "tags": [
          -        {"name": "tag_one"},
          -        {"name": "tag-two"},
          -        {"name": "tagthree3"}
          -    ],
          -    "target_num_nodes": 2,
          -    "uuid": "5516df0b-721e-4470-b350-741ff22e63a0",
          -    "provider_options": {
          -        "vpc": {
          -            "id": "vpc-aa1c70d4",
          -            "subnets": ["subnet-aaa7d94f", "subnet-aa15fa64"],
          -            "security_groups": ["sg-aa1c70d4"]
          -        },
          -        "iam": {
          -            "instance_profile_name": "my_instance_profile"
          -        }
          -    }
          -}
          -
          - -

          A node cluster is a group of nodes that share the same provider, region and/or availability zone, and node type. They are on the same private network.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          uuidA unique identifier for the node cluster generated automatically on creation
          resource_uriA unique API endpoint that represents the node cluster
          nameA user provided name for the node cluster
          stateThe state of the node cluster. See the below table for a list of possible states.
          node_typeThe resource URI of the node type used for the node cluster
          diskThe size of the disk where images and containers are stored (in GB)
          nodesA list of resource URIs of the Node objects on the node cluster
          regionThe resource URI of the Region object where the node cluster is deployed
          target_num_nodesThe desired number of nodes for the node cluster
          current_num_nodesThe actual number of nodes in the node cluster. This may differ from target_num_nodes if the node cluster is being deployed or scaled
          deployed_datetimeThe date and time when this node cluster was deployed
          destroyed_datetimeThe date and time when this node cluster was terminated (if applicable)
          tagsList of tags to identify the node cluster nodes when deploying services (see Tags for more information)
          provider_optionsProvider-specific extra options for the deployment of the node (see Provider options table below for more information)
          nicknameA user-friendly name for the node cluster (name by default)
          - -

          Node Cluster states

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          StateDescription
          InitThe node cluster has been created and has no deployed containers yet. Possible actions in this state: deploy, terminate.
          DeployingAll nodes in the cluster are either deployed or being deployed. No actions allowed in this state.
          DeployedAll nodes in the cluster are deployed and provisioned. Possible actions in this state: terminate.
          Partly deployedOne or more nodes of the cluster are deployed and running. Possible actions in this state: terminate.
          ScalingThe cluster is either deploying new nodes or terminating existing ones responding to a scaling request. No actions allowed in this state.
          TerminatingAll nodes in the cluster are either being terminated or already terminated. No actions allowed in this state.
          TerminatedThe node cluster and all its nodes have been terminated. No actions allowed in this state.
          Empty clusterThere are no nodes deployed in this cluster. Possible actions in this state: terminate.
          - -

          Provider options

          - -

          You can specify the following options when using the Amazon Web Services provider:

          - -
            -
          • vpc: VPC-related options (optional) - -
              -
            • id: AWS VPC identifier of the target VPC where the nodes of the cluster will be deployed (required)
            • -
            • subnets: a list of target subnet indentifiers inside selected VPC. If you specify more than one subnet, Docker Cloud will balance among all of them following a high-availability schema (optional)
            • -
            • security_groups: the security group that will be applied to every node of the cluster (optional)
            • -
          • -
          • iam: IAM-related options (optional) - -
              -
            • instance_profile_name: name of the instance profile (container for instance an IAM role) to attach to every node of the cluster (required)
            • -
          • -
          - -

          List all node clusters

          -
          import dockercloud
          -
          -nodeclusters = dockercloud.NodeCluster.list()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodeclusters, err := dockercloud.ListNodeClusters()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(nodeclusters)
          -
          -
          GET /api/infra/v1/nodecluster/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud nodecluster ls
          -
          - -

          Lists all current and recently terminated node clusters. Returns a list of NodeCluster objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/[optional_namespace/]nodecluster/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID
          stateFilter by state. Possible values: Init, Deploying, Deployed, Partly deployed, Scaling, Terminating, Terminated, Empty cluster
          nameFilter by node cluster name
          regionFilter by resource URI of the target region
          node_typeFilter by resource URI of the target node type
          - -

          Create a new node cluster

          -
          import dockercloud
          -
          -region = dockercloud.Region.fetch("digitalocean/lon1")
          -node_type = dockercloud.NodeType.fetch("digitalocean/1gb")
          -nodecluster = dockercloud.NodeCluster.create(name="my_cluster", node_type=node_type, region=region, disk=60)
          -nodecluster.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodecluster, err := dockercloud.CreateNodeCluster(dockercloud.NodeCreateRequest{Name: "my_cluster", Region: "/api/infra/v1/region/digitalocean/lon1/", NodeType: "/api/infra/v1/nodetype/digitalocean/1gb/", Target_num_nodes: 2})
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(nodecluster)
          -
          -
          POST /api/infra/v1/nodecluster/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"name": "my_cluster", "region": "/api/infra/v1/region/digitalocean/lon1/", "node_type": "/api/infra/v1/nodetype/digitalocean/1gb/", "disk": 60}
          -
          -
          docker-cloud nodecluster create my_cluster digitalocean lon1 1gb
          -
          - -

          Creates a new node cluster without deploying it.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/infra/v1/[optional_namespace/]nodecluster/

          - -

          JSON Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          name(required) A user provided name for the node cluster
          node_type(required) The resource URI of the node type to be used for the node cluster
          region(required) The resource URI of the region where the node cluster is to be deployed
          disk(optional) The size of the volume to create where images and containers will be stored, in GB (default: 60). Not available for Digital Ocean. To create Softlayer nodes you must select one of the following sizes (in GBs): 10, 20, 25, 30, 40, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 500, 750, 1000, 1500 or 2000
          nickname(optional) A user-friendly name for the node cluster (name by default)
          target_num_nodes(optional) The desired number of nodes for the node cluster (default: 1)
          tags(optional) List of tags of the node cluster to be used when deploying services see Tags for more information) (default: [])
          provider_optionsProvider-specific extra options for the deployment of the node (see table Provider options above for more information)
          - -

          Get an existing node cluster

          -
          import dockercloud
          -
          -service = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(nodecluster)
          -
          -
          GET /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud nodecluster inspect 7eaf7fff
          -
          - -

          Get all the details of an specific node cluster

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node cluster to retrieve
          - -

          Deploy a node cluster

          -
          import dockercloud
          -
          -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -nodecluster.deploy()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = nodecluster.Deploy(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/deploy/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Deploys and provisions a recently created node cluster in the specified region and cloud provider.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/deploy/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node cluster to deploy
          - -

          Update an existing node cluster

          -
          import dockercloud
          -
          -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -nodecluster.target_num_nodes = 3
          -nodecluster.tags.add("tag-1")
          -nodecluster.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = nodecluster.Update(dockercloud.NodeCreateRequest{Target_num_nodes: 4}); err != nil {
          -   log.Println(err)
          -}
          -
          -
          PATCH /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"target_num_nodes": 3, "tags": [{"name": "tag-1"}]}
          -
          -
          docker-cloud nodecluster scale 7eaf7fff 3
          -docker-cloud tag add -t tag-1 7eaf7fff
          -docker-cloud tag set -t tag-2 7eaf7fff
          -
          - -

          Updates the node cluster details and applies the changes automatically.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          PATCH /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node cluster to update
          - -

          JSON Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          target_num_nodes(optional) The number of nodes to scale this node cluster to
          tags(optional) List of tags the node cluster (and nodes within the node cluster) will have. This operation replaces the user tag list.
          - -

          Terminate a node cluster

          -
          import dockercloud
          -
          -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -nodecluster.delete()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = nodecluster.Terminate(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          DELETE /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          dockercloud nodecluster rm 7eaf7fff
          -
          - -

          Terminates all the nodes in a node cluster and the node cluster itself. This is not reversible.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the node cluster to terminate
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/nodetype.html b/apidocs/docker-cloud/includes/nodetype.html deleted file mode 100644 index cf4262944a7e..000000000000 --- a/apidocs/docker-cloud/includes/nodetype.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - 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

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          resource_uriA unique API endpoint that represents the node type
          nameAn identifier for the node type
          labelA user-friendly name for the node type
          regionsA list of resource URIs of the regions to which this node type can be deployed to
          availability_zonesA list of resource URIs of the availability zones to which this node type can be deployed to
          providerThe resource URI of the provider of the node type
          availableWhether 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

          - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          nameFilter by node type name
          regionsFilter by resource URI of the target regions
          availability_zonesFilter 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

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the node type to retrieve
          provider.nameThe name of the provider of the node type
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/provider.html b/apidocs/docker-cloud/includes/provider.html deleted file mode 100644 index 7b4368095e05..000000000000 --- a/apidocs/docker-cloud/includes/provider.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Providers

          - -

          Provider

          - -
          -

          Example

          -
          -
          {
          -    "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

          - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          resource_uriA unique API endpoint that represents the provider
          nameA unique identifier for the provider
          labelA user-friendly name for the provider
          regionsA list of resource URIs of the regions available in this provider
          availableWhether the provider is currently available for new node deployments
          - -

          List all providers

          -
          import dockercloud
          -
          -providers = dockercloud.Provider.list()
          -
          -
          GET /api/infra/v1/provider/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -providerList, err := dockercloud.ListProviders()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(providerList)
          -
          -
          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

          - - - - - - - - - - - -
          ParameterDescription
          nameFilter by provider name
          - -

          Get an individual provider

          -
          import dockercloud
          -
          -provider = dockercloud.Provider.fetch("digitalocean")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -provider, err := dockercloud.GetProvider("digitalocean")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(provider)
          -
          -
          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

          - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the provider to retrieve
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/region.html b/apidocs/docker-cloud/includes/region.html deleted file mode 100644 index b44659201d4d..000000000000 --- a/apidocs/docker-cloud/includes/region.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Regions

          - -

          Region

          - -
          -

          Example

          -
          -
          {
          -    "availability_zones": [],
          -    "available": true,
          -    "label": "Amsterdam 2",
          -    "name": "ams2",
          -    "node_types": [
          -        "/api/infra/v1/nodetype/digitalocean/1gb/",
          -        "/api/infra/v1/nodetype/digitalocean/2gb/",
          -        "/api/infra/v1/nodetype/digitalocean/4gb/",
          -        "/api/infra/v1/nodetype/digitalocean/8gb/",
          -        "/api/infra/v1/nodetype/digitalocean/16gb/",
          -        "/api/infra/v1/nodetype/digitalocean/32gb/",
          -        "/api/infra/v1/nodetype/digitalocean/48gb/",
          -        "/api/infra/v1/nodetype/digitalocean/64gb/"
          -    ],
          -    "provider": "/api/infra/v1/provider/digitalocean/",
          -    "resource_uri": "/api/infra/v1/region/digitalocean/ams2/"
          -}
          -
          - -

          A region is a representation of an entire or a subset of a data center of a cloud provider. It can contain availability zones (depending on the provider) and one or more node types.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          resource_uriA unique API endpoint that represents the region
          nameAn identifier for the region
          labelA user-friendly name for the region
          node_typesA list of resource URIs of the node types available in the region
          availability_zonesA list of resource URIs of the availability zones available in the region
          providerThe resource URI of the provider of the region
          availableWhether the region is currently available for new node deployments
          - -

          List all regions

          -
          import dockercloud
          -
          -regions = dockercloud.Region.list()
          -
          -
          GET /api/infra/v1/region/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -regionList, err := dockercloud.ListRegions()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(regionList)
          -
          -
          docker-cloud nodecluster region
          -
          - -

          Lists all regions of all supported cloud providers. Returns a list of Region objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/region/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nameFilter by region name
          providerFilter by resource URI of the target provider
          - -

          Get an individual region

          -
          import dockercloud
          -
          -region = dockercloud.Region.fetch("digitalocean/lon1")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -region, err := dockercloud.GetRegion("digitalocean","lon1")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(region)
          -
          -
          GET /api/infra/v1/region/digitalocean/lon1/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Get all the details of a specific region

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

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

          - -

          Path Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the region to retrieve
          provider.nameThe name of the provider of the region
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/registry.html b/apidocs/docker-cloud/includes/registry.html deleted file mode 100644 index 034f780021d0..000000000000 --- a/apidocs/docker-cloud/includes/registry.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Registries

          - -

          Registry

          - -
          -

          Example

          -
          -
          {
          -  "host": "registry-1.docker.io",
          -  "is_docker_registry": true,
          -  "is_ssl": true,
          -  "name": "Docker Hub",
          -  "port": 443,
          -  "resource_uri": "/api/repo/v1/user_namespace/registry/registry-1.docker.io/"
          -}
          -
          - -

          Represents a registry where repositories are hosted.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          resource_uriA unique API endpoint that represents the registry
          nameHuman-readable name of the registry
          hostFQDN of the registry, i.e. registry-1.docker.io
          is_docker_registryWhether this registry is run by Docker
          is_sslWhether this registry has SSL activated or not
          portThe port number where the registry is listening to
          - -

          List all registries

          -
          GET /api/repo/v1/registry/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Lists all current registries. Returns a list of Registry objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/repo/v1/[optional_namespace/]registry/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID
          nameFilter by registry name
          hostFilter by registry host
          is_docker_registryFilter by whether the registry is run by Docker or not. Possible values: ‘true’ or 'false’
          - -

          Get an existing registry

          -
          GET /api/repo/v1/registry/registry-1.docker.io/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Gets all the details of an specific registry

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/v1/[optional_namespace/]registry/(host)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          hostThe host of the registry to retrieve
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/repository.html b/apidocs/docker-cloud/includes/repository.html deleted file mode 100644 index d4af17c206cb..000000000000 --- a/apidocs/docker-cloud/includes/repository.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          External Repositories

          - -

          External Repository

          - -
          -

          Example

          -
          -
          {
          -  "in_use": false,
          -  "name": "my.registry.com/myrepo",
          -  "registry": "/api/repo/v1/user_namespace/registry/my.registry.com/",
          -  "resource_uri": "/api/repo/v1/user_namespace/repository/my.registry.com/myrepo/",
          -}
          -
          - -

          The repository endpoint is used to add and remove existing repositories on third party registries to be used in deployments and builds.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          resource_uriA unique API endpoint that represents the repository
          nameName of the repository, i.e. my.registry.com/myrepo
          in_useIf the image is being used by any of your services
          registryResource URI of the registry where this image is hosted
          - -

          List all external repositories

          -
          import dockercloud
          -
          -repositories = dockercloud.Repository.list()
          -
          -
          GET /api/repo/v1/repository/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -repositoriesList, err := dockercloud.ListRepositories()
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -log.Pringln(repositoriesList)
          -
          -
          docker-cloud repository ls
          -
          - -

          Lists all added repositories from third party registries. Returns a list of Repository objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/repo/v1/[optional_namespace/]repository/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nameFilter by image name
          registryFilter by resource URI of the target repository registry
          - -

          Add a new external repository

          -
          import dockercloud
          -
          -repository = dockercloud.Repository.create(name="registry.local/user1/image1", username=username, password=password)
          -repository.save()
          -
          -
          POST /api/repo/v1/repository/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"name": "registry.local/user1/image1", "username": "username", "password": "password"}
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -image, err := dockercloud.CreateImage(dockercloud.ImageCreateRequest{
          -  Name: "registry.local/user1/image1",
          -  Username: "username",
          -  Password: "password"
          -})
          -
          -
          docker-cloud repository register -u username -p password registry.local/user1/image1
          -
          - -

          Adds an existing repository on a third party registry.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/repo/v1/[optional_namespace/]repository/

          - -

          JSON Parameters

          - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          nameName of the repository, i.e. ‘my.registry.com/myrepo’
          usernameUsername to authenticate with the third party registry
          passwordPassword to authenticate with the third party registry
          - -

          Get an external repository details

          -
          import dockercloud
          -
          -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
          -
          -
          GET /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -repository, err = dockercloud.GetRepository("registry.local/user1/image1")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -log.Println(repository)
          -
          -
          docker-cloud repository inspect registry.local/user1/image1
          -
          - -

          Gets all the details of an specific repository

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/repo/v1/[optional_namespace/]repository/(name)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the repository to retrieve
          - -

          Update credentials of an external repository

          -
          import dockercloud
          -
          -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
          -repository.username = "new username"
          -repository.password = "new password"
          -repository.save()
          -
          -
          PATCH /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"username": "username", "password": "password"}
          -
          -
          docker-cloud repository update -n "new username" -p "new password" registry.local/user1/image1
          -
          - -

          Updates the external repository credentials.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          PATCH /api/repo/v1/[optional_namespace/]repository/(name)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the repository to update
          - -

          JSON Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          usernameUsername to authenticate with the private registry
          passwordPassword to authenticate with the private registry
          - -

          Remove an external repository

          -
          import dockercloud
          -
          -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
          -repository.delete()
          -
          -
          DELETE /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -repository, err = dockercloud.GetRepository("registry.local/user1/image1")
          -
          -if err != nil {
          -    log.Println(err)
          -}
          -
          -repository.Remove()
          -
          -
          docker-cloud repository rm registry.local/user1/image1
          -
          - -

          Removes the external repository from Docker Cloud. It won’t remove the repository from the third party registry where it’s stored.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/repo/v1/[optional_namespace/]repository/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          nameThe name of the external repository to remove
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/service.html b/apidocs/docker-cloud/includes/service.html deleted file mode 100644 index e6c0007ce7b5..000000000000 --- a/apidocs/docker-cloud/includes/service.html +++ /dev/null @@ -1,1472 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Services

          - -

          Service

          - -
          -

          Example

          -
          -
          {
          -  "autodestroy": "OFF",
          -  "autoredeploy": false,
          -  "autorestart": "ON_FAILURE",
          -  "bindings": [
          -    {
          -        "host_path": null,
          -        "container_path": "/tmp",
          -        "rewritable": true,
          -        "volumes_from": null
          -    },
          -    {
          -        "host_path": "/etc",
          -        "container_path": "/etc",
          -        "rewritable": true,
          -        "volumes_from": null
          -    },
          -    {
          -        "host_path": null,
          -        "container_path": null,
          -        "rewritable": true,
          -        "volumes_from": "/api/app/v1/user_namespace/service/2f4f54e5-9d3b-4ac1-85ad-a2d4ff25a179/"
          -    }
          -  ],
          -  "cap_add": [
          -    "ALL"
          -  ],
          -  "cap_drop": [
          -    "NET_ADMIN",
          -    "SYS_ADMIN"
          -  ],
          -  "container_envvars": [
          -    {
          -      "key": "DB_PASS",
          -      "value": "test"
          -    }
          -  ],
          -  "container_ports": [
          -    {
          -      "endpoint_uri": "http://wordpress-stackable.admin.srv.dockerapp.io:80/",
          -      "inner_port": 80,
          -      "outer_port": 80,
          -      "port_name": "http",
          -      "protocol": "tcp",
          -      "published": true
          -    }
          -  ],
          -  "containers": [
          -    "/api/app/v1/user_namespace/container/6f8ee454-9dc3-4387-80c3-57aac1be3cc6/",
          -    "/api/app/v1/user_namespace/container/fdf9c116-7c08-4a60-b0ce-c54ca72c2f25/"
          -  ],
          -  "cpu_shares": 100,
          -  "cpuset": "0,1",
          -  "cgroup_parent": "m-executor-abcd",
          -  "current_num_containers": 2,
          -  "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
          -  "deployment_strategy": "EMPTIEST_NODE",
          -  "destroyed_datetime": null,
          -  "devices": [
          -    "/dev/ttyUSB0:/dev/ttyUSB0"
          -  ],
          -  "dns": [
          -    "8.8.8.8"
          -  ],
          -  "dns_search": [
          -    "example.com"
          -  ],
          -  "domainname": "domainname",
          -  "entrypoint": "",
          -  "extra_hosts": [
          -    "onehost:50.31.209.229"
          -  ],
          -  "hostname": "hostname",
          -  "image_name": "tutum/wordpress-stackable:latest",
          -  "nickname": "wordpress-stackable",
          -  "labels": {
          -    "com.example.description": "Accounting webapp",
          -    "com.example.department": "Finance",
          -    "com.example.label-with-empty-value": ""
          -  },
          -  "link_variables": {
          -    "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**",
          -    "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress",
          -    "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I",
          -    "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**",
          -    "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin",
          -    "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive",
          -    "WORDPRESS_STACKABLE_1_ENV_HOME": "/",
          -    "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          -    "WORDPRESS_STACKABLE_1_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
          -    "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
          -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io",
          -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "49153",
          -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp",
          -    "WORDPRESS_STACKABLE_2_ENV_DB_HOST": "**LinkMe**",
          -    "WORDPRESS_STACKABLE_2_ENV_DB_NAME": "wordpress",
          -    "WORDPRESS_STACKABLE_2_ENV_DB_PASS": "szVaPz925B7I",
          -    "WORDPRESS_STACKABLE_2_ENV_DB_PORT": "**LinkMe**",
          -    "WORDPRESS_STACKABLE_2_ENV_DB_USER": "admin",
          -    "WORDPRESS_STACKABLE_2_ENV_DEBIAN_FRONTEND": "noninteractive",
          -    "WORDPRESS_STACKABLE_2_ENV_HOME": "/",
          -    "WORDPRESS_STACKABLE_2_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          -    "WORDPRESS_STACKABLE_2_PORT": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154",
          -    "WORDPRESS_STACKABLE_2_PORT_80_TCP": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154",
          -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_ADDR": "wordpress-stackable-2.admin.cont.dockerapp.io",
          -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_PORT": "49154",
          -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_PROTO": "tcp",
          -    "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**",
          -    "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress",
          -    "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I",
          -    "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**",
          -    "WORDPRESS_STACKABLE_ENV_DB_USER": "admin",
          -    "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive",
          -    "WORDPRESS_STACKABLE_ENV_HOME": "/",
          -    "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
          -    "WORDPRESS_STACKABLE_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
          -    "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
          -    "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io",
          -    "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "49153",
          -    "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp",
          -    "WORDPRESS_STACKABLE_DOCKERCLOUD_API_URL": "https://cloud.docker.com/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/"
          -  },
          -  "linked_from_service": [],
          -  "linked_to_service": [
          -    {
          -      "from_service": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/",
          -      "name": "DB",
          -      "to_service": "/api/app/v1/user_namespace/service/72f175bd-390b-46e3-9463-830aca32ce3e/"
          -    }
          -  ],
          -  "mac_address": "02:42:ac:11:65:43",
          -  "memory": 2048,
          -  "memory_swap": 8192,
          -  "name": "wordpress-stackable",
          -  "net": "bridge",
          -  "privileged": false,
          -  "public_dns": "wordpress-stackable.admin.svc.dockerapp.io",
          -  "read_only": true,
          -  "resource_uri": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/",
          -  "roles": ["global"],
          -  "run_command": "/run-wordpress.sh",
          -  "running_num_containers": 1,
          -  "security_opt": [
          -  ],
          -  "sequential_deployment": false,
          -  "started_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
          -  "state": "Partly running",
          -  "stack": "/api/app/v1/user_namespace/stack/46aca402-2109-4a70-a378-760cfed43816/",
          -  "stdin_open": false,
          -  "stopped_datetime": null,
          -  "stopped_num_containers": 0,
          -  "synchronized": true,
          -  "tags": [
          -        {"name": "tag_one"},
          -        {"name": "tag-two"},
          -        {"name": "tagthree3"}
          -  ],
          -  "target_num_containers": 2,
          -  "tty": false,
          -  "user": "root",
          -  "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b",
          -  "working_dir": "/app"
          -}
          -
          - -

          A service is a template used to deploy one or more containers.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          uuidA unique identifier for the service generated automatically on creation
          resource_uriA unique API endpoint that represents the service
          image_nameThe Docker image name and tag used for the service containers
          nameA user provided name for the service. This name will be inherited by the service containers and will be used in endpoint URLs, environment variable names, etc.
          public_dnsAn external FQDN that resolves to all IPs of the nodes where the service containers are running on (as an A record with multiple IP entries which will be used by clients in a round-robin fashion). If the service is not publishing any ports, this FQDN will fail to resolve.
          stateThe state of the service (see table Service states below)
          netNetwork mode to set on the containers (see table Network Modes below, more information /docker-cloud/apps/service-links/)
          pidSet the PID (Process) Namespace mode for the containers (more information)
          synchronizedFlag indicating if the current service definition is synchronized with the current containers.
          deployed_datetimeThe date and time of the last deployment of the service (if applicable, null otherwise)
          started_datetimeThe date and time of the last start operation on the service (if applicable, null otherwise)
          stopped_datetimeThe date and time of the last stop operation on the service (if applicable, null otherwise)
          destroyed_datetimeThe date and time of the terminate operation on the service (if applicable, null otherwise)
          target_num_containersThe requested number of containers to deploy for the service
          current_num_containersThe actual number of containers deployed for the service
          running_num_containersThe actual number of containers deployed for the service in Running state
          stopped_num_containersThe actual number of containers deployed for the service in Stopped state
          stackResource URIs of the stack that the service belongs to
          containersList of resource URIs of the containers launched as part of the service
          container_portsList of ports to be published on the containers of this service (see table Service Port attributes below)
          container_envvarsList of user-defined environment variables to set on the containers of the service, which will override the image environment variables (see table Service Environment Variable attributes below)
          labelsMetadata in form of dictionary used for every container of this service
          working_dirWorking directory for running binaries within a container of this service
          userSet the user used on containers of this service (root by default)
          hostnameSet the hostname used on containers of this service
          domainnameSet the domainname used on containers of this service
          mac_addressEthernet device’s MAC address used on containers of this service
          cgroup_nameOptional parent cgroup used on containers of this service.
          ttyIf the containers of this service have the tty enable (false by default)
          stdin_openIf the containers of this service have stdin opened (false by default)
          dnsCustom DNS servers for containers of this service
          dns_searchCustom DNS search domain for containers of this service
          cap_addAdded capabilities for containers of this service
          cap_dropDropped capabilities for containers of this service
          devicesList of device mappings for containers of this service
          extra_hostsList of hostname mappings for containers of this service
          secuirty_optLabeling scheme for containers of this service
          entrypointEntrypoint to be set on the containers launched as part of the service, which will override the image entrypoint
          run_commandRun command to be set on the containers launched as part of the service, which will override the image run command
          sequential_deploymentWhether the containers for this service should be deployed in sequence, linking each of them to the previous containers (see Service scaling for more information)
          cpu_sharesThe relative CPU priority of the containers of the service (see Runtime Constraints on CPU and Memory for more information)
          cpusetCPUs in which to allow execution
          memoryThe memory limit of the containers of the service in MB (see Runtime Constraints on CPU and Memory for more information)
          memory_swapTotal memory limit (memory + swap) of the containers of the service in MB
          linked_from_serviceA list of services that are linked to this one (see table Related services attributes below)
          linked_to_serviceA list of services that the service is linked to (see table Related services attributes below)
          bindingsA list of volume bindings that the service has mounted (see table Service binding attributes below)
          autorestartWhether to restart the containers of the service automatically if they stop (see Crash recovery for more information)
          autodestroyWhether to terminate the containers of the service automatically if they stop (see Autodestroy for more information)
          rolesList of Docker Cloud roles assigned to this service (see Service links for more information)
          link_variablesList of environment variables that would be exposed in the containers if they are linked to this service
          privilegedWhether to start the containers with Docker’s privileged flag set or not, which allows containers to access all devices on the host among other things (see Runtime privilege for more information)
          read_onlyWhether the filesystem of every service container is read-only or not (false by default)
          deployment_strategyContainer distribution among nodes (see table Deployment strategies below and Deployment strategies for more information)
          tagsList of tags to be used to deploy the service (see Tags for more information)
          autoredeployWhether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see Docker Cloud’s private registry for more information)
          nicknameA user-friendly name for the service (name by default)
          - -

          Service binding attributes

          - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          host_pathThe host path of the volume
          container_pathThe container path where the volume is mounted
          rewritabletrue is the volume has writable permissions
          volumes_fromThe resource URI of the service
          - -

          Service Port attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          protocolThe protocol of the port, either tcp or udp
          inner_portThe published port number inside the container
          outer_portThe published port number in the node public network interface
          port_nameName of the service associated to this port
          endpoint_uriThe URI of the service endpoint for this port
          publishedWhether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.
          - -

          Service Environment Variable attributes

          - - - - - - - - - - - - - - - -
          AttributeDescription
          keyThe name of the environment variable
          valueThe value of the environment variable
          - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          nameThe link name
          from_serviceThe resource URI of the origin of the link
          to_serviceThe resource URI of the target of the link
          - -

          Service states

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          StateDescription
          Not runningThe service has been created and has no deployed containers yet. Possible actions in this state: start, terminate.
          StartingAll containers for the service are either starting or already running. No actions allowed in this state.
          RunningAll containers for the service are deployed and running. Possible actions in this state: stop, redeploy, terminate.
          Partly runningOne or more containers of the service are deployed and running. Possible actions in this state: stop, redeploy, terminate.
          ScalingThe service is either deploying new containers or destroying existing ones responding to a scaling request. No actions allowed in this state.
          RedeployingThe service is redeploying all its containers with the updated configuration. No actions allowed in this state.
          StoppingAll containers for the service are either stopping or already stopped. No actions allowed in this state.
          StoppedAll containers for the service are stopped. Possible actions in this state: start, redeploy, terminate.
          TerminatingAll containers for the service are either being terminated or already terminated. No actions allowed in this state.
          TerminatedThe service and all its containers have been terminated. No actions allowed in this state.
          - -

          Deployment strategies

          - - - - - - - - - - - - - - - - - - - -
          StrategyDescription
          EMPTIEST_NODEIt will deploy containers to the node with the lower total amount of running containers (default).
          HIGH_AVAILABILITYIt will deploy containers to the node with the lower amount of running containers of the same service.
          EVERY_NODEIt will deploy one container on every node. The service won’t be able to scale manually. New containers will be deployed to new nodes automatically.
          - -

          Network Modes

          - - - - - - - - - - - - - - - -
          StrategyDescription
          bridgeCreates a new network stack for the container on the docker bridge.
          hostUses the host network stack inside the container.
          - -

          List all services

          -
          import dockercloud
          -
          -services = dockercloud.Service.list()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -serviceList, err := dockercloud.ListServices()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(serviceList)
          -
          -
          GET /api/app/v1/service/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service ps
          -
          - -

          Lists all current and recently terminated services. Returns a list of Service objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]service/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID
          stateFilter by state. Possible values: Not running, Starting, Running, Partly running, Scaling, Redeploying, Stopping, Stopped, Terminating, Terminated
          nameFilter by service name
          stackFilter by resource URI of the target stack.
          - -

          Create a new service

          -
          import dockercloud
          -
          -service = dockercloud.Service.create(image="tutum/hello-world", name="my-new-app", target_num_containers=2)
          -service.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.CreateService(dockercloud.ServiceCreateRequest{Image: "tutum/hello-world",  Name: "my-new-app", Target_num_containers: 2})
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(service)
          -
          -
          POST /api/app/v1/service/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"image": "tutum/hello-world", "name": "my-new-app", "target_num_containers": 2}
          -
          -
          docker-cloud service create -t 2 --name my-new-app tutum/hello-world
          -
          - -

          Creates a new service without starting it.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/

          - -

          JSON Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          image(required) The image used to deploy this service in docker format, i.e. tutum/hello-world
          name(optional) A human-readable name for the service, i.e. my-hello-world-app (default: image without namespace)
          target_num_containers(optional) The number of containers to run for this service initially (default: 1)
          run_command(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. /run.sh (default: null)
          entrypoint(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. /usr/sbin/sshd (default: null)
          container_ports(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}] (default: []) (See table Service Port attributes below)
          container_envvars(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. [{"key": "DB_PASSWORD", "value": "mypass"}] (default: []) (See table Service Environment Variable attributes below)
          linked_to_service(optional) An array of service resource URIs to link this service to, including the link name, i.e. [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}] (default: []) (See table Related services attributes below)
          bindings(optional) An array of bindings this service has to mount, i.e. [{"volumes_from": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "rewritable": true}] (default: []) (See table Related bindings attributes below)
          autorestart(optional) Whether the containers for this service should be restarted if they stop, i.e. ALWAYS (default: OFF, possible values: OFF, ON_FAILURE, ALWAYS) (see Crash recovery for more information)
          autodestroy(optional) Whether the containers should be terminated if they stop, i.e. OFF (default: OFF, possible values: OFF, ON_SUCCESS, ALWAYS) (see Autodestroy for more information)
          sequential_deployment(optional) Whether the containers should be launched and scaled in sequence, i.e. true (default: false) (see Service scaling for more information)
          roles(optional) A list of Docker Cloud API roles to grant the service, i.e. ["global"] (default: [], possible values: global) (see Service links for more information)
          privileged(optional) Whether to start the containers with Docker’s privileged flag set or not, i.e. false (default: false) (see Runtime privilege for more information)
          deployment_strategy(optional) Container distribution among nodes (default: EMPTIEST_NODE, see table Deployment strategies above and Deployment strategies for more information)
          tags(optional) A list of tags to be used to deploy the service (see Tags for more information) (default: [])
          autoredeploy(optional) Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (default: false) (see Docker Cloud’s private registry for more information)
          net(optional) Set the network mode to the containers (default: bridge, possible values: bridge, host)
          pid(optional) Set the PID (Process) Namespace mode for the containers (default: none value, possible values: none, host)
          working_dir(optional) Working directory for running binaries within a container of this service (default: /)
          nickname(optional) A user-friendly name for the service (name by default)
          - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          host_path(optional) The host path of the volume
          container_path(required if volumes_from is omitted) The container path where the volume is mounted
          rewritable(optional) true is the volume has writable permissions (default: true)
          volumes_from(required if container_path is omitted) The resource URI of the service
          - -

          Service Port attributes

          - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          protocol(required) The protocol of the port, either tcp or udp
          inner_port(required) The port number inside the container to be published
          outer_port(optional) The port number in the node public network interface to be published (default: dynamic allocation if published is true)
          published(optional) Whether to publish the port in the host public network interface or not. Non-published ports can only be accessed via links. (default: false)
          - -

          Service Environment Variable attributes

          - - - - - - - - - - - - - - - -
          AttributeDescription
          key(required) The name of the environment variable
          value(required) The value of the environment variable
          - - - - - - - - - - - - - - - - - -
          AttributeDescription
          to_service(required) The resource URI of the target of the link
          name(optional) The link name
          - -

          Get an existing service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(service)
          -
          -
          GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service inspect 7eaf7fff
          -
          - -

          Get all the details of an specific service

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]service/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to retrieve
          - -

          Get the logs of a service

          - -
          -

          Example log line

          -
          -
          {
          -    "type": "log",
          -    "source": "wordpress-stackable-1",
          -    "log": "Log line from the container indicated by 'source'",
          -    "streamType": "stdout",
          -    "timestamp": 1433779324
          -}
          -
          -
          import dockercloud
          -
          -def log_handler(message):
          -    print message
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.logs(tail=300, follow=True, log_handler=log_handler)
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -c := make(chan Logs)
          -
          -go service.Logs(c)
          -    for {
          -        s := <-c
          -        log.Println(s)
          -    }
          -
          -
          GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
          -Host: ws.cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Connection: Upgrade
          -Upgrade: websocket
          -
          -
          docker-cloud service logs 7eaf7fff
          -
          - -

          Get the aggregated logs of all the containers of the service.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s STREAM API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]service/(uuid)/logs/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to retrieve logs
          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          tailNumber of lines to show from the end of the logs (default: 300)
          followWhether to stream logs or close the connection immediately (default: true)
          - -

          Update an existing service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.target_num_containers = 3
          -service.tags.append({"name":"tag-1"})
          -service.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = service.Update(dockercloud.ServiceCreateRequest{Target_num_containers: 3}); err != nil {
          -   log.Println(err)
          -}
          -
          -
          PATCH /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"autorestart": "ON_FAILURE", "autodestroy": "OFF", "container_envvars": [{"key": "DB_PASSWORD", "value": "mypass"}],
          -"container_ports": [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}], "cpu_shares": 512,
          -"entrypoint": "/usr/sbin/sshd", "image": "tutum/hello-world",
          -"linked_to_service": [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}],
          -"memory": 2048, "privileged": True, "roles": ["global"], "run_command": "/run.sh", "sequential_deployment": False,
          -"tags": [{"name": "tag-1"}], "target_num_containers": 3, "autoredeploy": False}
          -
          -
          -
          docker-cloud service scale 7eaf7fff 3
          -docker-cloud tag add -t tag-1 7eaf7fff
          -docker-cloud tag set -t tag-2 7eaf7fff
          -
          - -

          Updates the service details.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          PATCH /api/app/v1/[optional_namespace/]service/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to update
          - -

          JSON Parameters

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          autorestart(optional) Whether the containers for this service should be restarted if they stop, i.e. ALWAYS (possible values: OFF, ON_FAILURE, ALWAYS) (see Crash recovery for more information)
          autodestroy(optional) Whether the containers should be terminated if they stop, i.e. OFF (possible values: OFF, ON_SUCCESS, ALWAYS) (see Autodestroy for more information)
          container_envvars(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. [{"key": "DB_PASSWORD", "value": "mypass"}] (See table Service Environment Variable attributes)
          container_ports(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}] (See table Service Port attributes)
          cpu_shares(optional) The relative CPU priority of the containers the service describes (see Runtime Constraints on CPU and Memory for more information)
          entrypoint(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. /usr/sbin/sshd
          image(optional) The image used to deploy this service in docker format, i.e. tutum/hello-world, tutum/ubuntu:5.6. If no tag is indicated, it will be set to latest by default
          linked_to_service(optional) An array of service resource URIs to link this service to, including the link name, i.e. [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}] (See table Related services attributes below)
          memory(optional) The memory limit of the containers of the service in MB (see Runtime Constraints on CPU and Memory for more information)
          privileged(optional) Whether to start the containers with Docker’s privileged flag set or not, i.e. false (see Runtime privilege for more information)
          roles(optional) A list of Docker Cloud API roles to grant the service, i.e. ["global"] (possible values: global) (see Service links for more information)
          run_command(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. /run.sh
          sequential_deployment(optional) Whether the containers should be launched and scaled in sequence, i.e. true (see Service scaling for more information)
          tags(optional) List of new tags the service will have. This operation replaces the tag list
          target_num_containers(optional) The number of containers to scale this service to
          deployment_strategy(optional) Container distribution among nodes. A service cannot be updated to or from a deployment strategy of EVERY_NODE. (See table Deployment strategies above and Deployment strategies for more information)
          autoredeployWhether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see Docker Cloud’s private registry for more information)
          net(optional) Set the network mode to the containers (default: bridge, possible values: bridge, host)
          pid(optional) Set the PID (Process) Namespace mode for the containers (default: none value, possible values: none, host)
          working_dir(optional) Working directory for running binaries within a container of this service (default: /)
          nickname(optional) A user-friendly name for the service (name by default)
          - -

          Start a service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.start()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = service.Start(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service start 7eaf7fff
          -
          - -

          Starts all containers in a stopped or partly running service.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/(uuid)/start/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to start
          - -

          Stop a service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.stop()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = service.Stop(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service stop 7eaf7fff
          -
          - -

          Stops all containers in a running or partly running service.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/(uuid)/stop/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to stop
          - -

          Scale a service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.target_num_containers = 3
          -service.save()
          -service.scale()
          -
          -
          POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/scale/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service scale 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce 3
          -
          - -

          Scales the service to its current target_num_containers field.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/(uuid)/scale/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to scale
          - -

          Redeploy a service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.redeploy()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes
          -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
          -if err = service.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/redeploy/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service redeploy 7eaf7fff
          -
          - -

          Redeploys all containers in the service with the current service configuration.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/(uuid)/redeploy/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to redeploy
          - -

          Query Parameters

          - - - - - - - - - - - -
          ParameterDescription
          reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
          - -

          Terminate a service

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -service.delete()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = service.Terminate(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          DELETE /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud service terminate 7eaf7fff
          -
          - -

          Terminate all the containers in a service and the service itself. This is not reversible. All the data stored in all containers of the service will be permanently deleted.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/app/v1/[optional_namespace/]service/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service to terminate
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/stack.html b/apidocs/docker-cloud/includes/stack.html deleted file mode 100644 index a7e4b3b3acd9..000000000000 --- a/apidocs/docker-cloud/includes/stack.html +++ /dev/null @@ -1,688 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Stacks

          - -

          Stack

          - -
          -

          Example

          -
          -
          {
          -  "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
          -  "destroyed_datetime": null,
          -  "nickname": "deployment stack",
          -  "name": "dockercloud-app",
          -  "resource_uri": "/api/app/v1/user_namespace/stack/7fe7ec85-58be-4904-81da-de2219098d7c/",
          -  "services": [
          -    "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/"
          -  ],
          -  "state": "Running",
          -  "synchronized": true,
          -  "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b"
          -}
          -
          - -

          A stack is a logical grouping of closely related services, that may be linked with one another.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          uuidA unique identifier for the stack generated automatically on creation
          resource_uriA unique API endpoint that represents the stack
          nameA user provided name for the stack.
          stateThe state of the stack (see table Stack states below)
          synchronizedFlag indicating if the current stack definition is synchronized with their services.
          servicesList of service resource URIs belonging to the stack
          deployed_datetimeThe date and time of the last deployment of the stack (if applicable, null otherwise)
          destroyed_datetimeThe date and time of the terminate operation on the stack (if applicable, null otherwise)
          nicknameA user-friendly name for the stack (name by default)
          - -

          Stack states

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          StateDescription
          Not RunningThe stack has been created and has no deployed services yet. Possible actions in this state: start, terminate.
          StartingAll services for the stack are either starting or already running. No actions allowed in this state.
          RunningAll services for the service are deployed and running. Possible actions in this state: redeploy, terminate.
          Partly runningOne or more services of the stack are deployed and running. Possible actions in this state: redeploy, terminate.
          StoppingAll services for the stack are either stopping or already stopped. No actions allowed in this state.
          StoppedAll services for the service are stopped. Possible actions in this state: start, redeploy, terminate.
          RedeployingThe stack is redeploying all its services with the updated configuration. No actions allowed in this state.
          TerminatingAll services for the stack are either being terminated or already terminated. No actions allowed in this state.
          TerminatedThe stack and all its services have been terminated. No actions allowed in this state.
          - -

          List all stacks

          -
          import dockercloud
          -
          -stacks = dockercloud.Stack.list()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stackList, err := dockercloud.ListStacks()
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(stackList)
          -
          -
          GET /api/app/v1/stack/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack ls
          -
          - -

          Lists all current and recently terminated stacks. Returns a list of Stack objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]stack/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidFilter by UUID
          nameFilter by stack name
          - -

          Create a new stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.create(name="my-new-stack", services=[{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}])
          -stack.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.CreateStack(dockercloud.StackCreateRequest{Name: "my-new-stack", Services: []dockercloud.ServiceCreateRequest{{Image: "tutum/hello-world", Name: "test", Target_num_containers: 2}}})
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(stack)
          -
          -
          POST /api/app/v1/stack/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{
          -    "name": "my-new-stack",
          -    "services": [
          -        {
          -            "name": "hello-word",
          -            "image": "tutum/hello-world",
          -            "target_num_containers": 2,
          -            "linked_to_service": [
          -                {
          -                    "to_service": "database",
          -                    "name": "DB"
          -                }
          -            ]
          -        },
          -        {
          -            "name": "database",
          -            "image": "tutum/mysql"
          -        }
          -    ]
          -}
          -
          -
          docker-cloud stack create --name hello-world -f docker-compose.yml
          -
          - -

          Creates a new stack without starting it. Note that the JSON syntax is abstracted by both, the Docker Cloud CLI and our UI, in order to use Stack YAML files.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]stack/

          - -

          JSON Parameters

          - - - - - - - - - - - - - - - - - - - -
          ParameterDescription
          name(required) A human-readable name for the stack, i.e. my-hello-world-stack
          nickname(optional) A user-friendly name for the stack (name by default)
          services(optional) List of services belonging to the stack. Each service accepts the same parameters as a Create new service operation (default: []) plus the ability to refer “links” and “volumes-from” by the name of another service in the stack (see example).
          - -

          Export an existing stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
          -stack.export()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = stack.Export(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/export/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack export 46aca402
          -
          - -

          Get a JSON representation of the stack following the Stack YAML representation.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]stack/(uuid)/export/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to retrieve
          - -

          Get an existing stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(stack)
          -
          -
          GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack inspect 46aca402-2109-4a70-a378-760cfed43816
          -
          - -

          Get all the details of an specific stack

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]stack/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to retrieve
          - -

          Update an existing stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
          -stack.services = {"services": [{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}]}
          -stack.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = stack.Update(dockercloud.StackCreateRequest{Services: []dockercloud.ServiceCreateRequest{{Name: "hello-world", Image: "tutum/hello-world", Target_num_containers: 2}}}); err != nil {
          -   log.Println(err)
          -}
          -
          -
          PATCH /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{
          -    "services": [
          -        {
          -            "name": "hello-word",
          -            "image": "tutum/hello-world",
          -            "target_num_containers": 3,
          -            "linked_to_service": [
          -                {
          -                    "to_service": "database",
          -                    "name": "DB"
          -                }
          -            ]
          -        },
          -        {
          -            "name": "database",
          -            "image": "tutum/mysql"
          -        }
          -    ]
          -}
          -
          -
          docker-cloud stack update -f docker-compose.yml 46aca402
          -
          - -

          Updates the details of every service in the stack.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          PATCH /api/app/v1/[optional_namespace/]stack/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to update
          - -

          JSON Parameters

          - - - - - - - - - - - -
          ParameterDescription
          services(optional) List of services belonging to the stack. Each service accepts the same parameters as a Update an existing service operation (default: []) plus the ability to refer “links” and “volumes-from” by the name of another service in the stack (see example).
          - -

          Stop a stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
          -stack.stop()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = stack.Stop(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/stop/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack stop 46aca402-2109-4a70-a378-760cfed43816
          -
          - -

          Stops the services in the stack.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]stack/(uuid)/stop/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to stop
          - -

          Start a stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch()
          -stack.start()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = stack.Start(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/start/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack start 46aca402
          -
          - -

          Starts the services in the stack.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]stack/(uuid)/start/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to start
          - -

          Redeploy a stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
          -stack.redeploy()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes
          -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
          -if err = stack.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
          -   log.Println(err)
          -}
          -
          -
          POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/redeploy/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack redeploy 46aca402
          -
          - -

          Redeploys all the services in the stack.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]stack/(uuid)/redeploy/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to redeploy
          - -

          Query Parameters

          - - - - - - - - - - - -
          ParameterDescription
          reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
          - -

          Terminate a stack

          -
          import dockercloud
          -
          -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
          -stack.delete()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -if err = stack.Terminate(); err != nil {
          -   log.Println(err)
          -}
          -
          -
          DELETE /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud stack terminate 46aca402
          -
          - -

          Terminate all the services in a the stack and the stack itself.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/app/v1/[optional_namespace/]stack/(uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the stack to terminate
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/tag.html b/apidocs/docker-cloud/includes/tag.html deleted file mode 100644 index fd457a5d81fc..000000000000 --- a/apidocs/docker-cloud/includes/tag.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Tags

          - -

          Tag

          - -
          -

          Example

          -
          -
          {
          -    "name": "byon=false",
          -    "origin": "tutum"
          -}
          -
          - -

          Tags are used to target the deployment of services to a specific set of nodes. Learn more

          - -

          Attributes

          - - - - - - - - - - - - - - - -
          AttributeDescription
          nameName of the tag
          originPossible values: user, tutum
          - -

          List all node tags

          -
          GET /api/infra/v1/tag/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud tag ls 7eaf7fff-882c
          -
          - -

          Lists all tags used by all nodes. Returns a list of Tag objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/infra/v1/tag/

          - -

          Query Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          nameFilter by name
          originFilter by origin. Possible values: user, tutum
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/includes/triggers.html b/apidocs/docker-cloud/includes/triggers.html deleted file mode 100644 index 1cc7e5008624..000000000000 --- a/apidocs/docker-cloud/includes/triggers.html +++ /dev/null @@ -1,382 +0,0 @@ - - - - - - - API Documentation - - - - - - - - - - - - - NAV - - - -
          - -
          -
          -
          -
          -
          -
          -

          Triggers

          - -

          Service triggers

          - -
          -

          Example

          -
          -
          {
          -  "url": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/call/",
          -  "operation": "REDEPLOY",
          -  "name": "docker_trigger",
          -  "resource_uri": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/"
          -}
          -
          - -

          Triggers are URLs that will start a redeploy of the service whenever a POST request is sent to them. They require no authorization headers, so they should be treated as access tokens. Triggers can be revoked if they are leaked or no longer used for security purposes. See Triggers for more information.

          - -

          This is a namespaced endpoint.

          - -

          Attributes

          - - - - - - - - - - - - - - - - - - - - - - - -
          AttributeDescription
          urlAddress to be used to call the trigger with a POST request
          nameA user provided name for the trigger
          operationThe operation that the trigger call performs (see table Operations below)
          resource_uriA unique API endpoint that represents the trigger
          - -

          Operations

          - - - - - - - - - - - - - - - -
          OperationDescription
          REDEPLOYPerforms a redeploy service operation.
          SCALEUPPerforms a scale up service operation.
          - -

          List all triggers

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
          -trigger = dockercloud.Trigger.fetch(service)
          -trigger.list()
          -
          -
          GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
          -
          -    if err != nil {
          -        log.Println(err)
          -    }
          -
          -trigger, err := service.ListTriggers()
          -
          -  if err != nil {
          -    log.Println(err)
          -  }
          -
          -    log.Println(trigger)
          -
          -
          docker-cloud trigger list 61a29874-9134-48f9-b460-f37d4bec4826
          -
          - -

          Lists all current triggers the service has associated to. Returns a list of Service Trigger objects.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/

          - -

          Path Parameters

          - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service the triggers are associated to
          - -

          Create a new trigger

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
          -trigger = dockercloud.Trigger.fetch(service)
          -trigger.add(name="mytrigger_name", operation="REDEPLOY")
          -trigger.save()
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -trigger, err := service.CreateTrigger(dockercloud.TriggerCreateRequest{Name: "test-trigger", Operation: "REDEPLOY"})
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(trigger)
          -
          -
          POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -Content-Type: application/json
          -
          -{"name": "mytrigger_name", "operation": "REDEPLOY"}
          -
          -
          docker-cloud trigger create --name mytrigger_name --operation REDEPLOY 61a29874-9134-48f9-b460-f37d4bec4826
          -
          - -

          Creates a new service trigger.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/

          - -

          JSON Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          name(optional) A user provided name for the trigger
          operation(optional) The operation to be performed by the trigger (default: “REDEPLOY”)
          - -

          Get an existing trigger

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
          -trigger = dockercloud.Trigger.fetch(service)
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -trigger, err := service.GetTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -log.Println(trigger)
          -
          -
          GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          - -

          Get all the details of an specific trigger

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the service the triggers are associated to
          trigger_uuidThe UUID of the trigger to retrieve
          - -

          Delete a trigger

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
          -trigger = dockercloud.Trigger.fetch(service)
          -trigger.delete("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -service.DeleteTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          DELETE /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
          -Host: cloud.docker.com
          -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
          -Accept: application/json
          -
          -
          docker-cloud trigger rm 61a29874-9134-48f9-b460-f37d4bec4826 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
          -
          - -

          Deletes specific trigger. It will be no longer available to be called.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          DELETE /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/

          - -

          Path Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the associated service
          trigger_uuidThe UUID of the trigger to delete
          - -

          Call a trigger

          -
          import dockercloud
          -
          -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
          -trigger = dockercloud.Trigger.fetch(service)
          -trigger.call("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          import "github.com/docker/go-dockercloud/dockercloud"
          -
          -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
          -
          -if err != nil {
          -  log.Println(err)
          -}
          -
          -service.CallTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
          -
          -
          POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/ HTTP/1.1
          -Host: cloud.docker.com
          -Accept: application/json
          -
          - -

          Executes the trigger. For SCALEUP triggers, the number of containers to scale up can be passed at the end of the trigger call url, for example /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/3/.

          - -

          Endpoint Type

          - -

          Available in Docker Cloud’s REST API

          - -

          HTTP Request

          - -

          POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/call/

          - -

          Path Parameters

          - - - - - - - - - - - - - - - -
          ParameterDescription
          uuidThe UUID of the associated service
          trigger_uuidThe UUID of the trigger to call
          - -
          -
          -
          -
          - - diff --git a/apidocs/docker-cloud/index.html b/apidocs/docker-cloud/index.html deleted file mode 100644 index 8d058662a51f..000000000000 --- a/apidocs/docker-cloud/index.html +++ /dev/null @@ -1,6577 +0,0 @@ - - - - - - - Docker Cloud API reference - - - - - - - - - - - - - - NAV - - - -
          - -
          - http - go - python - CLI -
          - -
            -
            -
            -
            -
            -
            -
            -

            Introduction

            - -

            Docker Cloud currently offers a HTTP REST API and a Websocket Stream API which are used by both the Web UI and the CLI. This API documentation contains all API operations currently supported in the platform and provides examples of how to execute them using our Command Line Interface (CLI), Python SDK and Go SDK.

            - -

            Authentication

            - -

            In order to be able to make requests to the Docker Cloud API, you should first obtain an ApiKey for your account. For this, log into Docker Cloud, click on the menu on the upper right corner of the screen, select Account info and then select API keys.

            - -

            REST API

            -
            import dockercloud
            -dockercloud.user = "username"
            -dockercloud.apikey = "apikey"
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -dockercloud.User = "username"
            -dockercloud.ApiKey = "apikey"
            -
            -
            GET /api/app/v1/service/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            export DOCKERCLOUD_USER=username
            -export DOCKERCLOUD_APIKEY=apikey
            -
            - -
            -

            Make sure to replace username with your username and apikey with your API key.

            -
            - -

            The Docker Cloud REST API is reachable through the following hostname:

            - -

            https://cloud.docker.com/

            - -

            All requests should be sent to this endpoint using Basic authentication using your API key as password:

            - -

            Authorization: Basic dXNlcm5hbWU6YXBpa2V5

            - -

            HTTP responses are given in JSON format, so the following Accept header is required for every API call:

            - -

            Accept: application/json

            - -

            Namespaced endpoints

            - -

            Endpoints that are labeled as “namespaced” allow the users to operate over -different namespaces, for example over an individual user namespace, or the -namespace of an organization the user is a member of. A namespace identifies the -owner of the resource.

            - -

            The namespace is optional. If left blank, it defaults to the authenticated user -in the request. The namespace is set before the resource in the URL schema: -https://cloud.docker.com/api/<subsystem>/<version>/(optional_namespace/)<resource>/

            - -

            Examples:

            - -
              -
            • The user exampleuser wants to operate on the node cluster list endpoint in their own namespace. They can use either of the following urls: - -
                -
              • https://cloud.docker.com/api/infra/v1/nodecluster/ (namespace omitted, so will use the user authenticated in the request)
              • -
              • https://cloud.docker.com/api/infra/v1/exampleuser/nodecluster/
              • -
            • -
            • The user wants to operate on the node cluster list endpoint in an organization called exampleorg (which they have permission to see): - -
                -
              • https://cloud.docker.com/api/infra/v1/exampleorg/nodecluster/
              • -
            • -
            - -

            Namespaced endpoints in the docker-cloud CLI

            - -

            If you are using namespaces with the docker-cloud CLI, set them by changing -the value of the DOCKERCLOUD_NAMESPACE environment variable. You can either -set this globally, or specify it before each CLI command. To learn more, see the -Docker Cloud CLI README.

            - -

            Stream API

            -
            import websocket
            -import base64
            -
            -header = "Authorization: Basic %s" % base64.b64encode("%s:%s" % (username, password))
            -ws = websocket.WebSocketApp('wss://ws.cloud.docker.com/v1/events', header=[header])
            -
            -
            import "github.com/gorilla/websocket"
            -import "encoding/base64"
            -
            -var StreamUrl = "wss://ws.cloud.docker.com:443/v1/events"
            -
            -sEnc := base64.StdEncoding.EncodeToString([]byte(User + ":" + ApiKey))
            -header := http.Header{}
            -header.Add("Authorization", fmt.Sprintf("Basic %s", sEnc))
            -
            -var Dialer websocket.Dialer
            -ws, _, err := Dialer.Dial(url, header)
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -
            GET /api/audit/v1/events HTTP/1.1
            -Host: ws.cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Connection: Upgrade
            -Upgrade: websocket
            -
            -
            export DOCKERCLOUD_USER=username
            -export DOCKERCLOUD_APIKEY=apikey
            -
            - -
            -

            Make sure to replace username with your username and apikey with your API key.

            -
            - -

            The Docker Cloud Stream API is reachable through the following hostname:

            - -

            wss://ws.cloud.docker.com/

            - -

            The Stream API requires the same authentication mechanism as the REST API:

            - -

            Authorization: Basic dXNlcm5hbWU6YXBpa2V5

            - -

            API roles

            - -
            -

            The CLI and the SDKs will detect this environment variable and automatically use it

            -
            - -

            If you give an API role to a container, the environment variable DOCKERCLOUD_AUTH inside the container will have the contents of the Authorization header that you can use to authenticate against the REST or Stream APIs:

            - -

            curl -H "Authorization: $DOCKERCLOUD_AUTH" https://cloud.docker.com/api/app/v1/service/

            - -

            Actions

            - -

            Action

            - -
            -

            Example

            -
            -
            {
            -    "action": "Cluster Create",
            -    "end_date": "Wed, 17 Sep 2014 08:26:22 +0000",
            -    "ip": "56.78.90.12",
            -    "is_user_action": true,
            -    "can_be_canceled": false,
            -    "location": "New York, USA",
            -    "method": "POST",
            -    "object": "/api/infra/v1/user_namespace/cluster/eea638f4-b77a-4183-b241-22dbd7866f22/",
            -    "path": "/api/infra/v1/user_namespace/cluster/",
            -    "resource_uri": "/api/audit/v1/action/6246c558-976c-4df6-ba60-eb1a344a17af/",
            -    "start_date": "Wed, 17 Sep 2014 08:26:22 +0000",
            -    "state": "Success",
            -    "user": "user_namespace",
            -    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2",
            -    "uuid": "6246c558-976c-4df6-ba60-eb1a344a17af"
            -}
            -
            - -

            An action represents an API call by a user. Details of the API call such as timestamp, origin IP address, and user agent are logged in the action object.

            - -

            Simple API calls that do not require asynchronous execution will return immediately with the appropiate HTTP error code and an action object will be created either in Success or Failed states. API calls that do require asynchronous execution will return HTTP code 202 Accepted immediately and create an action object in In progress state, which will change to Success or Failed state depending on the outcome of the operation being performed. In both cases the response will include a X-DockerCloud-Action-URI header with the resource URI of the created action.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            resource_uriA unique API endpoint that represents the action
            uuidA unique identifier for the action generated automatically on creation
            objectThe API object (resource URI) to which the action applies to
            actionName of the operation performed/being performed
            methodHTTP method used to access the API
            pathHTTP path of the API accessed
            userThe user authenticated in the request that created the action
            user_agentThe user agent provided by the client when accessing the API endpoint
            start_dateDate and time when the API call was performed and the operation started processing
            end_dateDate and time when the API call finished processing
            stateState of the operation (see table below)
            ipIP address of the user that performed the API call
            locationGeographic location of the IP address of the user that performed the API call
            is_user_actionIf the action has been triggered by the user
            can_be_canceledIf the action can be canceled by the user in the middle of its execution
            can_be_retriedIf the action can be retried by the user
            - -

            Action states

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            StateDescription
            PendingThe action needed asynchronous execution and it is waiting for an in progress action
            In progressThe action needed asynchronous execution and is being performed
            CancelingThe action is being canceled by user request
            CanceledThe action has been canceled
            SuccessThe action was executed successfully
            FailedThere was an issue when the action was being performed. Check the logs for more information.
            - -

            List all actions

            -
            import dockercloud
            -
            -actions = dockercloud.Action.list()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -actionList, err := dockercloud.ListActions()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(actionList)
            -
            -
            GET /api/audit/v1/action/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud action ls
            -
            - -

            Lists all actions in chronological order. Returns a list of Action objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/audit/v1/action/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID.
            stateFilter by state. Possible values: In progress, Success, Failed
            start_dateFilter by start date. Valid filtering values are start_date__gte (after or on the date supplied) and start_date__lte (before or on the date supplied)
            end_dateFilter by end date. Valid filtering values are end_date__gte (after or on the date supplied) and end_date__lte (before or on the date supplied)
            objectFilter by resource URI of the related object. This filter can only be combined with ‘include_related’ filter
            include_relatedThere is a parent-child relationship between Docker Cloud objects, described in table Relationships between Docker Cloud objects. If set to 'true’, will include the actions of the related objects to the object specified in “object” filter parameter. Possible values: 'true’ or 'false’
            - -

            Relationships between Docker Cloud objects

            - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ObjectRelationships
            ContainerContainer, service, stack (if any)
            ServiceAll containers in the service, service, stack (if any)
            StackAll services in the stack, all containers in every service in the stack, stack
            NodeNode, node cluster (if any)
            Node clusterAll nodes in the cluster, node cluster
            - -

            Get an action by UUID

            -
            import dockercloud
            -
            -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(action)
            -
            -
            GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud action inspect 7eaf7fff
            -
            - -

            Get all the details of an specific action

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/audit/v1/action/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the action to retrieve
            - -

            Get the logs of an action

            - -
            -

            Example log line

            -
            -
            {
            -    "type": "log",
            -    "log": "Log line from the action",
            -    "timestamp": 1433779324
            -}
            -
            -
            import dockercloud
            -
            -def log_handler(message):
            -    print message
            -
            -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -action.logs(tail=300, follow=True, log_handler=log_handler)
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -c := make(chan dockercloud.Logs)
            -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -go action.GetLogs(c)
            -
            -for {
            -    log.Println(<-c)
            -}
            -
            -
            GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
            -Host: ws.cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Connection: Upgrade
            -Upgrade: websocket
            -
            -
            docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
            -
            - -

            Get the logs of the specified action.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s STREAM API

            - -

            HTTP Request

            - -

            GET /api/audit/v1/action/(uuid)/logs/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the action to retrieve logs
            - -

            Query Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            tailNumber of lines to show from the end of the logs (default: 300)
            followWhether to stream logs or close the connection immediately (default: true)
            - -

            Cancel an action

            -
            POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/cancel/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -action, err = action.Cancel()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(action)
            -
            - -

            Cancels an action in Pending or In progress state.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/audit/v1/action/(uuid)/cancel/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the action to cancel
            - -

            Retry an action

            -
            import dockercloud
            -
            -def log_handler(message):
            -  print message
            -
            -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -action.logs(tail=300, follow=True, log_handler=log_handler)
            -
            -
            POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/retry/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -action, err = action.Retry()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(action)
            -
            -
            docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
            -
            - -

            Retries an action in Success, Failed or Canceled state.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/audit/v1/action/(uuid)/retry/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the action to retry
            - -

            Providers

            - -

            Provider

            - -
            -

            Example

            -
            -
            {
            -    "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

            - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            resource_uriA unique API endpoint that represents the provider
            nameA unique identifier for the provider
            labelA user-friendly name for the provider
            regionsA list of resource URIs of the regions available in this provider
            availableWhether the provider is currently available for new node deployments
            - -

            List all providers

            -
            import dockercloud
            -
            -providers = dockercloud.Provider.list()
            -
            -
            GET /api/infra/v1/provider/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -providerList, err := dockercloud.ListProviders()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(providerList)
            -
            -
            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

            - - - - - - - - - - - -
            ParameterDescription
            nameFilter by provider name
            - -

            Get an individual provider

            -
            import dockercloud
            -
            -provider = dockercloud.Provider.fetch("digitalocean")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -provider, err := dockercloud.GetProvider("digitalocean")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(provider)
            -
            -
            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

            - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the provider to retrieve
            - -

            Regions

            - -

            Region

            - -
            -

            Example

            -
            -
            {
            -    "availability_zones": [],
            -    "available": true,
            -    "label": "Amsterdam 2",
            -    "name": "ams2",
            -    "node_types": [
            -        "/api/infra/v1/nodetype/digitalocean/1gb/",
            -        "/api/infra/v1/nodetype/digitalocean/2gb/",
            -        "/api/infra/v1/nodetype/digitalocean/4gb/",
            -        "/api/infra/v1/nodetype/digitalocean/8gb/",
            -        "/api/infra/v1/nodetype/digitalocean/16gb/",
            -        "/api/infra/v1/nodetype/digitalocean/32gb/",
            -        "/api/infra/v1/nodetype/digitalocean/48gb/",
            -        "/api/infra/v1/nodetype/digitalocean/64gb/"
            -    ],
            -    "provider": "/api/infra/v1/provider/digitalocean/",
            -    "resource_uri": "/api/infra/v1/region/digitalocean/ams2/"
            -}
            -
            - -

            A region is a representation of an entire or a subset of a data center of a cloud provider. It can contain availability zones (depending on the provider) and one or more node types.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            resource_uriA unique API endpoint that represents the region
            nameAn identifier for the region
            labelA user-friendly name for the region
            node_typesA list of resource URIs of the node types available in the region
            availability_zonesA list of resource URIs of the availability zones available in the region
            providerThe resource URI of the provider of the region
            availableWhether the region is currently available for new node deployments
            - -

            List all regions

            -
            import dockercloud
            -
            -regions = dockercloud.Region.list()
            -
            -
            GET /api/infra/v1/region/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -regionList, err := dockercloud.ListRegions()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(regionList)
            -
            -
            docker-cloud nodecluster region
            -
            - -

            Lists all regions of all supported cloud providers. Returns a list of Region objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/region/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            nameFilter by region name
            providerFilter by resource URI of the target provider
            - -

            Get an individual region

            -
            import dockercloud
            -
            -region = dockercloud.Region.fetch("digitalocean/lon1")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -region, err := dockercloud.GetRegion("digitalocean","lon1")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(region)
            -
            -
            GET /api/infra/v1/region/digitalocean/lon1/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Get all the details of a specific region

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

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

            - -

            Path Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the region to retrieve
            provider.nameThe name of the provider of the region
            - -

            Availability Zones

            - -

            Availability Zone

            - -
            -

            Example

            -
            -
            {
            -    "available": true,
            -    "name": "ap-northeast-1a",
            -    "region": "/api/infra/v1/region/az/ap-northeast-1/",
            -    "resource_uri": "/api/infra/v1/az/aws/ap-northeast-1/ap-northeast-1a/"
            -}
            -
            - -

            An Availability Zone is an isolated location inside a region. Providers that support availability zones: AWS

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            availableWhether the availability zone is currently available for new node deployments
            nameAn identifier for the availability zone
            regionThe resource URI of the region where the availability zone is allocated
            resource_uriA unique API endpoint that represents the zone
            - -

            List all availability zones

            -
            import dockercloud
            -
            -az = dockercloud.AZ.list()
            -
            -
            GET /api/infra/v1/az/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -az, err := dockercloud.ListAZ()
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -log.Println(az)
            -
            -
            docker-cloud nodecluster az
            -
            - -

            Lists all availability zones from all regions of all supported cloud providers. Returns a list of Availability Zone objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/az/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            nameFilter by availability zone name
            regionFilter by resource URI of the target region
            - -

            Get an individual availability zone

            -
            import dockercloud
            -
            -az = dockercloud.AZ.fetch("aws/sa-east-1/sa-east-1a")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -az, err := dockercloud.GetAZ("aws/sa-east-1/sa-east-1a")
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -log.Println(az)
            -
            -
            GET /api/infra/v1/az/aws/sa-east-1/sa-east-1a/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Get all the details of a specific availability zone

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/az/(provider.name)/(region.name)/(name)/

            - -

            Path Parameters

            - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the availability zone to retrieve
            providerThe name of the provider
            regionThe name of the region
            - -

            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

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            resource_uriA unique API endpoint that represents the node type
            nameAn identifier for the node type
            labelA user-friendly name for the node type
            regionsA list of resource URIs of the regions to which this node type can be deployed to
            availability_zonesA list of resource URIs of the availability zones to which this node type can be deployed to
            providerThe resource URI of the provider of the node type
            availableWhether 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

            - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            nameFilter by node type name
            regionsFilter by resource URI of the target regions
            availability_zonesFilter 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

            - - - - - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the node type to retrieve
            provider.nameThe name of the provider of the node type
            - -

            Node Clusters

            - -

            Node Cluster

            - -
            -

            Example

            -
            -
            {
            -    "current_num_nodes": 1,
            -    "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000",
            -    "destroyed_datetime": null,
            -    "disk": 60,
            -    "nickname": "my test cluster",
            -    "name": "TestCluster",
            -    "node_type": "/api/infra/v1/nodetype/aws/t2.micro/",
            -    "nodes": [
            -        "/api/infra/v1/user_namespace/node/75d20367-0948-4f10-8ba4-ffb4d16ed3c6/"
            -    ],
            -    "region": "/api/infra/v1/region/aws/us-east-1/",
            -    "resource_uri": "/api/infra/v1/user_namespace/nodecluster/5516df0b-721e-4470-b350-741ff22e63a0/",
            -    "state": "Deployed",
            -    "tags": [
            -        {"name": "tag_one"},
            -        {"name": "tag-two"},
            -        {"name": "tagthree3"}
            -    ],
            -    "target_num_nodes": 2,
            -    "uuid": "5516df0b-721e-4470-b350-741ff22e63a0",
            -    "provider_options": {
            -        "vpc": {
            -            "id": "vpc-aa1c70d4",
            -            "subnets": ["subnet-aaa7d94f", "subnet-aa15fa64"],
            -            "security_groups": ["sg-aa1c70d4"]
            -        },
            -        "iam": {
            -            "instance_profile_name": "my_instance_profile"
            -        }
            -    }
            -}
            -
            - -

            A node cluster is a group of nodes that share the same provider, region and/or availability zone, and node type. They are on the same private network.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            uuidA unique identifier for the node cluster generated automatically on creation
            resource_uriA unique API endpoint that represents the node cluster
            nameA user provided name for the node cluster
            stateThe state of the node cluster. See the below table for a list of possible states.
            node_typeThe resource URI of the node type used for the node cluster
            diskThe size of the disk where images and containers are stored (in GB)
            nodesA list of resource URIs of the Node objects on the node cluster
            regionThe resource URI of the Region object where the node cluster is deployed
            target_num_nodesThe desired number of nodes for the node cluster
            current_num_nodesThe actual number of nodes in the node cluster. This may differ from target_num_nodes if the node cluster is being deployed or scaled
            deployed_datetimeThe date and time when this node cluster was deployed
            destroyed_datetimeThe date and time when this node cluster was terminated (if applicable)
            tagsList of tags to identify the node cluster nodes when deploying services (see Tags for more information)
            provider_optionsProvider-specific extra options for the deployment of the node (see Provider options table below for more information)
            nicknameA user-friendly name for the node cluster (name by default)
            - -

            Node Cluster states

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            StateDescription
            InitThe node cluster has been created and has no deployed containers yet. Possible actions in this state: deploy, terminate.
            DeployingAll nodes in the cluster are either deployed or being deployed. No actions allowed in this state.
            DeployedAll nodes in the cluster are deployed and provisioned. Possible actions in this state: terminate.
            Partly deployedOne or more nodes of the cluster are deployed and running. Possible actions in this state: terminate.
            ScalingThe cluster is either deploying new nodes or terminating existing ones responding to a scaling request. No actions allowed in this state.
            TerminatingAll nodes in the cluster are either being terminated or already terminated. No actions allowed in this state.
            TerminatedThe node cluster and all its nodes have been terminated. No actions allowed in this state.
            Empty clusterThere are no nodes deployed in this cluster. Possible actions in this state: terminate.
            - -

            Provider options

            - -

            You can specify the following options when using the Amazon Web Services provider:

            - -
              -
            • vpc: VPC-related options (optional) - -
                -
              • id: AWS VPC identifier of the target VPC where the nodes of the cluster will be deployed (required)
              • -
              • subnets: a list of target subnet indentifiers inside selected VPC. If you specify more than one subnet, Docker Cloud will balance among all of them following a high-availability schema (optional)
              • -
              • security_groups: the security group that will be applied to every node of the cluster (optional)
              • -
            • -
            • iam: IAM-related options (optional) - -
                -
              • instance_profile_name: name of the instance profile (container for instance an IAM role) to attach to every node of the cluster (required)
              • -
            • -
            - -

            List all node clusters

            -
            import dockercloud
            -
            -nodeclusters = dockercloud.NodeCluster.list()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodeclusters, err := dockercloud.ListNodeClusters()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(nodeclusters)
            -
            -
            GET /api/infra/v1/nodecluster/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud nodecluster ls
            -
            - -

            Lists all current and recently terminated node clusters. Returns a list of NodeCluster objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/[optional_namespace/]nodecluster/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID
            stateFilter by state. Possible values: Init, Deploying, Deployed, Partly deployed, Scaling, Terminating, Terminated, Empty cluster
            nameFilter by node cluster name
            regionFilter by resource URI of the target region
            node_typeFilter by resource URI of the target node type
            - -

            Create a new node cluster

            -
            import dockercloud
            -
            -region = dockercloud.Region.fetch("digitalocean/lon1")
            -node_type = dockercloud.NodeType.fetch("digitalocean/1gb")
            -nodecluster = dockercloud.NodeCluster.create(name="my_cluster", node_type=node_type, region=region, disk=60)
            -nodecluster.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodecluster, err := dockercloud.CreateNodeCluster(dockercloud.NodeCreateRequest{Name: "my_cluster", Region: "/api/infra/v1/region/digitalocean/lon1/", NodeType: "/api/infra/v1/nodetype/digitalocean/1gb/", Target_num_nodes: 2})
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(nodecluster)
            -
            -
            POST /api/infra/v1/nodecluster/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"name": "my_cluster", "region": "/api/infra/v1/region/digitalocean/lon1/", "node_type": "/api/infra/v1/nodetype/digitalocean/1gb/", "disk": 60}
            -
            -
            docker-cloud nodecluster create my_cluster digitalocean lon1 1gb
            -
            - -

            Creates a new node cluster without deploying it.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/infra/v1/[optional_namespace/]nodecluster/

            - -

            JSON Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            name(required) A user provided name for the node cluster
            node_type(required) The resource URI of the node type to be used for the node cluster
            region(required) The resource URI of the region where the node cluster is to be deployed
            disk(optional) The size of the volume to create where images and containers will be stored, in GB (default: 60). Not available for Digital Ocean. To create Softlayer nodes you must select one of the following sizes (in GBs): 10, 20, 25, 30, 40, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 500, 750, 1000, 1500 or 2000
            nickname(optional) A user-friendly name for the node cluster (name by default)
            target_num_nodes(optional) The desired number of nodes for the node cluster (default: 1)
            tags(optional) List of tags of the node cluster to be used when deploying services see Tags for more information) (default: [])
            provider_optionsProvider-specific extra options for the deployment of the node (see table Provider options above for more information)
            - -

            Get an existing node cluster

            -
            import dockercloud
            -
            -service = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(nodecluster)
            -
            -
            GET /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud nodecluster inspect 7eaf7fff
            -
            - -

            Get all the details of an specific node cluster

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node cluster to retrieve
            - -

            Deploy a node cluster

            -
            import dockercloud
            -
            -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -nodecluster.deploy()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = nodecluster.Deploy(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/deploy/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Deploys and provisions a recently created node cluster in the specified region and cloud provider.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/deploy/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node cluster to deploy
            - -

            Update an existing node cluster

            -
            import dockercloud
            -
            -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -nodecluster.target_num_nodes = 3
            -nodecluster.tags.add("tag-1")
            -nodecluster.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = nodecluster.Update(dockercloud.NodeCreateRequest{Target_num_nodes: 4}); err != nil {
            -   log.Println(err)
            -}
            -
            -
            PATCH /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"target_num_nodes": 3, "tags": [{"name": "tag-1"}]}
            -
            -
            docker-cloud nodecluster scale 7eaf7fff 3
            -docker-cloud tag add -t tag-1 7eaf7fff
            -docker-cloud tag set -t tag-2 7eaf7fff
            -
            - -

            Updates the node cluster details and applies the changes automatically.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            PATCH /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node cluster to update
            - -

            JSON Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            target_num_nodes(optional) The number of nodes to scale this node cluster to
            tags(optional) List of tags the node cluster (and nodes within the node cluster) will have. This operation replaces the user tag list.
            - -

            Terminate a node cluster

            -
            import dockercloud
            -
            -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -nodecluster.delete()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = nodecluster.Terminate(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            DELETE /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            dockercloud nodecluster rm 7eaf7fff
            -
            - -

            Terminates all the nodes in a node cluster and the node cluster itself. This is not reversible.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node cluster to terminate
            - -

            Nodes

            - -

            Node

            - -
            -

            Example

            -
            -
            {
            -    "availability_zone": "/api/infra/v1/az/testing-provider/testing-region/testing-az/",
            -    "cpu": 1,
            -    "current_num_containers": 4,
            -    "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000",
            -    "destroyed_datetime": null,
            -    "disk": 60,
            -    "docker_execdriver": "native-0.2",
            -    "docker_graphdriver": "aufs",
            -    "docker_version": "1.5.0",
            -    "external_fqdn": "fc1a5bb9-user.node.dockerapp.io",
            -    "last_seen": "Thu, 25 Sep 2014 13:14:44 +0000",
            -    "memory": 1792,
            -    "nickname": "fc1a5bb9-user.node.dockerapp.io",
            -    "node_cluster": "/api/infra/v1/user_namespace/nodecluster/d787a4b7-d525-4061-97a0-f423e8f1d229/",
            -    "node_type": "/api/infra/v1/user_namespace/nodetype/testing-provider/testing-type/",
            -    "public_ip": "10.45.2.11",
            -    "region": "/api/infra/v1/region/testing-provider/testing-region/",
            -    "resource_uri": "/api/infra/v1/user_namespace/node/fc1a5bb9-17f5-4819-b667-8c7cd819e949/",
            -    "state": "Deployed",
            -    "tags": [
            -        {"name": "tag_one"},
            -        {"name": "tag-two"}
            -    ],
            -    "tunnel": "https://tunnel01.cloud.docker.com:12345",
            -    "uuid": "fc1a5bb9-17f5-4819-b667-8c7cd819e949"
            -}
            -
            - -

            A node is a virtual machine provided by a cloud provider where containers can be deployed.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            availability_zoneThe resource URI of the availability zone where the node is deployed, if any
            uuidA unique identifier for the node generated automatically on creation
            resource_uriA unique API endpoint that represents the node
            external_fqdnAn automatically generated FQDN for the node. Containers deployed on this node will inherit this FQDN.
            stateThe state of the node. See the below table for a list of possible states.
            node_clusterThe resource URI of the node cluster to which this node belongs to (if applicable)
            node_typeThe resource URI of the node type used for the node
            regionThe resource URI of the region where the node is deployed
            docker_execdriverDocker’s execution driver used in the node
            docker_graphdriverDocker’s storage driver used in the node
            docker_versionDocker’s version used in the node
            cpuNode number of CPUs
            diskNode storage size in GB
            memoryNode memory in MB
            current_num_containersThe actual number of containers deployed in this node
            last_seenDate and time of the last time the node was contacted by Docker Cloud
            public_ipThe public IP allocated to the node
            tunnelIf the node does not accept incoming connections to port 2375, the address of the reverse tunnel to access the docker daemon, or null otherwise
            deployed_datetimeThe date and time when this node cluster was deployed
            destroyed_datetimeThe date and time when this node cluster was terminated (if applicable)
            tagsList of tags to identify the node when deploying services (see Tags for more information)
            nicknameA user-friendly name for the node (external_fqdn by default)
            - -

            Node states

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            StateDescription
            DeployingThe node is being deployed in the cloud provider. No actions allowed in this state.
            DeployedThe node is deployed and provisioned and is ready to deploy containers. Possible actions in this state: terminate, docker-upgrade.
            UnreachableThe node is deployed but Docker Cloud cannot connect to the docker daemon. Possible actions in this state: health-check and terminate.
            UpgradingThe node docker daemon is being upgraded. No actions allowed in this state.
            TerminatingThe node is being terminated in the cloud provider. No actions allowed in this state.
            TerminatedThe node has been terminated and is no longer present in the cloud provider. No actions allowed in this state.
            - -

            List all nodes

            -
            import dockercloud
            -
            -nodes = dockercloud.Node.list()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -nodeList, err := dockercloud.ListNodes()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(nodeList)
            -
            -
            GET /api/infra/v1/node/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud node ls
            -
            - -

            Lists all current and recently terminated nodes. Returns a list of Node objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/[optional_namespace/]node/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID
            stateFilter by state. Possible values: Deploying, Deployed, Unreachable, Upgrading, Terminating, Terminated
            node_clusterFilter by resource URI of the target node cluster
            node_typeFilter by resource URI of the target node type
            regionFilter by resource URI of the target region
            docker_versionFilter by Docker engine version running in the nodes
            - -

            Get an existing node

            -
            import dockercloud
            -
            -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(node)
            -
            -
            GET /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud node inspect 7eaf7fff
            -
            - -

            Get all the details of an specific node

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/infra/v1/[optional_namespace/]node/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node to retrieve
            - -

            Update a node

            -
            import dockercloud
            -
            -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -node.tags.add(["tag-1"])
            -node.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -if err = node.Update(dockercloud.Node{Tags: []string{{Name: "tag-1"}}}); err != nil {
            -            log.Println(err)
            -}
            -
            -
            PATCH /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -{"tags": [{"name": "tag-1"}], "nickname": "dev node"}
            -
            -
            docker-cloud tag add -t tag-1 7eaf7fff
            -docker-cloud tag set -t tag-2 7eaf7fff
            -
            - -

            Names the node with a user-friendly name and/or replaces the old tags for the new list provided.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            PATCH /api/infra/v1/[optional_namespace/]node/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node to retrieve
            - -

            JSON Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            nickname(optional) A user-friendly name for the node (external_fqdn by default)
            tags(optional) List of tags the node will have. This operation replaces the user tag list.
            - -

            Upgrade Docker Daemon

            -
            import dockercloud
            -
            -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -node.upgrade_docker()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = node.Upgrade(); err != nil {
            -       log.Println(err)
            -   }
            -
            -
            POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/docker-upgrade/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud node upgrade 7eaf7fff
            -
            - -

            Upgrades the docker daemon of the node. This will restart your containers on that node. See Docker upgrade for more information.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/infra/v1/[optional_namespace/]node/(uuid)/docker-upgrade/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node to upgrade
            - -

            Perform a health check of a node

            -
            POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/health-check/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Tests connectivity between Docker Cloud and the node. Updates the node status to Deployed if the check was successful, or to Unreachable otherwise.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/infra/v1/[optional_namespace/]node/(uuid)/health-check/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node to perform the health check to
            - -

            Terminate a node

            -
            import dockercloud
            -
            -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -node.delete()
            -
            -
            DELETE /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = node.Terminate(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            docker-cloud node rm 7eaf7fff
            -
            - -

            Terminates the specified node.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/infra/v1/[optional_namespace/]node/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the node to terminate
            - -

            Registries

            - -

            Registry

            - -
            -

            Example

            -
            -
            {
            -  "host": "registry-1.docker.io",
            -  "is_docker_registry": true,
            -  "is_ssl": true,
            -  "name": "Docker Hub",
            -  "port": 443,
            -  "resource_uri": "/api/repo/v1/user_namespace/registry/registry-1.docker.io/"
            -}
            -
            - -

            Represents a registry where repositories are hosted.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            resource_uriA unique API endpoint that represents the registry
            nameHuman-readable name of the registry
            hostFQDN of the registry, i.e. registry-1.docker.io
            is_docker_registryWhether this registry is run by Docker
            is_sslWhether this registry has SSL activated or not
            portThe port number where the registry is listening to
            - -

            List all registries

            -
            GET /api/repo/v1/registry/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Lists all current registries. Returns a list of Registry objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/repo/v1/[optional_namespace/]registry/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID
            nameFilter by registry name
            hostFilter by registry host
            is_docker_registryFilter by whether the registry is run by Docker or not. Possible values: ‘true’ or 'false’
            - -

            Get an existing registry

            -
            GET /api/repo/v1/registry/registry-1.docker.io/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Gets all the details of an specific registry

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/v1/[optional_namespace/]registry/(host)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            hostThe host of the registry to retrieve
            - -

            External Repositories

            - -

            External Repository

            - -
            -

            Example

            -
            -
            {
            -  "in_use": false,
            -  "name": "my.registry.com/myrepo",
            -  "registry": "/api/repo/v1/user_namespace/registry/my.registry.com/",
            -  "resource_uri": "/api/repo/v1/user_namespace/repository/my.registry.com/myrepo/",
            -}
            -
            - -

            The repository endpoint is used to add and remove existing repositories on third party registries to be used in deployments and builds.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            resource_uriA unique API endpoint that represents the repository
            nameName of the repository, i.e. my.registry.com/myrepo
            in_useIf the image is being used by any of your services
            registryResource URI of the registry where this image is hosted
            - -

            List all external repositories

            -
            import dockercloud
            -
            -repositories = dockercloud.Repository.list()
            -
            -
            GET /api/repo/v1/repository/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -repositoriesList, err := dockercloud.ListRepositories()
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -log.Pringln(repositoriesList)
            -
            -
            docker-cloud repository ls
            -
            - -

            Lists all added repositories from third party registries. Returns a list of Repository objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/repo/v1/[optional_namespace/]repository/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            nameFilter by image name
            registryFilter by resource URI of the target repository registry
            - -

            Add a new external repository

            -
            import dockercloud
            -
            -repository = dockercloud.Repository.create(name="registry.local/user1/image1", username=username, password=password)
            -repository.save()
            -
            -
            POST /api/repo/v1/repository/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"name": "registry.local/user1/image1", "username": "username", "password": "password"}
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -image, err := dockercloud.CreateImage(dockercloud.ImageCreateRequest{
            -  Name: "registry.local/user1/image1",
            -  Username: "username",
            -  Password: "password"
            -})
            -
            -
            docker-cloud repository register -u username -p password registry.local/user1/image1
            -
            - -

            Adds an existing repository on a third party registry.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/repo/v1/[optional_namespace/]repository/

            - -

            JSON Parameters

            - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            nameName of the repository, i.e. ‘my.registry.com/myrepo’
            usernameUsername to authenticate with the third party registry
            passwordPassword to authenticate with the third party registry
            - -

            Get an external repository details

            -
            import dockercloud
            -
            -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
            -
            -
            GET /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -repository, err = dockercloud.GetRepository("registry.local/user1/image1")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -log.Println(repository)
            -
            -
            docker-cloud repository inspect registry.local/user1/image1
            -
            - -

            Gets all the details of an specific repository

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/repo/v1/[optional_namespace/]repository/(name)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the repository to retrieve
            - -

            Update credentials of an external repository

            -
            import dockercloud
            -
            -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
            -repository.username = "new username"
            -repository.password = "new password"
            -repository.save()
            -
            -
            PATCH /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"username": "username", "password": "password"}
            -
            -
            docker-cloud repository update -n "new username" -p "new password" registry.local/user1/image1
            -
            - -

            Updates the external repository credentials.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            PATCH /api/repo/v1/[optional_namespace/]repository/(name)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the repository to update
            - -

            JSON Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            usernameUsername to authenticate with the private registry
            passwordPassword to authenticate with the private registry
            - -

            Remove an external repository

            -
            import dockercloud
            -
            -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
            -repository.delete()
            -
            -
            DELETE /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -repository, err = dockercloud.GetRepository("registry.local/user1/image1")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -repository.Remove()
            -
            -
            docker-cloud repository rm registry.local/user1/image1
            -
            - -

            Removes the external repository from Docker Cloud. It won’t remove the repository from the third party registry where it’s stored.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/repo/v1/[optional_namespace/]repository/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            nameThe name of the external repository to remove
            - -

            Stacks

            - -

            Stack

            - -
            -

            Example

            -
            -
            {
            -  "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
            -  "destroyed_datetime": null,
            -  "nickname": "deployment stack",
            -  "name": "dockercloud-app",
            -  "resource_uri": "/api/app/v1/user_namespace/stack/7fe7ec85-58be-4904-81da-de2219098d7c/",
            -  "services": [
            -    "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/"
            -  ],
            -  "state": "Running",
            -  "synchronized": true,
            -  "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b"
            -}
            -
            - -

            A stack is a logical grouping of closely related services, that may be linked with one another.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            uuidA unique identifier for the stack generated automatically on creation
            resource_uriA unique API endpoint that represents the stack
            nameA user provided name for the stack.
            stateThe state of the stack (see table Stack states below)
            synchronizedFlag indicating if the current stack definition is synchronized with their services.
            servicesList of service resource URIs belonging to the stack
            deployed_datetimeThe date and time of the last deployment of the stack (if applicable, null otherwise)
            destroyed_datetimeThe date and time of the terminate operation on the stack (if applicable, null otherwise)
            nicknameA user-friendly name for the stack (name by default)
            - -

            Stack states

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            StateDescription
            Not RunningThe stack has been created and has no deployed services yet. Possible actions in this state: start, terminate.
            StartingAll services for the stack are either starting or already running. No actions allowed in this state.
            RunningAll services for the service are deployed and running. Possible actions in this state: redeploy, terminate.
            Partly runningOne or more services of the stack are deployed and running. Possible actions in this state: redeploy, terminate.
            StoppingAll services for the stack are either stopping or already stopped. No actions allowed in this state.
            StoppedAll services for the service are stopped. Possible actions in this state: start, redeploy, terminate.
            RedeployingThe stack is redeploying all its services with the updated configuration. No actions allowed in this state.
            TerminatingAll services for the stack are either being terminated or already terminated. No actions allowed in this state.
            TerminatedThe stack and all its services have been terminated. No actions allowed in this state.
            - -

            List all stacks

            -
            import dockercloud
            -
            -stacks = dockercloud.Stack.list()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stackList, err := dockercloud.ListStacks()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(stackList)
            -
            -
            GET /api/app/v1/stack/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack ls
            -
            - -

            Lists all current and recently terminated stacks. Returns a list of Stack objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]stack/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID
            nameFilter by stack name
            - -

            Create a new stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.create(name="my-new-stack", services=[{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}])
            -stack.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.CreateStack(dockercloud.StackCreateRequest{Name: "my-new-stack", Services: []dockercloud.ServiceCreateRequest{{Image: "tutum/hello-world", Name: "test", Target_num_containers: 2}}})
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(stack)
            -
            -
            POST /api/app/v1/stack/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{
            -    "name": "my-new-stack",
            -    "services": [
            -        {
            -            "name": "hello-word",
            -            "image": "tutum/hello-world",
            -            "target_num_containers": 2,
            -            "linked_to_service": [
            -                {
            -                    "to_service": "database",
            -                    "name": "DB"
            -                }
            -            ]
            -        },
            -        {
            -            "name": "database",
            -            "image": "tutum/mysql"
            -        }
            -    ]
            -}
            -
            -
            docker-cloud stack create --name hello-world -f docker-compose.yml
            -
            - -

            Creates a new stack without starting it. Note that the JSON syntax is abstracted by both, the Docker Cloud CLI and our UI, in order to use Stack YAML files.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]stack/

            - -

            JSON Parameters

            - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            name(required) A human-readable name for the stack, i.e. my-hello-world-stack
            nickname(optional) A user-friendly name for the stack (name by default)
            services(optional) List of services belonging to the stack. Each service accepts the same parameters as a Create new service operation (default: []) plus the ability to refer “links” and “volumes-from” by the name of another service in the stack (see example).
            - -

            Export an existing stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
            -stack.export()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = stack.Export(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/export/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack export 46aca402
            -
            - -

            Get a JSON representation of the stack following the Stack YAML representation.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]stack/(uuid)/export/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to retrieve
            - -

            Get an existing stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(stack)
            -
            -
            GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack inspect 46aca402-2109-4a70-a378-760cfed43816
            -
            - -

            Get all the details of an specific stack

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]stack/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to retrieve
            - -

            Update an existing stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
            -stack.services = {"services": [{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}]}
            -stack.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = stack.Update(dockercloud.StackCreateRequest{Services: []dockercloud.ServiceCreateRequest{{Name: "hello-world", Image: "tutum/hello-world", Target_num_containers: 2}}}); err != nil {
            -   log.Println(err)
            -}
            -
            -
            PATCH /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{
            -    "services": [
            -        {
            -            "name": "hello-word",
            -            "image": "tutum/hello-world",
            -            "target_num_containers": 3,
            -            "linked_to_service": [
            -                {
            -                    "to_service": "database",
            -                    "name": "DB"
            -                }
            -            ]
            -        },
            -        {
            -            "name": "database",
            -            "image": "tutum/mysql"
            -        }
            -    ]
            -}
            -
            -
            docker-cloud stack update -f docker-compose.yml 46aca402
            -
            - -

            Updates the details of every service in the stack.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            PATCH /api/app/v1/[optional_namespace/]stack/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to update
            - -

            JSON Parameters

            - - - - - - - - - - - -
            ParameterDescription
            services(optional) List of services belonging to the stack. Each service accepts the same parameters as a Update an existing service operation (default: []) plus the ability to refer “links” and “volumes-from” by the name of another service in the stack (see example).
            - -

            Stop a stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
            -stack.stop()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = stack.Stop(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/stop/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack stop 46aca402-2109-4a70-a378-760cfed43816
            -
            - -

            Stops the services in the stack.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]stack/(uuid)/stop/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to stop
            - -

            Start a stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch()
            -stack.start()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = stack.Start(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/start/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack start 46aca402
            -
            - -

            Starts the services in the stack.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]stack/(uuid)/start/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to start
            - -

            Redeploy a stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
            -stack.redeploy()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes
            -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
            -if err = stack.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/redeploy/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack redeploy 46aca402
            -
            - -

            Redeploys all the services in the stack.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]stack/(uuid)/redeploy/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to redeploy
            - -

            Query Parameters

            - - - - - - - - - - - -
            ParameterDescription
            reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
            - -

            Terminate a stack

            -
            import dockercloud
            -
            -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
            -stack.delete()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = stack.Terminate(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            DELETE /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud stack terminate 46aca402
            -
            - -

            Terminate all the services in a the stack and the stack itself.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/app/v1/[optional_namespace/]stack/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the stack to terminate
            - -

            Services

            - -

            Service

            - -
            -

            Example

            -
            -
            {
            -  "autodestroy": "OFF",
            -  "autoredeploy": false,
            -  "autorestart": "ON_FAILURE",
            -  "bindings": [
            -    {
            -        "host_path": null,
            -        "container_path": "/tmp",
            -        "rewritable": true,
            -        "volumes_from": null
            -    },
            -    {
            -        "host_path": "/etc",
            -        "container_path": "/etc",
            -        "rewritable": true,
            -        "volumes_from": null
            -    },
            -    {
            -        "host_path": null,
            -        "container_path": null,
            -        "rewritable": true,
            -        "volumes_from": "/api/app/v1/user_namespace/service/2f4f54e5-9d3b-4ac1-85ad-a2d4ff25a179/"
            -    }
            -  ],
            -  "cap_add": [
            -    "ALL"
            -  ],
            -  "cap_drop": [
            -    "NET_ADMIN",
            -    "SYS_ADMIN"
            -  ],
            -  "container_envvars": [
            -    {
            -      "key": "DB_PASS",
            -      "value": "test"
            -    }
            -  ],
            -  "container_ports": [
            -    {
            -      "endpoint_uri": "http://wordpress-stackable.admin.srv.dockerapp.io:80/",
            -      "inner_port": 80,
            -      "outer_port": 80,
            -      "port_name": "http",
            -      "protocol": "tcp",
            -      "published": true
            -    }
            -  ],
            -  "containers": [
            -    "/api/app/v1/user_namespace/container/6f8ee454-9dc3-4387-80c3-57aac1be3cc6/",
            -    "/api/app/v1/user_namespace/container/fdf9c116-7c08-4a60-b0ce-c54ca72c2f25/"
            -  ],
            -  "cpu_shares": 100,
            -  "cpuset": "0,1",
            -  "cgroup_parent": "m-executor-abcd",
            -  "current_num_containers": 2,
            -  "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
            -  "deployment_strategy": "EMPTIEST_NODE",
            -  "destroyed_datetime": null,
            -  "devices": [
            -    "/dev/ttyUSB0:/dev/ttyUSB0"
            -  ],
            -  "dns": [
            -    "8.8.8.8"
            -  ],
            -  "dns_search": [
            -    "example.com"
            -  ],
            -  "domainname": "domainname",
            -  "entrypoint": "",
            -  "extra_hosts": [
            -    "onehost:50.31.209.229"
            -  ],
            -  "hostname": "hostname",
            -  "image_name": "tutum/wordpress-stackable:latest",
            -  "nickname": "wordpress-stackable",
            -  "labels": {
            -    "com.example.description": "Accounting webapp",
            -    "com.example.department": "Finance",
            -    "com.example.label-with-empty-value": ""
            -  },
            -  "link_variables": {
            -    "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**",
            -    "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress",
            -    "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I",
            -    "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**",
            -    "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin",
            -    "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive",
            -    "WORDPRESS_STACKABLE_1_ENV_HOME": "/",
            -    "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            -    "WORDPRESS_STACKABLE_1_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
            -    "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
            -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io",
            -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "49153",
            -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp",
            -    "WORDPRESS_STACKABLE_2_ENV_DB_HOST": "**LinkMe**",
            -    "WORDPRESS_STACKABLE_2_ENV_DB_NAME": "wordpress",
            -    "WORDPRESS_STACKABLE_2_ENV_DB_PASS": "szVaPz925B7I",
            -    "WORDPRESS_STACKABLE_2_ENV_DB_PORT": "**LinkMe**",
            -    "WORDPRESS_STACKABLE_2_ENV_DB_USER": "admin",
            -    "WORDPRESS_STACKABLE_2_ENV_DEBIAN_FRONTEND": "noninteractive",
            -    "WORDPRESS_STACKABLE_2_ENV_HOME": "/",
            -    "WORDPRESS_STACKABLE_2_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            -    "WORDPRESS_STACKABLE_2_PORT": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154",
            -    "WORDPRESS_STACKABLE_2_PORT_80_TCP": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154",
            -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_ADDR": "wordpress-stackable-2.admin.cont.dockerapp.io",
            -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_PORT": "49154",
            -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_PROTO": "tcp",
            -    "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**",
            -    "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress",
            -    "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I",
            -    "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**",
            -    "WORDPRESS_STACKABLE_ENV_DB_USER": "admin",
            -    "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive",
            -    "WORDPRESS_STACKABLE_ENV_HOME": "/",
            -    "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            -    "WORDPRESS_STACKABLE_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
            -    "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
            -    "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io",
            -    "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "49153",
            -    "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp",
            -    "WORDPRESS_STACKABLE_DOCKERCLOUD_API_URL": "https://cloud.docker.com/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/"
            -  },
            -  "linked_from_service": [],
            -  "linked_to_service": [
            -    {
            -      "from_service": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/",
            -      "name": "DB",
            -      "to_service": "/api/app/v1/user_namespace/service/72f175bd-390b-46e3-9463-830aca32ce3e/"
            -    }
            -  ],
            -  "mac_address": "02:42:ac:11:65:43",
            -  "memory": 2048,
            -  "memory_swap": 8192,
            -  "name": "wordpress-stackable",
            -  "net": "bridge",
            -  "privileged": false,
            -  "public_dns": "wordpress-stackable.admin.svc.dockerapp.io",
            -  "read_only": true,
            -  "resource_uri": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/",
            -  "roles": ["global"],
            -  "run_command": "/run-wordpress.sh",
            -  "running_num_containers": 1,
            -  "security_opt": [
            -  ],
            -  "sequential_deployment": false,
            -  "started_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
            -  "state": "Partly running",
            -  "stack": "/api/app/v1/user_namespace/stack/46aca402-2109-4a70-a378-760cfed43816/",
            -  "stdin_open": false,
            -  "stopped_datetime": null,
            -  "stopped_num_containers": 0,
            -  "synchronized": true,
            -  "tags": [
            -        {"name": "tag_one"},
            -        {"name": "tag-two"},
            -        {"name": "tagthree3"}
            -  ],
            -  "target_num_containers": 2,
            -  "tty": false,
            -  "user": "root",
            -  "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b",
            -  "working_dir": "/app"
            -}
            -
            - -

            A service is a template used to deploy one or more containers.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            uuidA unique identifier for the service generated automatically on creation
            resource_uriA unique API endpoint that represents the service
            image_nameThe Docker image name and tag used for the service containers
            nameA user provided name for the service. This name will be inherited by the service containers and will be used in endpoint URLs, environment variable names, etc.
            public_dnsAn external FQDN that resolves to all IPs of the nodes where the service containers are running on (as an A record with multiple IP entries which will be used by clients in a round-robin fashion). If the service is not publishing any ports, this FQDN will fail to resolve.
            stateThe state of the service (see table Service states below)
            netNetwork mode to set on the containers (see table Network Modes below, more information /docker-cloud/apps/service-links/)
            pidSet the PID (Process) Namespace mode for the containers (more information)
            synchronizedFlag indicating if the current service definition is synchronized with the current containers.
            deployed_datetimeThe date and time of the last deployment of the service (if applicable, null otherwise)
            started_datetimeThe date and time of the last start operation on the service (if applicable, null otherwise)
            stopped_datetimeThe date and time of the last stop operation on the service (if applicable, null otherwise)
            destroyed_datetimeThe date and time of the terminate operation on the service (if applicable, null otherwise)
            target_num_containersThe requested number of containers to deploy for the service
            current_num_containersThe actual number of containers deployed for the service
            running_num_containersThe actual number of containers deployed for the service in Running state
            stopped_num_containersThe actual number of containers deployed for the service in Stopped state
            stackResource URIs of the stack that the service belongs to
            containersList of resource URIs of the containers launched as part of the service
            container_portsList of ports to be published on the containers of this service (see table Service Port attributes below)
            container_envvarsList of user-defined environment variables to set on the containers of the service, which will override the image environment variables (see table Service Environment Variable attributes below)
            labelsMetadata in form of dictionary used for every container of this service
            working_dirWorking directory for running binaries within a container of this service
            userSet the user used on containers of this service (root by default)
            hostnameSet the hostname used on containers of this service
            domainnameSet the domainname used on containers of this service
            mac_addressEthernet device’s MAC address used on containers of this service
            cgroup_nameOptional parent cgroup used on containers of this service.
            ttyIf the containers of this service have the tty enable (false by default)
            stdin_openIf the containers of this service have stdin opened (false by default)
            dnsCustom DNS servers for containers of this service
            dns_searchCustom DNS search domain for containers of this service
            cap_addAdded capabilities for containers of this service
            cap_dropDropped capabilities for containers of this service
            devicesList of device mappings for containers of this service
            extra_hostsList of hostname mappings for containers of this service
            secuirty_optLabeling scheme for containers of this service
            entrypointEntrypoint to be set on the containers launched as part of the service, which will override the image entrypoint
            run_commandRun command to be set on the containers launched as part of the service, which will override the image run command
            sequential_deploymentWhether the containers for this service should be deployed in sequence, linking each of them to the previous containers (see Service scaling for more information)
            cpu_sharesThe relative CPU priority of the containers of the service (see Runtime Constraints on CPU and Memory for more information)
            cpusetCPUs in which to allow execution
            memoryThe memory limit of the containers of the service in MB (see Runtime Constraints on CPU and Memory for more information)
            memory_swapTotal memory limit (memory + swap) of the containers of the service in MB
            linked_from_serviceA list of services that are linked to this one (see table Related services attributes below)
            linked_to_serviceA list of services that the service is linked to (see table Related services attributes below)
            bindingsA list of volume bindings that the service has mounted (see table Service binding attributes below)
            autorestartWhether to restart the containers of the service automatically if they stop (see Crash recovery for more information)
            autodestroyWhether to terminate the containers of the service automatically if they stop (see Autodestroy for more information)
            rolesList of Docker Cloud roles assigned to this service (see Service links for more information)
            link_variablesList of environment variables that would be exposed in the containers if they are linked to this service
            privilegedWhether to start the containers with Docker’s privileged flag set or not, which allows containers to access all devices on the host among other things (see Runtime privilege for more information)
            read_onlyWhether the filesystem of every service container is read-only or not (false by default)
            deployment_strategyContainer distribution among nodes (see table Deployment strategies below and Deployment strategies for more information)
            tagsList of tags to be used to deploy the service (see Tags for more information)
            autoredeployWhether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see Docker Cloud’s private registry for more information)
            nicknameA user-friendly name for the service (name by default)
            - -

            Service binding attributes

            - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            host_pathThe host path of the volume
            container_pathThe container path where the volume is mounted
            rewritabletrue is the volume has writable permissions
            volumes_fromThe resource URI of the service
            - -

            Service Port attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            protocolThe protocol of the port, either tcp or udp
            inner_portThe published port number inside the container
            outer_portThe published port number in the node public network interface
            port_nameName of the service associated to this port
            endpoint_uriThe URI of the service endpoint for this port
            publishedWhether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.
            - -

            Service Environment Variable attributes

            - - - - - - - - - - - - - - - -
            AttributeDescription
            keyThe name of the environment variable
            valueThe value of the environment variable
            - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            nameThe link name
            from_serviceThe resource URI of the origin of the link
            to_serviceThe resource URI of the target of the link
            - -

            Service states

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            StateDescription
            Not runningThe service has been created and has no deployed containers yet. Possible actions in this state: start, terminate.
            StartingAll containers for the service are either starting or already running. No actions allowed in this state.
            RunningAll containers for the service are deployed and running. Possible actions in this state: stop, redeploy, terminate.
            Partly runningOne or more containers of the service are deployed and running. Possible actions in this state: stop, redeploy, terminate.
            ScalingThe service is either deploying new containers or destroying existing ones responding to a scaling request. No actions allowed in this state.
            RedeployingThe service is redeploying all its containers with the updated configuration. No actions allowed in this state.
            StoppingAll containers for the service are either stopping or already stopped. No actions allowed in this state.
            StoppedAll containers for the service are stopped. Possible actions in this state: start, redeploy, terminate.
            TerminatingAll containers for the service are either being terminated or already terminated. No actions allowed in this state.
            TerminatedThe service and all its containers have been terminated. No actions allowed in this state.
            - -

            Deployment strategies

            - - - - - - - - - - - - - - - - - - - -
            StrategyDescription
            EMPTIEST_NODEIt will deploy containers to the node with the lower total amount of running containers (default).
            HIGH_AVAILABILITYIt will deploy containers to the node with the lower amount of running containers of the same service.
            EVERY_NODEIt will deploy one container on every node. The service won’t be able to scale manually. New containers will be deployed to new nodes automatically.
            - -

            Network Modes

            - - - - - - - - - - - - - - - -
            StrategyDescription
            bridgeCreates a new network stack for the container on the docker bridge.
            hostUses the host network stack inside the container.
            - -

            List all services

            -
            import dockercloud
            -
            -services = dockercloud.Service.list()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -serviceList, err := dockercloud.ListServices()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(serviceList)
            -
            -
            GET /api/app/v1/service/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service ps
            -
            - -

            Lists all current and recently terminated services. Returns a list of Service objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]service/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID
            stateFilter by state. Possible values: Not running, Starting, Running, Partly running, Scaling, Redeploying, Stopping, Stopped, Terminating, Terminated
            nameFilter by service name
            stackFilter by resource URI of the target stack.
            - -

            Create a new service

            -
            import dockercloud
            -
            -service = dockercloud.Service.create(image="tutum/hello-world", name="my-new-app", target_num_containers=2)
            -service.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.CreateService(dockercloud.ServiceCreateRequest{Image: "tutum/hello-world",  Name: "my-new-app", Target_num_containers: 2})
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(service)
            -
            -
            POST /api/app/v1/service/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"image": "tutum/hello-world", "name": "my-new-app", "target_num_containers": 2}
            -
            -
            docker-cloud service create -t 2 --name my-new-app tutum/hello-world
            -
            - -

            Creates a new service without starting it.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/

            - -

            JSON Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            image(required) The image used to deploy this service in docker format, i.e. tutum/hello-world
            name(optional) A human-readable name for the service, i.e. my-hello-world-app (default: image without namespace)
            target_num_containers(optional) The number of containers to run for this service initially (default: 1)
            run_command(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. /run.sh (default: null)
            entrypoint(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. /usr/sbin/sshd (default: null)
            container_ports(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}] (default: []) (See table Service Port attributes below)
            container_envvars(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. [{"key": "DB_PASSWORD", "value": "mypass"}] (default: []) (See table Service Environment Variable attributes below)
            linked_to_service(optional) An array of service resource URIs to link this service to, including the link name, i.e. [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}] (default: []) (See table Related services attributes below)
            bindings(optional) An array of bindings this service has to mount, i.e. [{"volumes_from": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "rewritable": true}] (default: []) (See table Related bindings attributes below)
            autorestart(optional) Whether the containers for this service should be restarted if they stop, i.e. ALWAYS (default: OFF, possible values: OFF, ON_FAILURE, ALWAYS) (see Crash recovery for more information)
            autodestroy(optional) Whether the containers should be terminated if they stop, i.e. OFF (default: OFF, possible values: OFF, ON_SUCCESS, ALWAYS) (see Autodestroy for more information)
            sequential_deployment(optional) Whether the containers should be launched and scaled in sequence, i.e. true (default: false) (see Service scaling for more information)
            roles(optional) A list of Docker Cloud API roles to grant the service, i.e. ["global"] (default: [], possible values: global) (see Service links for more information)
            privileged(optional) Whether to start the containers with Docker’s privileged flag set or not, i.e. false (default: false) (see Runtime privilege for more information)
            deployment_strategy(optional) Container distribution among nodes (default: EMPTIEST_NODE, see table Deployment strategies above and Deployment strategies for more information)
            tags(optional) A list of tags to be used to deploy the service (see Tags for more information) (default: [])
            autoredeploy(optional) Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (default: false) (see Docker Cloud’s private registry for more information)
            net(optional) Set the network mode to the containers (default: bridge, possible values: bridge, host)
            pid(optional) Set the PID (Process) Namespace mode for the containers (default: none value, possible values: none, host)
            working_dir(optional) Working directory for running binaries within a container of this service (default: /)
            nickname(optional) A user-friendly name for the service (name by default)
            - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            host_path(optional) The host path of the volume
            container_path(required if volumes_from is omitted) The container path where the volume is mounted
            rewritable(optional) true is the volume has writable permissions (default: true)
            volumes_from(required if container_path is omitted) The resource URI of the service
            - -

            Service Port attributes

            - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            protocol(required) The protocol of the port, either tcp or udp
            inner_port(required) The port number inside the container to be published
            outer_port(optional) The port number in the node public network interface to be published (default: dynamic allocation if published is true)
            published(optional) Whether to publish the port in the host public network interface or not. Non-published ports can only be accessed via links. (default: false)
            - -

            Service Environment Variable attributes

            - - - - - - - - - - - - - - - -
            AttributeDescription
            key(required) The name of the environment variable
            value(required) The value of the environment variable
            - - - - - - - - - - - - - - - - - -
            AttributeDescription
            to_service(required) The resource URI of the target of the link
            name(optional) The link name
            - -

            Get an existing service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(service)
            -
            -
            GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service inspect 7eaf7fff
            -
            - -

            Get all the details of an specific service

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]service/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to retrieve
            - -

            Get the logs of a service

            - -
            -

            Example log line

            -
            -
            {
            -    "type": "log",
            -    "source": "wordpress-stackable-1",
            -    "log": "Log line from the container indicated by 'source'",
            -    "streamType": "stdout",
            -    "timestamp": 1433779324
            -}
            -
            -
            import dockercloud
            -
            -def log_handler(message):
            -    print message
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.logs(tail=300, follow=True, log_handler=log_handler)
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -c := make(chan Logs)
            -
            -go service.Logs(c)
            -    for {
            -        s := <-c
            -        log.Println(s)
            -    }
            -
            -
            GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
            -Host: ws.cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Connection: Upgrade
            -Upgrade: websocket
            -
            -
            docker-cloud service logs 7eaf7fff
            -
            - -

            Get the aggregated logs of all the containers of the service.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s STREAM API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]service/(uuid)/logs/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to retrieve logs
            - -

            Query Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            tailNumber of lines to show from the end of the logs (default: 300)
            followWhether to stream logs or close the connection immediately (default: true)
            - -

            Update an existing service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.target_num_containers = 3
            -service.tags.append({"name":"tag-1"})
            -service.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = service.Update(dockercloud.ServiceCreateRequest{Target_num_containers: 3}); err != nil {
            -   log.Println(err)
            -}
            -
            -
            PATCH /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"autorestart": "ON_FAILURE", "autodestroy": "OFF", "container_envvars": [{"key": "DB_PASSWORD", "value": "mypass"}],
            -"container_ports": [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}], "cpu_shares": 512,
            -"entrypoint": "/usr/sbin/sshd", "image": "tutum/hello-world",
            -"linked_to_service": [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}],
            -"memory": 2048, "privileged": True, "roles": ["global"], "run_command": "/run.sh", "sequential_deployment": False,
            -"tags": [{"name": "tag-1"}], "target_num_containers": 3, "autoredeploy": False}
            -
            -
            -
            docker-cloud service scale 7eaf7fff 3
            -docker-cloud tag add -t tag-1 7eaf7fff
            -docker-cloud tag set -t tag-2 7eaf7fff
            -
            - -

            Updates the service details.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            PATCH /api/app/v1/[optional_namespace/]service/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to update
            - -

            JSON Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            autorestart(optional) Whether the containers for this service should be restarted if they stop, i.e. ALWAYS (possible values: OFF, ON_FAILURE, ALWAYS) (see Crash recovery for more information)
            autodestroy(optional) Whether the containers should be terminated if they stop, i.e. OFF (possible values: OFF, ON_SUCCESS, ALWAYS) (see Autodestroy for more information)
            container_envvars(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. [{"key": "DB_PASSWORD", "value": "mypass"}] (See table Service Environment Variable attributes)
            container_ports(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}] (See table Service Port attributes)
            cpu_shares(optional) The relative CPU priority of the containers the service describes (see Runtime Constraints on CPU and Memory for more information)
            entrypoint(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. /usr/sbin/sshd
            image(optional) The image used to deploy this service in docker format, i.e. tutum/hello-world, tutum/ubuntu:5.6. If no tag is indicated, it will be set to latest by default
            linked_to_service(optional) An array of service resource URIs to link this service to, including the link name, i.e. [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}] (See table Related services attributes below)
            memory(optional) The memory limit of the containers of the service in MB (see Runtime Constraints on CPU and Memory for more information)
            privileged(optional) Whether to start the containers with Docker’s privileged flag set or not, i.e. false (see Runtime privilege for more information)
            roles(optional) A list of Docker Cloud API roles to grant the service, i.e. ["global"] (possible values: global) (see Service links for more information)
            run_command(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. /run.sh
            sequential_deployment(optional) Whether the containers should be launched and scaled in sequence, i.e. true (see Service scaling for more information)
            tags(optional) List of new tags the service will have. This operation replaces the tag list
            target_num_containers(optional) The number of containers to scale this service to
            deployment_strategy(optional) Container distribution among nodes. A service cannot be updated to or from a deployment strategy of EVERY_NODE. (See table Deployment strategies above and Deployment strategies for more information)
            autoredeployWhether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see Docker Cloud’s private registry for more information)
            net(optional) Set the network mode to the containers (default: bridge, possible values: bridge, host)
            pid(optional) Set the PID (Process) Namespace mode for the containers (default: none value, possible values: none, host)
            working_dir(optional) Working directory for running binaries within a container of this service (default: /)
            nickname(optional) A user-friendly name for the service (name by default)
            - -

            Start a service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.start()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = service.Start(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service start 7eaf7fff
            -
            - -

            Starts all containers in a stopped or partly running service.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/(uuid)/start/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to start
            - -

            Stop a service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.stop()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = service.Stop(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service stop 7eaf7fff
            -
            - -

            Stops all containers in a running or partly running service.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/(uuid)/stop/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to stop
            - -

            Scale a service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.target_num_containers = 3
            -service.save()
            -service.scale()
            -
            -
            POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/scale/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service scale 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce 3
            -
            - -

            Scales the service to its current target_num_containers field.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/(uuid)/scale/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to scale
            - -

            Redeploy a service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.redeploy()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes
            -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
            -if err = service.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
            -   log.Println(err)
            -}
            -
            -
            POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/redeploy/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service redeploy 7eaf7fff
            -
            - -

            Redeploys all containers in the service with the current service configuration.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/(uuid)/redeploy/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to redeploy
            - -

            Query Parameters

            - - - - - - - - - - - -
            ParameterDescription
            reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
            - -

            Terminate a service

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -service.delete()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -if err = service.Terminate(); err != nil {
            -   log.Println(err)
            -}
            -
            -
            DELETE /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud service terminate 7eaf7fff
            -
            - -

            Terminate all the containers in a service and the service itself. This is not reversible. All the data stored in all containers of the service will be permanently deleted.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/app/v1/[optional_namespace/]service/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service to terminate
            - -

            Containers

            - -

            Container

            - -
            -

            Example

            -
            -
            {
            -    "autodestroy": "OFF",
            -    "autorestart": "OFF",
            -    "bindings": [
            -        {
            -            "volume": "/api/infra/v1/user_namespace/volume/1863e34d-6a7d-4945-aefc-8f27a4ab1a9e/",
            -            "host_path": null,
            -            "container_path": "/data",
            -            "rewritable": true
            -        },
            -        {
            -            "volume": null,
            -            "host_path": "/etc",
            -            "container_path": "/etc",
            -            "rewritable": true
            -        }
            -    ],
            -    "cap_add": [
            -        "ALL"
            -    ],
            -    "cap_drop": [
            -        "NET_ADMIN",
            -        "SYS_ADMIN"
            -    ],
            -    "container_envvars": [
            -        {
            -            "key": "DB_1_ENV_DEBIAN_FRONTEND",
            -            "value": "noninteractive"
            -        },
            -        {
            -            "key": "DB_1_ENV_MYSQL_PASS",
            -            "value": "**Random**"
            -        },
            -        {
            -            "key": "DB_1_ENV_MYSQL_USER",
            -            "value": "admin"
            -        },
            -        {
            -            "key": "DB_1_ENV_PATH",
            -            "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            -        },
            -        {
            -            "key": "DB_1_ENV_REPLICATION_MASTER",
            -            "value": "**False**"
            -        },
            -        {
            -            "key": "DB_1_ENV_REPLICATION_PASS",
            -            "value": "replica"
            -        },
            -        {
            -            "key": "DB_1_ENV_REPLICATION_SLAVE",
            -            "value": "**False**"
            -        },
            -        {
            -            "key": "DB_1_ENV_REPLICATION_USER",
            -            "value": "replica"
            -        },
            -        {
            -            "key": "DB_1_PORT",
            -            "value": "tcp://172.16.0.3:3306"
            -        },
            -        {
            -            "key": "DB_1_PORT_3306_TCP",
            -            "value": "tcp://172.16.0.3:3306"
            -        },
            -        {
            -            "key": "DB_1_PORT_3306_TCP_ADDR",
            -            "value": "172.16.0.3"
            -        },
            -        {
            -            "key": "DB_1_PORT_3306_TCP_PORT",
            -            "value": "3306"
            -        },
            -        {
            -            "key": "DB_1_PORT_3306_TCP_PROTO",
            -            "value": "tcp"
            -        },
            -        {
            -            "key": "DB_ENV_DEBIAN_FRONTEND",
            -            "value": "noninteractive"
            -        },
            -        {
            -            "key": "DB_ENV_MYSQL_PASS",
            -            "value": "**Random**"
            -        },
            -        {
            -            "key": "DB_ENV_MYSQL_USER",
            -            "value": "admin"
            -        },
            -        {
            -            "key": "DB_ENV_PATH",
            -            "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            -        },
            -        {
            -            "key": "DB_ENV_REPLICATION_MASTER",
            -            "value": "**False**"
            -        },
            -        {
            -            "key": "DB_ENV_REPLICATION_PASS",
            -            "value": "replica"
            -        },
            -        {
            -            "key": "DB_ENV_REPLICATION_SLAVE",
            -            "value": "**False**"
            -        },
            -        {
            -            "key": "DB_ENV_REPLICATION_USER",
            -            "value": "replica"
            -        },
            -        {
            -            "key": "DB_PASS",
            -            "value": "szVaPz925B7I"
            -        },
            -        {
            -            "key": "DB_PORT",
            -            "value": "tcp://172.16.0.3:3306"
            -        },
            -        {
            -            "key": "DB_PORT_3306_TCP",
            -            "value": "tcp://172.16.0.3:3306"
            -        },
            -        {
            -            "key": "DB_PORT_3306_TCP_ADDR",
            -            "value": "172.16.0.3"
            -        },
            -        {
            -            "key": "DB_PORT_3306_TCP_PORT",
            -            "value": "3306"
            -        },
            -        {
            -            "key": "DB_PORT_3306_TCP_PROTO",
            -            "value": "tcp"
            -        },
            -        {
            -            "key": "DB_DOCKERCLOUD_API_URL",
            -            "value": "https://cloud.docker.com/api/app/v1/user_namespace/service/c0fed1dc-c528-40c9-aa4c-dc00672ebcbf/"
            -        }
            -    ],
            -    "container_ports": [
            -        {
            -            "endpoint_uri": "http://wordpress-stackable-1.admin.cont.dockerapp.io:49153/",
            -            "inner_port": 80,
            -            "outer_port": 49153,
            -            "port_name": "http",
            -            "protocol": "tcp",
            -            "published": true,
            -            "uri_protocol": "http"
            -        }
            -    ],
            -    "cpu_shares": 100,
            -    "cpuset": "0,1",
            -    "cgroup_parent": "m-executor-abcd",
            -    "deployed_datetime": "Thu, 16 Oct 2014 12:04:08 +0000",
            -    "destroyed_datetime": null,
            -    "devices": [
            -        "/dev/ttyUSB0:/dev/ttyUSB0"
            -    ],
            -    "dns": [
            -        "8.8.8.8"
            -    ],
            -    "dns_search": [
            -        "example.com",
            -        "c1dd4e1e-1356-411c-8613-e15146633640.local.dockerapp.io"
            -    ],
            -    "domainname": "domainname",
            -    "entrypoint": "",
            -    "exit_code": null,
            -    "exit_code_msg": null,
            -    "extra_hosts": [
            -        "onehost:50.31.209.229"
            -    ],
            -    "hostname": "hostname",
            -    "image_name": "tutum/wordpress-stackable:latest",
            -    "labels": {
            -        "com.example.description": "Accounting webapp",
            -        "com.example.department": "Finance",
            -        "com.example.label-with-empty-value": ""
            -    },
            -    "linked_to_container": [
            -        {
            -            "endpoints": {
            -                "3306/tcp": "tcp://172.16.0.3:3306"
            -            },
            -            "from_container": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/",
            -            "name": "DB_1",
            -            "to_container": "/api/app/v1/user_namespace/container/ba434e1e-1234-411c-8613-e15146633640/"
            -        }
            -    ],
            -    "link_variables": {
            -        "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**",
            -        "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress",
            -        "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I",
            -        "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**",
            -        "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin",
            -        "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive",
            -        "WORDPRESS_STACKABLE_1_ENV_HOME": "/",
            -        "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            -        "WORDPRESS_STACKABLE_1_PORT": "tcp://172.16.0.2:80",
            -        "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://172.16.0.2:80",
            -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "172.16.0.2",
            -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "80",
            -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp",
            -        "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**",
            -        "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress",
            -        "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I",
            -        "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**",
            -        "WORDPRESS_STACKABLE_ENV_DB_USER": "admin",
            -        "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive",
            -        "WORDPRESS_STACKABLE_ENV_HOME": "/",
            -        "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            -        "WORDPRESS_STACKABLE_PORT": "tcp://172.16.0.2:80",
            -        "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://172.16.0.2:80",
            -        "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "172.16.0.2",
            -        "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "80",
            -        "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp"
            -    },
            -    "mac_address": "02:42:ac:11:65:43",
            -    "memory": 1024,
            -    "memory_swap": 4096,
            -    "name": "wordpress-stackable",
            -    "net": "bridge",
            -    "node": "/api/infra/v1/user_namespace/node/9691c44e-3155-4ca2-958d-c9571aac0a14/",
            -    "pid": "none",
            -    "private_ip": "10.7.0.1",
            -    "privileged": false,
            -    "public_dns": "wordpress-stackable-1.admin.cont.dockerapp.io",
            -    "read_only": true,
            -    "resource_uri": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/",
            -    "roles": ["global"],
            -    "run_command": "/run-wordpress.sh",
            -    "security_opt": [
            -        "label:user:USER",
            -        "label:role:ROLE"
            -    ],
            -    "service": "/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/",
            -    "started_datetime": "Thu, 16 Oct 2014 12:04:08 +0000",
            -    "state": "Running",
            -    "stdin_open": false,
            -    "stopped_datetime": null,
            -    "synchronized": true,
            -    "tty": false,
            -    "user": "root",
            -    "uuid": "c1dd4e1e-1356-411c-8613-e15146633640",
            -    "working_dir": "/app"
            -}
            -
            - -

            A container is a representation of a Docker container in a node.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            uuidA unique identifier for the container generated automatically on creation
            resource_uriA unique API endpoint that represents the container
            image_nameThe Docker image name and tag of the container
            bindingsA list of volume bindings that the container has mounted (see table Container Binding attributes below)
            nameA user provided name for the container (inherited from the service)
            nodeThe resource URI of the node where this container is running
            serviceThe resource URI of the service which this container is part of
            public_dnsThe external FQDN of the container
            stateThe state of the container (see table Container states below)
            synchronizedFlag indicating if the container is synchronized with the current service definition.
            exit_codeThe numeric exit code of the container (if applicable, null otherwise)
            exit_code_msgA string representation of the exit code of the container (if applicable, null otherwise)
            deployed_datetimeThe date and time of the last deployment of the container (if applicable, null otherwise)
            started_datetimeThe date and time of the last start operation on the container (if applicable, null otherwise)
            stopped_datetimeThe date and time of the last stop operation on the container (if applicable, null otherwise)
            destroyed_datetimeThe date and time of the terminate operation on the container (if applicable, null otherwise)
            container_portsList of published ports of this container (see table Container Port attributes below)
            container_envvarsList of user-defined environment variables set on the containers of the service, which will override the container environment variables (see table Container Environment Variable attributes below)
            labelsContainer metadata in form of dictionary
            working_dirWorking directory for running binaries within a container
            userUser used on the container on launch
            hostnameHostname used on the container on launch
            domainnameDomainname used on the container on launch
            mac_addressEthernet device’s MAC address used on the container on launch
            cgroup_nameOptional parent cgroup for the container.
            ttyIf the container has the tty enable
            stdin_openIf the container has stdin opened
            dnsContainer custom DNS servers
            dns_searchContainer custom DNS search domain
            cap_addContainer added capabilities
            cap_dropContainer dropped capabilities
            devicesList of container device mappings
            extra_hostsList of container hostname mappings
            secuirty_optLabeling scheme of this container
            entrypointEntrypoint used on the container on launch
            run_commandRun command used on the container on launch
            cpu_sharesThe relative CPU priority of the container (see Runtime Constraints on CPU and Memory for more information)
            cpusetCPUs in which execution is allowed
            memoryThe memory limit of the container in MB (see Runtime Constraints on CPU and Memory for more information)
            memory_swapTotal memory limit (memory + swap) of the container in MB
            autorestartWhether to restart the container automatically if it stops (see Crash recovery for more information)
            autodestroyWhether to terminate the container automatically if it stops (see Autodestroy for more information)
            rolesList of Docker Cloud roles asigned to this container (see API roles for more information))
            linked_to_containerList of IP addresses of the linked containers (see table Container Link attributes below and Service links for more information)
            link_variablesList of environment variables that would be exposed in any container that is linked to this one
            privilegedWhether the container has Docker’s privileged flag set or not (see Runtime privilege for more information)
            read_onlyWhether the container filesystem is read-only or not
            private_ipIP address of the container on the overlay network. This IP will be reachable from any other container.
            netNetwork mode set on the container (see table Network Modes below, more information)
            pidPID (Process) Namespace mode for the container (more information)
            - -

            Container Binding attributes

            - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            host_pathThe host path of the volume
            container_pathThe container path where the volume is mounted
            rewritabletrue is the volume has writable permissions
            volumeThe resource URI of the volume
            - -

            Container Port attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            protocolThe protocol of the port, either tcp or udp
            inner_portThe published port number inside the container
            outer_portThe published port number in the node public network interface
            port_nameName of the service associated to this port
            uri_protocolThe protocol to be used in the endpoint for this port (i.e. http)
            endpoint_uriThe URI of the endpoint for this port
            publishedWhether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.
            - -

            Container Environment Variable attributes

            - - - - - - - - - - - - - - - -
            AttributeDescription
            keyThe name of the environment variable
            valueThe value of the environment variable
            - -

            Container States

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            StateDescription
            StartingThe container is being deployed or started (from Stopped). No actions allowed in this state.
            RunningThe container is deployed and running. Possible actions in this state: stop, terminate.
            StoppingThe container is being stopped. No actions allowed in this state.
            StoppedThe container is stopped. Possible actions in this state: start, terminate.
            TerminatingThe container is being deleted. No actions allowed in this state.
            TerminatedThe container has been deleted. No actions allowed in this state.
            - -

            Network Modes

            - - - - - - - - - - - - - - - -
            StrategyDescription
            bridgeCreates a new network stack for the container on the docker bridge.
            hostUses the host network stack inside the container.
            - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            nameThe name given to the link
            from_containerThe resource URI of the “client” container
            to_containerThe resource URI of the “server” container being linked
            endpointsA dictionary with the endpoints (protocol, IP and port) to be used to reach each of the “server” container exposed ports
            - -

            List all containers

            -
            import dockercloud
            -
            -containers = dockercloud.Container.list()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -containerList, err := dockercloud.ListContainers()
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(containerList)
            -
            -
            GET /api/app/v1/container/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud container ps
            -
            - -

            Lists all current and recently terminated containers. Returns a list of Container objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]container/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidFilter by UUID
            stateFilter by state. Possible values: Starting, Running, Stopping, Stopped, Terminating, Terminated
            nameFilter by container name
            serviceFilter by resource URI of the target service.
            nodeFilter by resource URI of the target node.
            - -

            Get an existing container

            -
            import dockercloud
            -
            -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockerckoud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(container)
            -
            -
            GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud container inspect 7eaf7fff
            -
            - -

            Get all the details of an specific container

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]container/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container to retrieve
            - -

            Get the logs of a container

            - -
            -

            Example log line

            -
            -
            {
            -    "type": "log",
            -    "log": "Log line from the container",
            -    "streamType": "stdout",
            -    "timestamp": 1433779324
            -}
            -
            -
            import dockercloud
            -
            -def log_handler(message):
            -    print message
            -
            -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -container.logs(tail=300, follow=True, log_handler=log_handler)
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockercloud.GetContainer("447ecddc-2890-4ea2-849b-99392e0dd7a6")
            -
            -if err != nil {
            -    log.Fatal(err)
            -}
            -c := make(chan dockercloud.Logs)
            -
            -go container.Logs(c)
            -    for {
            -        s := <-c
            -        log.Println(s)
            -    }
            -
            -
            GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
            -Host: ws.cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Connection: Upgrade
            -Upgrade: websocket
            -
            -
            docker-cloud container logs 7eaf7fff
            -
            - -

            Get the logs of the specified container.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s STREAM API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]container/(uuid)/logs/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container to retrieve logs
            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            tailNumber of lines to show from the end of the logs (default: 300)
            followWhether to stream logs or close the connection immediately (default: true)
            serviceFilter by service (resource URI)
            - -

            Start a container

            -
            import dockercloud
            -
            -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -container.start()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -if err = container.Start(); err != nil {
            -  log.Println(err)
            -}
            -
            -
            POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud container start 7eaf7fff
            -
            - -

            Starts a stopped container.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]container/(uuid)/start/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container to start
            - -

            Stop a container

            -
            import dockercloud
            -
            -container = dockerlcoud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -container.stop()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -if err = container.Stop(); err != nil {
            -       log.Println(err)
            -   }
            -
            -
            POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud container stop 7eaf7fff
            -
            - -

            Stops a running container.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]container/(uuid)/stop/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container to stop
            - -

            Redeploy a container

            -
            import dockercloud
            -
            -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -container.redeploy()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true) to reuse the existing volumes
            -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
            -if err = container.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
            -  log.Println(err)
            -}
            -
            -
            POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud container redeploy 7eaf7fff
            -
            - -

            Redeploys a container.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]container/(uuid)/redeploy/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container to redeploy
            - -

            Query Parameters

            - - - - - - - - - - - -
            ParameterDescription
            reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
            - -

            Terminate a container

            -
            import dockercloud
            -
            -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -container.delete()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -    log.Println(err)
            -}
            -
            -if err = container.Terminate(); err != nil {
            -       log.Println(err)
            -   }
            -
            -
            DELETE /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud container terminate 7eaf7fff
            -
            - -

            Terminates the specified container. This is not reversible. All data stored in the container will be permanently deleted.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/app/v1/[optional_namespace/]container/(uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container to terminate
            - -

            Execute command inside a container

            -
            import dockercloud
            -
            -def msg_handler(message):
            -    print message
            -
            -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -container.execute("ls", handler=msg_handler)
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -c := make(chan dockercloud.Exec)
            -
            -container.Exec("ls", c)
            -
            -
            -
            GET /api/app/v1/container/(uuid)/exec/ HTTP/1.1
            -Host: ws.cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Connection: Upgrade
            -Upgrade: websocket
            -
            -
            docker-cloud exec 7eaf7fff ls
            -
            - -

            Executes a command inside the specified running container, creating a bi-directional stream for the process’ standard input and output. This endpoint can be connected to using a bi-directional Secure Web Socket wss://ws.cloud.docker.com/api/app/v1/container/(uuid)/exec/

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s STREAM API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]container/(uuid)/exec/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the container where the command will be executed
            - -

            Query Parameters

            - - - - - - - - - - - -
            ParameterDescription
            commandCommand to be executed (default: sh)
            - -

            Triggers

            - -

            Service triggers

            - -
            -

            Example

            -
            -
            {
            -  "url": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/call/",
            -  "operation": "REDEPLOY",
            -  "name": "docker_trigger",
            -  "resource_uri": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/"
            -}
            -
            - -

            Triggers are URLs that will start a redeploy of the service whenever a POST request is sent to them. They require no authorization headers, so they should be treated as access tokens. Triggers can be revoked if they are leaked or no longer used for security purposes. See Triggers for more information.

            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            urlAddress to be used to call the trigger with a POST request
            nameA user provided name for the trigger
            operationThe operation that the trigger call performs (see table Operations below)
            resource_uriA unique API endpoint that represents the trigger
            - -

            Operations

            - - - - - - - - - - - - - - - -
            OperationDescription
            REDEPLOYPerforms a redeploy service operation.
            SCALEUPPerforms a scale up service operation.
            - -

            List all triggers

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
            -trigger = dockercloud.Trigger.fetch(service)
            -trigger.list()
            -
            -
            GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
            -
            -    if err != nil {
            -        log.Println(err)
            -    }
            -
            -trigger, err := service.ListTriggers()
            -
            -  if err != nil {
            -    log.Println(err)
            -  }
            -
            -    log.Println(trigger)
            -
            -
            docker-cloud trigger list 61a29874-9134-48f9-b460-f37d4bec4826
            -
            - -

            Lists all current triggers the service has associated to. Returns a list of Service Trigger objects.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/

            - -

            Path Parameters

            - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service the triggers are associated to
            - -

            Create a new trigger

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
            -trigger = dockercloud.Trigger.fetch(service)
            -trigger.add(name="mytrigger_name", operation="REDEPLOY")
            -trigger.save()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -trigger, err := service.CreateTrigger(dockercloud.TriggerCreateRequest{Name: "test-trigger", Operation: "REDEPLOY"})
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(trigger)
            -
            -
            POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -Content-Type: application/json
            -
            -{"name": "mytrigger_name", "operation": "REDEPLOY"}
            -
            -
            docker-cloud trigger create --name mytrigger_name --operation REDEPLOY 61a29874-9134-48f9-b460-f37d4bec4826
            -
            - -

            Creates a new service trigger.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/

            - -

            JSON Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            name(optional) A user provided name for the trigger
            operation(optional) The operation to be performed by the trigger (default: “REDEPLOY”)
            - -

            Get an existing trigger

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
            -trigger = dockercloud.Trigger.fetch(service)
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -trigger, err := service.GetTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -log.Println(trigger)
            -
            -
            GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            - -

            Get all the details of an specific trigger

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the service the triggers are associated to
            trigger_uuidThe UUID of the trigger to retrieve
            - -

            Delete a trigger

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
            -trigger = dockercloud.Trigger.fetch(service)
            -trigger.delete("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -service.DeleteTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            DELETE /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
            -Host: cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Accept: application/json
            -
            -
            docker-cloud trigger rm 61a29874-9134-48f9-b460-f37d4bec4826 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
            -
            - -

            Deletes specific trigger. It will be no longer available to be called.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            DELETE /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/

            - -

            Path Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the associated service
            trigger_uuidThe UUID of the trigger to delete
            - -

            Call a trigger

            -
            import dockercloud
            -
            -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
            -trigger = dockercloud.Trigger.fetch(service)
            -trigger.call("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
            -
            -if err != nil {
            -  log.Println(err)
            -}
            -
            -service.CallTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
            -
            -
            POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/ HTTP/1.1
            -Host: cloud.docker.com
            -Accept: application/json
            -
            - -

            Executes the trigger. For SCALEUP triggers, the number of containers to scale up can be passed at the end of the trigger call url, for example /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/3/.

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s REST API

            - -

            HTTP Request

            - -

            POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/call/

            - -

            Path Parameters

            - - - - - - - - - - - - - - - -
            ParameterDescription
            uuidThe UUID of the associated service
            trigger_uuidThe UUID of the trigger to call
            - -

            Docker Cloud Events

            - -

            Docker Cloud Event

            - -
            -

            Example

            -
            -
            {
            -    "type": "action",
            -    "action": "update",
            -    "parents": [
            -        "/api/app/v1/user_namespace/container/0b0e3538-88df-4f07-9aed-3a3cc4175076/"
            -    ],
            -    "resource_uri": "/api/app/v1/user_namespace/action/49f0efe8-a704-4a10-b02f-f96344fabadd/",
            -    "state": "Success",
            -    "uuid": "093ba3bb-08dd-48f0-8f12-4d3b85ef85b3",
            -    "datetime": "2016-02-01T16:47:28Z"
            -}
            -
            - -

            Docker Cloud events are generated every time any of the following objects is created or changes state:

            - -
              -
            • Stack
            • -
            • Service
            • -
            • Container
            • -
            • Node Cluster
            • -
            • Node
            • -
            • Action
            • -
            - -

            This is a namespaced endpoint.

            - -

            Attributes

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            AttributeDescription
            typeType of object that was created or updated. For possible values, check the events types table below.
            actionType of action that was executed on the object. Posible values: create, update or delete
            parentsList of resource URIs (REST API) of the parents of the object, according to the “Parent-child hierarchy” table below
            resource_uriResource URI (REST API) of the object that was created or updated. You can do a GET operation on this URL to fetch its details
            stateThe current state of the object
            uuidUnique identifier for the event
            datetimeDate and time of the event in ISO 8601 format
            - -

            Event types

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            TypeDescription
            stackWhenever a Stack is created or updated
            serviceWhenever a Service is created or updated
            containerWhenever a Container is created or updated
            nodeclusterWhenever a Node Cluster is created or updated
            nodeWhenever a Node is created or updated
            actionWhenever a Action is created or updated
            errorSent when an error occurs on the websocket connection or as part of the authentication process
            - -

            Parent-child hierarchy

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            Object typeParent types
            Stack(None)
            ServiceStack
            ContainerService, Stack, Node, Node Cluster
            Node Cluster(None)
            NodeNode Cluster
            Action(object to which the action applies to)
            - -

            Listen to new Docker Cloud Events

            -
            import dockercloud
            -
            -def process_event(event):
            -    print event
            -
            -events = dockercloud.Events()
            -events.on_message(process_event)
            -events.run_forever()
            -
            -
            import "github.com/docker/go-dockercloud/dockercloud"
            -
            -// Listens for container events only
            -myFilter := dockercloud.NewStreamFilter(&dockercloud.EventFilter{Type: "container"})
            -
            -stream := dockercloud.NewStream(myFilter)
            -
            -if err := stream.Connect(); err == nil {
            -    go stream.RunForever()
            -} else {
            -    log.Print("Connect err: " + err.Error())
            -}
            -
            -for {
            -    select {
            -    case event := <-stream.MessageChan:
            -        log.Println(event)
            -    case err := <-stream.ErrorChan:
            -        log.Println(err)
            -    }
            -}
            -
            -
            GET /api/audit/v1/events/ HTTP/1.1
            -Host: ws.cloud.docker.com
            -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
            -Connection: Upgrade
            -Upgrade: websocket
            -
            -
            docker-cloud event
            -
            - -

            Listens for new Docker Cloud Events

            - -

            Endpoint Type

            - -

            Available in Docker Cloud’s STREAM API

            - -

            HTTP Request

            - -

            GET /api/audit/v1/[optional_namespace/]events/

            - -

            Query Parameters

            - - - - - - - - - - - - - - - - - - - -
            ParameterDescription
            typeFilter by type
            objectFilter by object resource URI
            parentFilter by object parents
            - -

            Errors

            - -
            -

            API response structure

            -
            -
            {
            -    "error": "Descriptive error message"
            -}
            -
            - -

            The Docker Cloud API uses the following error codes:

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            Error CodeMeaning
            400Bad Request – There’s a problem in the content of your request. Retrying the same request will fail.
            401Unauthorized – Your API key is wrong or your account has been deactivated.
            402Payment Required – You need to provide billing information to perform this request.
            403Forbidden – Quota limit exceeded. Please contact support to request a quota increase.
            404Not Found – The requested object cannot be found.
            405Method Not Allowed – The endpoint requested does not implement the method sent.
            409Conflict – The object cannot be created or updated because another object exists with the same unique fields
            415Unsupported Media Type – Make sure you are using Accept and Content-Type headers as application/json and that the data your are POST-ing or PATCH-ing is in valid JSON format.
            429Too Many Requests – You are being throttled because of too many requests in a short period of time.
            500Internal Server Error – There was a server error while processing your request. Try again later, or contact support.
            503Service Unavailable – We’re temporarily offline for maintenance. Please try again later.
            504Gateway Timeout – Our API servers are at full capacity. Please try again later.
            - -
            -
            -
            - http - go - python - CLI -
            -
            -
            - - diff --git a/apidocs/docker-cloud/javascripts/all.js b/apidocs/docker-cloud/javascripts/all.js deleted file mode 100644 index a7bf81a39575..000000000000 --- a/apidocs/docker-cloud/javascripts/all.js +++ /dev/null @@ -1,143 +0,0 @@ -!function(){if("ontouchstart"in window){var e,t,n,i,o,s,r={};e=function(e,t){return Math.abs(e[0]-t[0])>5||Math.abs(e[1]-t[1])>5},t=function(e){this.startXY=[e.touches[0].clientX,e.touches[0].clientY],this.threshold=!1},n=function(t){return this.threshold?!1:void(this.threshold=e(this.startXY,[t.touches[0].clientX,t.touches[0].clientY]))},i=function(t){if(!this.threshold&&!e(this.startXY,[t.changedTouches[0].clientX,t.changedTouches[0].clientY])){var n=t.changedTouches[0],i=document.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),i.simulated=!0,t.target.dispatchEvent(i)}},o=function(e){var t=Date.now(),n=t-r.time,i=e.clientX,o=e.clientY,a=[Math.abs(r.x-i),Math.abs(r.y-o)],c=s(e.target,"A")||e.target,h=c.nodeName,l="A"===h,u=window.navigator.standalone&&l&&e.target.getAttribute("href");return r.time=t,r.x=i,r.y=o,(!e.simulated&&(500>n||1500>n&&a[0]<50&&a[1]<50)||u)&&(e.preventDefault(),e.stopPropagation(),!u)?!1:(u&&(window.location=c.getAttribute("href")),void(c&&c.classList&&(c.classList.add("energize-focus"),window.setTimeout(function(){c.classList.remove("energize-focus")},150))))},s=function(e,t){for(var n=e;n!==document.body;){if(!n||n.nodeName===t)return n;n=n.parentNode}return null},document.addEventListener("touchstart",t,!1),document.addEventListener("touchmove",n,!1),document.addEventListener("touchend",i,!1),document.addEventListener("click",o,!0)}}(),/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -function(e){"use strict";function t(t){if(t&&""!==t){$(".lang-selector a").removeClass("active"),$(".lang-selector a[data-language-name='"+t+"']").addClass("active");for(var n=0;n=1){var e=n(location.search).language;if(e)return e;if(-1!=jQuery.inArray(location.search.substr(1),c))return location.search.substr(1)}return!1}function s(e){var t=n(location.search);return t.language?(t.language=e,i(t)):e}function r(e){if(history){var t=window.location.hash;t&&(t=t.replace(/^#+/,"")),history.pushState({},"","?"+s(e)+"#"+t),localStorage.setItem("language",e)}}function a(e){var n=localStorage.getItem("language");c=e;var i=o();i?(t(i),localStorage.setItem("language",i)):t(null!==n&&-1!=jQuery.inArray(n,c)?n:c[0])}var c=[];e.setupLanguages=a,e.activateLanguage=t,$(function(){$(".lang-selector a").on("click",function(){var e=$(this).data("language-name");return r(e),t(e),!1}),window.onpopstate=function(){t(o())}})}(window),/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.7 - * Copyright (C) 2014 Oliver Nightingale - * MIT Licensed - * @license - */ -function(){var e=function(t){var n=new e.Index;return n.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),t&&t.call(n,n),n};e.version="0.5.7",/*! - * lunr.utils - * Copyright (C) 2014 Oliver Nightingale - */ -e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),/*! - * lunr.EventEmitter - * Copyright (C) 2014 Oliver Nightingale - */ -e.EventEmitter=function(){this.events={}},e.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},e.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);this.events[e].splice(n,1),this.events[e].length||delete this.events[e]}},e.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)})}},e.EventEmitter.prototype.hasHandler=function(e){return e in this.events},/*! - * lunr.tokenizer - * Copyright (C) 2014 Oliver Nightingale - */ -e.tokenizer=function(e){if(!arguments.length||null==e||void 0==e)return[];if(Array.isArray(e))return e.map(function(e){return e.toLowerCase()});for(var t=e.toString().replace(/^\s+/,""),n=t.length-1;n>=0;n--)if(/\S/.test(t.charAt(n))){t=t.substring(0,n+1);break}return t.split(/(?:\s+|\-)/).filter(function(e){return!!e}).map(function(e){return e.toLowerCase()})},/*! - * lunr.Pipeline - * Copyright (C) 2014 Oliver Nightingale - */ -e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions={},e.Pipeline.registerFunction=function(t,n){n in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+n),t.label=n,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var n=t.label&&t.label in this.registeredFunctions;n||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load un-registered function: "+t);n.add(i)}),n},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t)+1;this._stack.splice(i,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t);this._stack.splice(i,0,n)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._stack.length,o=0;n>o;o++){for(var s=e[o],r=0;i>r&&(s=this._stack[r](s,o,e),void 0!==s);r++);void 0!==s&&t.push(s)}return t},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},/*! - * lunr.Vector - * Copyright (C) 2014 Oliver Nightingale - */ -e.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},e.Vector.Node=function(e,t,n){this.idx=e,this.val=t,this.next=n},e.Vector.prototype.insert=function(t,n){var i=this.list;if(!i)return this.list=new e.Vector.Node(t,n,i),this.length++;for(var o=i,s=i.next;void 0!=s;){if(tn.idx?n=n.next:(i+=t.val*n.val,t=t.next,n=n.next);return i},e.Vector.prototype.similarity=function(e){return this.dot(e)/(this.magnitude()*e.magnitude())},/*! - * lunr.SortedSet - * Copyright (C) 2014 Oliver Nightingale - */ -e.SortedSet=function(){this.length=0,this.elements=[]},e.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},e.SortedSet.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e)},this),this.length=this.elements.length},e.SortedSet.prototype.toArray=function(){return this.elements.slice()},e.SortedSet.prototype.map=function(e,t){return this.elements.map(e,t)},e.SortedSet.prototype.forEach=function(e,t){return this.elements.forEach(e,t)},e.SortedSet.prototype.indexOf=function(e,t,n){var t=t||0,n=n||this.elements.length,i=n-t,o=t+Math.floor(i/2),s=this.elements[o];return 1>=i?s===e?o:-1:e>s?this.indexOf(e,o,n):s>e?this.indexOf(e,t,o):s===e?o:void 0},e.SortedSet.prototype.locationFor=function(e,t,n){var t=t||0,n=n||this.elements.length,i=n-t,o=t+Math.floor(i/2),s=this.elements[o];if(1>=i){if(s>e)return o;if(e>s)return o+1}return e>s?this.locationFor(e,o,n):s>e?this.locationFor(e,t,o):void 0},e.SortedSet.prototype.intersect=function(t){for(var n=new e.SortedSet,i=0,o=0,s=this.length,r=t.length,a=this.elements,c=t.elements;;){if(i>s-1||o>r-1)break;a[i]!==c[o]?a[i]c[o]&&o++:(n.add(a[i]),i++,o++)}return n},e.SortedSet.prototype.clone=function(){var t=new e.SortedSet;return t.elements=this.toArray(),t.length=t.elements.length,t},e.SortedSet.prototype.union=function(e){var t,n,i;return this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone(),i.add.apply(i,n.toArray()),i},e.SortedSet.prototype.toJSON=function(){return this.toArray()},/*! - * lunr.Index - * Copyright (C) 2014 Oliver Nightingale - */ -e.Index=function(){this._fields=[],this._ref="id",this.pipeline=new e.Pipeline,this.documentStore=new e.Store,this.tokenStore=new e.TokenStore,this.corpusTokens=new e.SortedSet,this.eventEmitter=new e.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},e.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},e.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},e.Index.load=function(t){t.version!==e.version&&e.utils.warn("version mismatch: current "+e.version+" importing "+t.version);var n=new this;return n._fields=t.fields,n._ref=t.ref,n.documentStore=e.Store.load(t.documentStore),n.tokenStore=e.TokenStore.load(t.tokenStore),n.corpusTokens=e.SortedSet.load(t.corpusTokens),n.pipeline=e.Pipeline.load(t.pipeline),n},e.Index.prototype.field=function(e,t){var t=t||{},n={name:e,boost:t.boost||1};return this._fields.push(n),this},e.Index.prototype.ref=function(e){return this._ref=e,this},e.Index.prototype.add=function(t,n){var i={},o=new e.SortedSet,s=t[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var s=this.pipeline.run(e.tokenizer(t[n.name]));i[n.name]=s,e.SortedSet.prototype.add.apply(o,s)},this),this.documentStore.set(s,o),e.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var r=0;r0&&(i=1+Math.log(this.tokenStore.length/n)),this._idfCache[t]=i},e.Index.prototype.search=function(t){var n=this.pipeline.run(e.tokenizer(t)),i=new e.Vector,o=[],s=this._fields.reduce(function(e,t){return e+t.boost},0),r=n.some(function(e){return this.tokenStore.has(e)},this);if(!r)return[];n.forEach(function(t,n,r){var a=1/r.length*this._fields.length*s,c=this,h=this.tokenStore.expand(t).reduce(function(n,o){var s=c.corpusTokens.indexOf(o),r=c.idf(o),h=1,l=new e.SortedSet;if(o!==t){var u=Math.max(3,o.length-t.length);h=1/Math.log(u)}return s>-1&&i.insert(s,a*r*h),Object.keys(c.tokenStore.get(o)).forEach(function(e){l.add(e)}),n.union(l)},new e.SortedSet);o.push(h)},this);var a=o.reduce(function(e,t){return e.intersect(t)});return a.map(function(e){return{ref:e,score:i.similarity(this.documentVector(e))}},this).sort(function(e,t){return t.score-e.score})},e.Index.prototype.documentVector=function(t){for(var n=this.documentStore.get(t),i=n.length,o=new e.Vector,s=0;i>s;s++){var r=n.elements[s],a=this.tokenStore.get(r)[t].tf,c=this.idf(r);o.insert(this.corpusTokens.indexOf(r),a*c)}return o},e.Index.prototype.toJSON=function(){return{version:e.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},e.Index.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},/*! - * lunr.Store - * Copyright (C) 2014 Oliver Nightingale - */ -e.Store=function(){this.store={},this.length=0},e.Store.load=function(t){var n=new this;return n.length=t.length,n.store=Object.keys(t.store).reduce(function(n,i){return n[i]=e.SortedSet.load(t.store[i]),n},{}),n},e.Store.prototype.set=function(e,t){this.has(e)||this.length++,this.store[e]=t},e.Store.prototype.get=function(e){return this.store[e]},e.Store.prototype.has=function(e){return e in this.store},e.Store.prototype.remove=function(e){this.has(e)&&(delete this.store[e],this.length--)},e.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},/*! - * lunr.stemmer - * Copyright (C) 2014 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",s=i+"[aeiou]*",r="^("+o+")?"+s+o,a="^("+o+")?"+s+o+"("+s+")?$",c="^("+o+")?"+s+o+s+o,h="^("+o+")?"+i,l=new RegExp(r),u=new RegExp(c),d=new RegExp(a),f=new RegExp(h),p=/^(.+?)(ss|i)es$/,g=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,w=/(at|bl|iz)$/,b=new RegExp("([^aeiouylsz])\\1$"),E=new RegExp("^"+o+i+"[^aeiouwxy]$"),x=/^(.+?[^aeiou])y$/,_=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,S=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,C=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,O=/^(.+?)(s|t)(ion)$/,k=/^(.+?)e$/,L=/ll$/,A=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,s,r,a,c,h;if(n.length<3)return n;if(s=n.substr(0,1),"y"==s&&(n=s.toUpperCase()+n.substr(1)),r=p,a=g,r.test(n)?n=n.replace(r,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),r=v,a=m,r.test(n)){var T=r.exec(n);r=l,r.test(T[1])&&(r=y,n=n.replace(r,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=f,a.test(i)&&(n=i,a=w,c=b,h=E,a.test(n)?n+="e":c.test(n)?(r=y,n=n.replace(r,"")):h.test(n)&&(n+="e"))}if(r=x,r.test(n)){var T=r.exec(n);i=T[1],n=i+"i"}if(r=_,r.test(n)){var T=r.exec(n);i=T[1],o=T[2],r=l,r.test(i)&&(n=i+e[o])}if(r=S,r.test(n)){var T=r.exec(n);i=T[1],o=T[2],r=l,r.test(i)&&(n=i+t[o])}if(r=C,a=O,r.test(n)){var T=r.exec(n);i=T[1],r=u,r.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=u,a.test(i)&&(n=i)}if(r=k,r.test(n)){var T=r.exec(n);i=T[1],r=u,a=d,c=A,(r.test(i)||a.test(i)&&!c.test(i))&&(n=i)}return r=L,a=u,r.test(n)&&a.test(n)&&(r=y,n=n.replace(r,"")),"y"==s&&(n=s.toLowerCase()+n.substr(1)),n};return T}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),/*! - * lunr.stopWordFilter - * Copyright (C) 2014 Oliver Nightingale - */ -e.stopWordFilter=function(t){return-1===e.stopWordFilter.stopWords.indexOf(t)?t:void 0},e.stopWordFilter.stopWords=new e.SortedSet,e.stopWordFilter.stopWords.length=119,e.stopWordFilter.stopWords.elements=["","a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"],e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),/*! - * lunr.trimmer - * Copyright (C) 2014 Oliver Nightingale - */ -e.trimmer=function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")},e.Pipeline.registerFunction(e.trimmer,"trimmer"),/*! - * lunr.stemmer - * Copyright (C) 2014 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -e.TokenStore=function(){this.root={docs:{}},this.length=0},e.TokenStore.load=function(e){var t=new this;return t.root=e.root,t.length=e.length,t},e.TokenStore.prototype.add=function(e,t,n){var n=n||this.root,i=e[0],o=e.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[t.ref]=t,void(this.length+=1)):this.add(o,t,n[i])},e.TokenStore.prototype.has=function(e){if(!e)return!1;for(var t=this.root,n=0;n (default options) - * $('#content').highlight('lorem'); - * - * // search for and highlight more terms at once - * // so you can save some time on traversing DOM - * $('#content').highlight(['lorem', 'ipsum']); - * $('#content').highlight('lorem ipsum'); - * - * // search only for entire word 'lorem' - * $('#content').highlight('lorem', { wordsOnly: true }); - * - * // don't ignore case during search of term 'lorem' - * $('#content').highlight('lorem', { caseSensitive: true }); - * - * // wrap every occurrance of term 'ipsum' in content - * // with - * $('#content').highlight('ipsum', { element: 'em', className: 'important' }); - * - * // remove default highlight - * $('#content').unhighlight(); - * - * // remove custom highlight - * $('#content').unhighlight({ element: 'em', className: 'important' }); - * - * - * Copyright (c) 2009 Bartek Szopka - * - * Licensed under MIT license. - * - */ -jQuery.extend({highlight:function(e,t,n,i){if(3===e.nodeType){var o=e.data.match(t);if(o){var s=document.createElement(n||"span");s.className=i||"highlight";var r=e.splitText(o.index);r.splitText(o[0].length);var a=r.cloneNode(!0);return s.appendChild(a),r.parentNode.replaceChild(s,r),1}}else if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&(e.tagName!==n.toUpperCase()||e.className!==i))for(var c=0;c1e-4});t.length?(r.empty(),$.each(t,function(e,t){var n=document.getElementById(t.ref);r.append("
          • "+$(n).text()+"
          • ")}),i.call(this)):(r.html("
          • "),$(".search-results li").text('No Results Found for "'+this.value+'"'))}else o(),r.removeClass("visible")}function i(){this.value&&s.highlight(this.value,a)}function o(){s.unhighlight(a)}var s,r,a={element:"span",className:"search-highlight"},c=new lunr.Index;c.ref("id"),c.field("title",{boost:10}),c.field("body"),c.pipeline.add(lunr.trimmer,lunr.stopWordFilter),$(e),$(t)}(),/*! jQuery UI - v1.11.3 - 2015-02-12 - * http://jqueryui.com - * Includes: widget.js - * Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ -function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){/*! - * jQuery UI Widget 1.11.3 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ -var t=0,n=Array.prototype.slice;e.cleanData=function(t){return function(n){var i,o,s;for(s=0;null!=(o=n[s]);s++)try{i=e._data(o,"events"),i&&i.remove&&e(o).triggerHandler("remove")}catch(r){}t(n)}}(e.cleanData),e.widget=function(t,n,i){var o,s,r,a,c={},h=t.split(".")[0];return t=t.split(".")[1],o=h+"-"+t,i||(i=n,n=e.Widget),e.expr[":"][o.toLowerCase()]=function(t){return!!e.data(t,o)},e[h]=e[h]||{},s=e[h][t],r=e[h][t]=function(e,t){return this._createWidget?void(arguments.length&&this._createWidget(e,t)):new r(e,t)},e.extend(r,s,{version:i.version,_proto:e.extend({},i),_childConstructors:[]}),a=new n,a.options=e.widget.extend({},a.options),e.each(i,function(t,i){return e.isFunction(i)?void(c[t]=function(){var e=function(){return n.prototype[t].apply(this,arguments)},o=function(e){return n.prototype[t].apply(this,e)};return function(){var t,n=this._super,s=this._superApply;return this._super=e,this._superApply=o,t=i.apply(this,arguments),this._super=n,this._superApply=s,t}}()):void(c[t]=i)}),r.prototype=e.widget.extend(a,{widgetEventPrefix:s?a.widgetEventPrefix||t:t},c,{constructor:r,namespace:h,widgetName:t,widgetFullName:o}),s?(e.each(s._childConstructors,function(t,n){var i=n.prototype;e.widget(i.namespace+"."+i.widgetName,r,n._proto)}),delete s._childConstructors):n._childConstructors.push(r),e.widget.bridge(t,r),r},e.widget.extend=function(t){for(var i,o,s=n.call(arguments,1),r=0,a=s.length;a>r;r++)for(i in s[r])o=s[r][i],s[r].hasOwnProperty(i)&&void 0!==o&&(t[i]=e.isPlainObject(o)?e.isPlainObject(t[i])?e.widget.extend({},t[i],o):e.widget.extend({},o):o);return t},e.widget.bridge=function(t,i){var o=i.prototype.widgetFullName||t;e.fn[t]=function(s){var r="string"==typeof s,a=n.call(arguments,1),c=this;return r?this.each(function(){var n,i=e.data(this,o);return"instance"===s?(c=i,!1):i?e.isFunction(i[s])&&"_"!==s.charAt(0)?(n=i[s].apply(i,a),n!==i&&void 0!==n?(c=n&&n.jquery?c.pushStack(n.get()):n,!1):void 0):e.error("no such method '"+s+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; attempted to call method '"+s+"'")}):(a.length&&(s=e.widget.extend.apply(null,[s].concat(a))),this.each(function(){var t=e.data(this,o);t?(t.option(s||{}),t._init&&t._init()):e.data(this,o,new i(s,this))})),c}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
            ",options:{disabled:!1,create:null},_createWidget:function(n,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=t++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),n),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,n){var i,o,s,r=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(r={},i=t.split("."),t=i.shift(),i.length){for(o=r[t]=e.widget.extend({},this.options[t]),s=0;s",{id:c+t,"class":c}).append(i._nestElements(e(this),t)),i.element.append(n),e(this).nextUntil(this.nodeName.toLowerCase()).each(function(){0===e(this).find(i.options.selectors).length?e(this).filter(i.options.selectors).each(function(){e(this).is(s)||i._appendSubheaders.call(this,i,n)}):e(this).find(i.options.selectors).each(function(){e(this).is(s)||i._appendSubheaders.call(this,i,n)})}))})):void i.element.addClass(a)},_setActiveElement:function(e){var n=this,i=t.location.hash.substring(1),o=n.element.find("li[data-unique='"+i+"']");return i.length?(n.element.find("."+n.focusClass).removeClass(n.focusClass),o.addClass(n.focusClass),n.options.showAndHide&&o.click()):(n.element.find("."+n.focusClass).removeClass(n.focusClass),!i.length&&e&&n.options.highlightDefault&&n.element.find(f).first().addClass(n.focusClass)),n},_nestElements:function(t,n){var i,o,s;return i=e.grep(this.items,function(e){return e===t.text()}),this.items.push(i.length?t.text()+n:t.text()),s=this._generateHashValue(i,t,n),o=e("
          • ",{"class":d,"data-unique":s}).append(e("",{text:t.text()})),t.before(e("
            ",{name:s,"data-unique":s})),o},_generateHashValue:function(e,t,n){var i="",o=this.options.hashGenerator;if("pretty"===o){for(i=t.text().toLowerCase().replace(/\s/g,"-"),i=i.replace(/[^\x00-\x7F]/g,"");i.indexOf("--")>-1;)i=i.replace(/--/g,"-");for(;i.indexOf(":-")>-1;)i=i.replace(/:-/g,"-")}else i="function"==typeof o?o(t.text(),t):t.text().replace(/\s/g,"");return e.length&&(i+=""+n),i},_appendSubheaders:function(t,n){var i=e(this).index(t.options.selectors),o=e(t.options.selectors).eq(i-1),s=+e(this).prop("tagName").charAt(1),r=+o.prop("tagName").charAt(1);r>s?t.element.find(u+"[data-tag="+s+"]").last().append(t._nestElements(e(this),i)):s===r?n.find(f).last().after(t._nestElements(e(this),i)):n.find(f).last().after(e("
              ",{"class":l,"data-tag":s})).next(u).append(t._nestElements(e(this),i))},_setEventHandlers:function(){var o=this;this.element.on("click.tocify","li",function(){if(o.options.history&&(t.location.hash=e(this).attr("data-unique")),o.element.find("."+o.focusClass).removeClass(o.focusClass),e(this).addClass(o.focusClass),o.options.showAndHide){var n=e('li[data-unique="'+e(this).attr("data-unique")+'"]');o._triggerShow(n)}o._scrollTo(e(this))}),this.element.find("li").on({"mouseenter.tocify":function(){e(this).addClass(o.hoverClass),e(this).css("cursor","pointer")},"mouseleave.tocify":function(){"bootstrap"!==o.options.theme&&e(this).removeClass(o.hoverClass)}}),e(t).on("resize",function(){o.calculateHeights()}),e(t).on("scroll.tocify",function(){e("html, body").promise().done(function(){var s,r,a,c,h=e(t).scrollTop(),l=e(t).height(),u=e(n).height(),d=e("body")[0].scrollHeight;if(o.options.extendPage&&(o.webkit&&h>=d-l-o.options.extendPageOffset||!o.webkit&&l+h>u-o.options.extendPageOffset)&&!e(g).length){if(r=e('div[data-unique="'+e(f).last().attr("data-unique")+'"]'),!r.length)return;a=r.offset().top,e(o.options.context).append(e("
              ",{"class":p,height:Math.abs(a-h)+"px","data-unique":p})),o.extendPageScroll&&(c=o.element.find("li.active"),o._scrollTo(e("div[data-unique="+c.attr("data-unique")+"]")))}setTimeout(function(){var r,a=null;0==o.cachedHeights.length&&o.calculateHeights();var c=e(t).scrollTop();if(o.cachedAnchors.each(function(e){return o.cachedHeights[e]-c<0?void(a=e):!1}),r=e(o.cachedAnchors[a]).attr("data-unique"),s=e('li[data-unique="'+r+'"]'),o.options.highlightOnScroll&&s.length&&!s.hasClass(o.focusClass)){o.element.find("."+o.focusClass).removeClass(o.focusClass),s.addClass(o.focusClass);var h=o.tocifyWrapper,l=e(s).closest(".tocify-header"),u=l.offset().top,d=h.offset().top,f=u-d;if(f>=e(t).height()){var p=f+h.scrollTop();h.scrollTop(p)}else 0>f&&h.scrollTop(0)}o.options.scrollHistory&&t.location.hash!=="#"+r&&r!==i&&(history.replaceState?history.replaceState({},"","#"+r):(scrollV=n.body.scrollTop,scrollH=n.body.scrollLeft,location.hash="#"+r,n.body.scrollTop=scrollV,n.body.scrollLeft=scrollH)),o.options.showAndHideOnScroll&&o.options.showAndHide&&o._triggerShow(s,!0)},0)})})},calculateHeights:function(){var t=this;t.cachedHeights=[],t.cachedAnchors=[];var n=e(t.options.context).find("div[data-unique]");n.each(function(n){var i=(e(this).next().length?e(this).next():e(this)).offset().top-t.options.highlightOffset;t.cachedHeights[n]=i}),t.cachedAnchors=n},show:function(t){var n=this;if(!t.is(":visible"))switch(t.find(u).length||t.parent().is(h)||t.parent().is(":visible")?t.children(u).length||t.parent().is(h)||(t=t.closest(u)):t=t.parents(u).add(t),n.options.showEffect){case"none":t.show();break;case"show":t.show(n.options.showEffectSpeed);break;case"slideDown":t.slideDown(n.options.showEffectSpeed);break;case"fadeIn":t.fadeIn(n.options.showEffectSpeed);break;default:t.show()}return n.hide(e(u).not(t.parent().is(h)?t:t.closest(h).find(u).not(t.siblings()))),n},hide:function(e){var t=this;switch(t.options.hideEffect){case"none":e.hide();break;case"hide":e.hide(t.options.hideEffectSpeed);break;case"slideUp":e.slideUp(t.options.hideEffectSpeed);break;case"fadeOut":e.fadeOut(t.options.hideEffectSpeed);break;default:e.hide()}return t},_triggerShow:function(e,t){var n=this;return e.parent().is(h)||e.next().is(u)?n.show(e.next(u),t):e.parent().is(u)&&n.show(e.parent(),t),n},_addCSSClasses:function(){return"jqueryui"===this.options.theme?(this.focusClass="ui-state-default",this.hoverClass="ui-state-hover",this.element.addClass("ui-widget").find(".toc-title").addClass("ui-widget-header").end().find("li").addClass("ui-widget-content")):"bootstrap"===this.options.theme?(this.element.find(h+","+u).addClass("nav nav-list"),this.focusClass="active"):(this.focusClass=s,this.hoverClass=r),this},setOption:function(){e.Widget.prototype._setOption.apply(this,arguments)},setOptions:function(){e.Widget.prototype._setOptions.apply(this,arguments)},_scrollTo:function(t){var n=this,i=n.options.smoothScroll||0,o=n.options.scrollTo;return e("html, body").promise().done(function(){e("html, body").animate({scrollTop:e('div[data-unique="'+t.attr("data-unique")+'"]').next().offset().top-(e.isFunction(o)?o.call():o)+"px"},{duration:i})}),n}})}),/*! - * imagesLoaded PACKAGED v3.1.8 - * JavaScript is all like "You images are done yet or what?" - * MIT License - */ -function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,o=this,s=o.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,o=this.getListenersAsObject(e),s="object"==typeof n;for(i in o)o.hasOwnProperty(i)&&-1===t(o[i],n)&&o[i].push(s?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,o,s=this.getListenersAsObject(e);for(o in s)s.hasOwnProperty(o)&&(i=t(s[o],n),-1!==i&&s[o].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,o,s=e?this.removeListener:this.addListener,r=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)s.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(o=t[i])&&("function"==typeof o?s.call(this,i,o):r.call(this,i,o));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,o,s,r=this.getListenersAsObject(e);for(o in r)if(r.hasOwnProperty(o))for(i=r[o].length;i--;)n=r[o][i],n.once===!0&&this.removeListener(e,n.listener),s=n.listener.apply(this,t||[]),s===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return o.EventEmitter=s,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}.call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var o=function(){};n.removeEventListener?o=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(o=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var s={bind:i,unbind:o};"function"==typeof define&&define.amd?define("eventie/eventie",s):e.eventie=s}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function o(e){return"[object Array]"===d.call(e)}function s(e){var t=[];if(o(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function r(e,t,n){if(!(this instanceof r))return new r(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=s(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),h&&(this.jqDeferred=new h.Deferred);var o=this;setTimeout(function(){o.check()})}function a(e){this.img=e}function c(e){this.src=e,f[e]=this}var h=e.jQuery,l=e.console,u=void 0!==l,d=Object.prototype.toString;r.prototype=new t,r.prototype.options={},r.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var o=n.querySelectorAll("img"),s=0,r=o.length;r>s;s++){var a=o[s];this.addImage(a)}}},r.prototype.addImage=function(e){var t=new a(e);this.images.push(t)},r.prototype.check=function(){function e(e,o){return t.options.debug&&u&&l.log("confirm",e,o),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return void this.complete();for(var o=0;i>o;o++){var s=this.images[o];s.on("confirm",e),s.check()}},r.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},r.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},h&&(h.fn.imagesLoaded=function(e,t){var n=new r(this,e,t);return n.jqDeferred.promise(h(this))}),a.prototype=new t,a.prototype.check=function(){var e=f[this.img.src]||new c(this.img.src);if(e.isConfirmed)return void this.confirm(e.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},a.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var f={};return c.prototype=new t,c.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},c.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},c.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},c.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},c.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},c.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},r}),function(e){"use strict";function t(){setTimeout(function(){toc.setOption("showEffectSpeed",180)},50)}var n=function(){$(".tocify-wrapper").removeClass("open"),$("#nav-button").removeClass("open")},i=function(){e.toc=$("#toc").tocify({selectors:"h1, h2",extendPage:!1,theme:"none",smoothScroll:!1,showEffectSpeed:0,hideEffectSpeed:180,ignoreSelector:".toc-ignore",highlightOffset:60,scrollTo:-1,scrollHistory:!0,hashGenerator:function(e,t){return t.prop("id")}}).data("toc-tocify"),$("#nav-button").click(function(){return $(".tocify-wrapper").toggleClass("open"),$("#nav-button").toggleClass("open"),!1}),$(".page-wrapper").click(n),$(".tocify-item").click(n)};$(function(){i(),t(),$(".content").imagesLoaded(function(){e.toc.calculateHeights()})})}(window); \ No newline at end of file diff --git a/apidocs/docker-cloud/javascripts/all_nosearch.js b/apidocs/docker-cloud/javascripts/all_nosearch.js deleted file mode 100644 index 816537543f80..000000000000 --- a/apidocs/docker-cloud/javascripts/all_nosearch.js +++ /dev/null @@ -1,43 +0,0 @@ -!function(){if("ontouchstart"in window){var e,t,n,i,o,s,r={};e=function(e,t){return Math.abs(e[0]-t[0])>5||Math.abs(e[1]-t[1])>5},t=function(e){this.startXY=[e.touches[0].clientX,e.touches[0].clientY],this.threshold=!1},n=function(t){return this.threshold?!1:void(this.threshold=e(this.startXY,[t.touches[0].clientX,t.touches[0].clientY]))},i=function(t){if(!this.threshold&&!e(this.startXY,[t.changedTouches[0].clientX,t.changedTouches[0].clientY])){var n=t.changedTouches[0],i=document.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),i.simulated=!0,t.target.dispatchEvent(i)}},o=function(e){var t=Date.now(),n=t-r.time,i=e.clientX,o=e.clientY,a=[Math.abs(r.x-i),Math.abs(r.y-o)],c=s(e.target,"A")||e.target,h=c.nodeName,u="A"===h,l=window.navigator.standalone&&u&&e.target.getAttribute("href");return r.time=t,r.x=i,r.y=o,(!e.simulated&&(500>n||1500>n&&a[0]<50&&a[1]<50)||l)&&(e.preventDefault(),e.stopPropagation(),!l)?!1:(l&&(window.location=c.getAttribute("href")),void(c&&c.classList&&(c.classList.add("energize-focus"),window.setTimeout(function(){c.classList.remove("energize-focus")},150))))},s=function(e,t){for(var n=e;n!==document.body;){if(!n||n.nodeName===t)return n;n=n.parentNode}return null},document.addEventListener("touchstart",t,!1),document.addEventListener("touchmove",n,!1),document.addEventListener("touchend",i,!1),document.addEventListener("click",o,!0)}}(),/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -function(e){"use strict";function t(t){if(t&&""!==t){$(".lang-selector a").removeClass("active"),$(".lang-selector a[data-language-name='"+t+"']").addClass("active");for(var n=0;n=1){var e=n(location.search).language;if(e)return e;if(-1!=jQuery.inArray(location.search.substr(1),c))return location.search.substr(1)}return!1}function s(e){var t=n(location.search);return t.language?(t.language=e,i(t)):e}function r(e){if(history){var t=window.location.hash;t&&(t=t.replace(/^#+/,"")),history.pushState({},"","?"+s(e)+"#"+t),localStorage.setItem("language",e)}}function a(e){var n=localStorage.getItem("language");c=e;var i=o();i?(t(i),localStorage.setItem("language",i)):t(null!==n&&-1!=jQuery.inArray(n,c)?n:c[0])}var c=[];e.setupLanguages=a,e.activateLanguage=t,$(function(){$(".lang-selector a").on("click",function(){var e=$(this).data("language-name");return r(e),t(e),!1}),window.onpopstate=function(){t(o())}})}(window),/*! jQuery UI - v1.11.3 - 2015-02-12 - * http://jqueryui.com - * Includes: widget.js - * Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ -function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){/*! - * jQuery UI Widget 1.11.3 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ -var t=0,n=Array.prototype.slice;e.cleanData=function(t){return function(n){var i,o,s;for(s=0;null!=(o=n[s]);s++)try{i=e._data(o,"events"),i&&i.remove&&e(o).triggerHandler("remove")}catch(r){}t(n)}}(e.cleanData),e.widget=function(t,n,i){var o,s,r,a,c={},h=t.split(".")[0];return t=t.split(".")[1],o=h+"-"+t,i||(i=n,n=e.Widget),e.expr[":"][o.toLowerCase()]=function(t){return!!e.data(t,o)},e[h]=e[h]||{},s=e[h][t],r=e[h][t]=function(e,t){return this._createWidget?void(arguments.length&&this._createWidget(e,t)):new r(e,t)},e.extend(r,s,{version:i.version,_proto:e.extend({},i),_childConstructors:[]}),a=new n,a.options=e.widget.extend({},a.options),e.each(i,function(t,i){return e.isFunction(i)?void(c[t]=function(){var e=function(){return n.prototype[t].apply(this,arguments)},o=function(e){return n.prototype[t].apply(this,e)};return function(){var t,n=this._super,s=this._superApply;return this._super=e,this._superApply=o,t=i.apply(this,arguments),this._super=n,this._superApply=s,t}}()):void(c[t]=i)}),r.prototype=e.widget.extend(a,{widgetEventPrefix:s?a.widgetEventPrefix||t:t},c,{constructor:r,namespace:h,widgetName:t,widgetFullName:o}),s?(e.each(s._childConstructors,function(t,n){var i=n.prototype;e.widget(i.namespace+"."+i.widgetName,r,n._proto)}),delete s._childConstructors):n._childConstructors.push(r),e.widget.bridge(t,r),r},e.widget.extend=function(t){for(var i,o,s=n.call(arguments,1),r=0,a=s.length;a>r;r++)for(i in s[r])o=s[r][i],s[r].hasOwnProperty(i)&&void 0!==o&&(t[i]=e.isPlainObject(o)?e.isPlainObject(t[i])?e.widget.extend({},t[i],o):e.widget.extend({},o):o);return t},e.widget.bridge=function(t,i){var o=i.prototype.widgetFullName||t;e.fn[t]=function(s){var r="string"==typeof s,a=n.call(arguments,1),c=this;return r?this.each(function(){var n,i=e.data(this,o);return"instance"===s?(c=i,!1):i?e.isFunction(i[s])&&"_"!==s.charAt(0)?(n=i[s].apply(i,a),n!==i&&void 0!==n?(c=n&&n.jquery?c.pushStack(n.get()):n,!1):void 0):e.error("no such method '"+s+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; attempted to call method '"+s+"'")}):(a.length&&(s=e.widget.extend.apply(null,[s].concat(a))),this.each(function(){var t=e.data(this,o);t?(t.option(s||{}),t._init&&t._init()):e.data(this,o,new i(s,this))})),c}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
              ",options:{disabled:!1,create:null},_createWidget:function(n,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=t++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),n),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,n){var i,o,s,r=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(r={},i=t.split("."),t=i.shift(),i.length){for(o=r[t]=e.widget.extend({},this.options[t]),s=0;s",{id:c+t,"class":c}).append(i._nestElements(e(this),t)),i.element.append(n),e(this).nextUntil(this.nodeName.toLowerCase()).each(function(){0===e(this).find(i.options.selectors).length?e(this).filter(i.options.selectors).each(function(){e(this).is(s)||i._appendSubheaders.call(this,i,n)}):e(this).find(i.options.selectors).each(function(){e(this).is(s)||i._appendSubheaders.call(this,i,n)})}))})):void i.element.addClass(a)},_setActiveElement:function(e){var n=this,i=t.location.hash.substring(1),o=n.element.find("li[data-unique='"+i+"']");return i.length?(n.element.find("."+n.focusClass).removeClass(n.focusClass),o.addClass(n.focusClass),n.options.showAndHide&&o.click()):(n.element.find("."+n.focusClass).removeClass(n.focusClass),!i.length&&e&&n.options.highlightDefault&&n.element.find(f).first().addClass(n.focusClass)),n},_nestElements:function(t,n){var i,o,s;return i=e.grep(this.items,function(e){return e===t.text()}),this.items.push(i.length?t.text()+n:t.text()),s=this._generateHashValue(i,t,n),o=e("
            • ",{"class":d,"data-unique":s}).append(e("",{text:t.text()})),t.before(e("
              ",{name:s,"data-unique":s})),o},_generateHashValue:function(e,t,n){var i="",o=this.options.hashGenerator;if("pretty"===o){for(i=t.text().toLowerCase().replace(/\s/g,"-"),i=i.replace(/[^\x00-\x7F]/g,"");i.indexOf("--")>-1;)i=i.replace(/--/g,"-");for(;i.indexOf(":-")>-1;)i=i.replace(/:-/g,"-")}else i="function"==typeof o?o(t.text(),t):t.text().replace(/\s/g,"");return e.length&&(i+=""+n),i},_appendSubheaders:function(t,n){var i=e(this).index(t.options.selectors),o=e(t.options.selectors).eq(i-1),s=+e(this).prop("tagName").charAt(1),r=+o.prop("tagName").charAt(1);r>s?t.element.find(l+"[data-tag="+s+"]").last().append(t._nestElements(e(this),i)):s===r?n.find(f).last().after(t._nestElements(e(this),i)):n.find(f).last().after(e("
                ",{"class":u,"data-tag":s})).next(l).append(t._nestElements(e(this),i))},_setEventHandlers:function(){var o=this;this.element.on("click.tocify","li",function(){if(o.options.history&&(t.location.hash=e(this).attr("data-unique")),o.element.find("."+o.focusClass).removeClass(o.focusClass),e(this).addClass(o.focusClass),o.options.showAndHide){var n=e('li[data-unique="'+e(this).attr("data-unique")+'"]');o._triggerShow(n)}o._scrollTo(e(this))}),this.element.find("li").on({"mouseenter.tocify":function(){e(this).addClass(o.hoverClass),e(this).css("cursor","pointer")},"mouseleave.tocify":function(){"bootstrap"!==o.options.theme&&e(this).removeClass(o.hoverClass)}}),e(t).on("resize",function(){o.calculateHeights()}),e(t).on("scroll.tocify",function(){e("html, body").promise().done(function(){var s,r,a,c,h=e(t).scrollTop(),u=e(t).height(),l=e(n).height(),d=e("body")[0].scrollHeight;if(o.options.extendPage&&(o.webkit&&h>=d-u-o.options.extendPageOffset||!o.webkit&&u+h>l-o.options.extendPageOffset)&&!e(g).length){if(r=e('div[data-unique="'+e(f).last().attr("data-unique")+'"]'),!r.length)return;a=r.offset().top,e(o.options.context).append(e("
                ",{"class":p,height:Math.abs(a-h)+"px","data-unique":p})),o.extendPageScroll&&(c=o.element.find("li.active"),o._scrollTo(e("div[data-unique="+c.attr("data-unique")+"]")))}setTimeout(function(){var r,a=null;0==o.cachedHeights.length&&o.calculateHeights();var c=e(t).scrollTop();if(o.cachedAnchors.each(function(e){return o.cachedHeights[e]-c<0?void(a=e):!1}),r=e(o.cachedAnchors[a]).attr("data-unique"),s=e('li[data-unique="'+r+'"]'),o.options.highlightOnScroll&&s.length&&!s.hasClass(o.focusClass)){o.element.find("."+o.focusClass).removeClass(o.focusClass),s.addClass(o.focusClass);var h=o.tocifyWrapper,u=e(s).closest(".tocify-header"),l=u.offset().top,d=h.offset().top,f=l-d;if(f>=e(t).height()){var p=f+h.scrollTop();h.scrollTop(p)}else 0>f&&h.scrollTop(0)}o.options.scrollHistory&&t.location.hash!=="#"+r&&r!==i&&(history.replaceState?history.replaceState({},"","#"+r):(scrollV=n.body.scrollTop,scrollH=n.body.scrollLeft,location.hash="#"+r,n.body.scrollTop=scrollV,n.body.scrollLeft=scrollH)),o.options.showAndHideOnScroll&&o.options.showAndHide&&o._triggerShow(s,!0)},0)})})},calculateHeights:function(){var t=this;t.cachedHeights=[],t.cachedAnchors=[];var n=e(t.options.context).find("div[data-unique]");n.each(function(n){var i=(e(this).next().length?e(this).next():e(this)).offset().top-t.options.highlightOffset;t.cachedHeights[n]=i}),t.cachedAnchors=n},show:function(t){var n=this;if(!t.is(":visible"))switch(t.find(l).length||t.parent().is(h)||t.parent().is(":visible")?t.children(l).length||t.parent().is(h)||(t=t.closest(l)):t=t.parents(l).add(t),n.options.showEffect){case"none":t.show();break;case"show":t.show(n.options.showEffectSpeed);break;case"slideDown":t.slideDown(n.options.showEffectSpeed);break;case"fadeIn":t.fadeIn(n.options.showEffectSpeed);break;default:t.show()}return n.hide(e(l).not(t.parent().is(h)?t:t.closest(h).find(l).not(t.siblings()))),n},hide:function(e){var t=this;switch(t.options.hideEffect){case"none":e.hide();break;case"hide":e.hide(t.options.hideEffectSpeed);break;case"slideUp":e.slideUp(t.options.hideEffectSpeed);break;case"fadeOut":e.fadeOut(t.options.hideEffectSpeed);break;default:e.hide()}return t},_triggerShow:function(e,t){var n=this;return e.parent().is(h)||e.next().is(l)?n.show(e.next(l),t):e.parent().is(l)&&n.show(e.parent(),t),n},_addCSSClasses:function(){return"jqueryui"===this.options.theme?(this.focusClass="ui-state-default",this.hoverClass="ui-state-hover",this.element.addClass("ui-widget").find(".toc-title").addClass("ui-widget-header").end().find("li").addClass("ui-widget-content")):"bootstrap"===this.options.theme?(this.element.find(h+","+l).addClass("nav nav-list"),this.focusClass="active"):(this.focusClass=s,this.hoverClass=r),this},setOption:function(){e.Widget.prototype._setOption.apply(this,arguments)},setOptions:function(){e.Widget.prototype._setOptions.apply(this,arguments)},_scrollTo:function(t){var n=this,i=n.options.smoothScroll||0,o=n.options.scrollTo;return e("html, body").promise().done(function(){e("html, body").animate({scrollTop:e('div[data-unique="'+t.attr("data-unique")+'"]').next().offset().top-(e.isFunction(o)?o.call():o)+"px"},{duration:i})}),n}})}),/*! - * imagesLoaded PACKAGED v3.1.8 - * JavaScript is all like "You images are done yet or what?" - * MIT License - */ -function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,o=this,s=o.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,o=this.getListenersAsObject(e),s="object"==typeof n;for(i in o)o.hasOwnProperty(i)&&-1===t(o[i],n)&&o[i].push(s?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,o,s=this.getListenersAsObject(e);for(o in s)s.hasOwnProperty(o)&&(i=t(s[o],n),-1!==i&&s[o].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,o,s=e?this.removeListener:this.addListener,r=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)s.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(o=t[i])&&("function"==typeof o?s.call(this,i,o):r.call(this,i,o));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,o,s,r=this.getListenersAsObject(e);for(o in r)if(r.hasOwnProperty(o))for(i=r[o].length;i--;)n=r[o][i],n.once===!0&&this.removeListener(e,n.listener),s=n.listener.apply(this,t||[]),s===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return o.EventEmitter=s,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}.call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var o=function(){};n.removeEventListener?o=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(o=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var s={bind:i,unbind:o};"function"==typeof define&&define.amd?define("eventie/eventie",s):e.eventie=s}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("wolfy87-eventemitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(window,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function o(e){return"[object Array]"===d.call(e)}function s(e){var t=[];if(o(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function r(e,t,n){if(!(this instanceof r))return new r(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=s(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),h&&(this.jqDeferred=new h.Deferred);var o=this;setTimeout(function(){o.check()})}function a(e){this.img=e}function c(e){this.src=e,f[e]=this}var h=e.jQuery,u=e.console,l=void 0!==u,d=Object.prototype.toString;r.prototype=new t,r.prototype.options={},r.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);var i=n.nodeType;if(i&&(1===i||9===i||11===i))for(var o=n.querySelectorAll("img"),s=0,r=o.length;r>s;s++){var a=o[s];this.addImage(a)}}},r.prototype.addImage=function(e){var t=new a(e);this.images.push(t)},r.prototype.check=function(){function e(e,o){return t.options.debug&&l&&u.log("confirm",e,o),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return void this.complete();for(var o=0;i>o;o++){var s=this.images[o];s.on("confirm",e),s.check()}},r.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},r.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},h&&(h.fn.imagesLoaded=function(e,t){var n=new r(this,e,t);return n.jqDeferred.promise(h(this))}),a.prototype=new t,a.prototype.check=function(){var e=f[this.img.src]||new c(this.img.src);if(e.isConfirmed)return void this.confirm(e.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},a.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var f={};return c.prototype=new t,c.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},c.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},c.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},c.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},c.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},c.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},r}),function(e){"use strict";function t(){setTimeout(function(){toc.setOption("showEffectSpeed",180)},50)}var n=function(){$(".tocify-wrapper").removeClass("open"),$("#nav-button").removeClass("open")},i=function(){e.toc=$("#toc").tocify({selectors:"h1, h2",extendPage:!1,theme:"none",smoothScroll:!1,showEffectSpeed:0,hideEffectSpeed:180,ignoreSelector:".toc-ignore",highlightOffset:60,scrollTo:-1,scrollHistory:!0,hashGenerator:function(e,t){return t.prop("id")}}).data("toc-tocify"),$("#nav-button").click(function(){return $(".tocify-wrapper").toggleClass("open"),$("#nav-button").toggleClass("open"),!1}),$(".page-wrapper").click(n),$(".tocify-item").click(n)};$(function(){i(),t(),$(".content").imagesLoaded(function(){e.toc.calculateHeights()})})}(window); \ No newline at end of file diff --git a/apidocs/docker-cloud/stylesheets/print.css b/apidocs/docker-cloud/stylesheets/print.css deleted file mode 100644 index 7b58586abfa4..000000000000 --- a/apidocs/docker-cloud/stylesheets/print.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.content h1,.content h2,.content h3,.content h4,body{font-family:"Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","微软雅黑", STXihei, "华文细黑", sans-serif;font-size:13px}.content h1,.content h2,.content h3,.content h4{font-weight:bold}.content pre,.content code{font-family:Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;font-size:12px;line-height:1.5}.content pre,.content code{word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}@font-face{font-family:'slate';src:url("../fonts/slate.eot?-syv14m");src:url("../fonts/slate.eot?#iefix-syv14m") format("embedded-opentype"),url("../fonts/slate.woff2?-syv14m") format("woff2"),url("../fonts/slate.woff?-syv14m") format("woff"),url("../fonts/slate.ttf?-syv14m") format("truetype"),url("../fonts/slate.svg?-syv14m#slate") format("svg");font-weight:normal;font-style:normal}.content aside.warning:before,.content aside.notice:before,.content aside.success:before{font-family:'slate';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1}.content aside.warning:before{content:"\e600"}.content aside.notice:before{content:"\e602"}.content aside.success:before{content:"\e606"}.tocify,.toc-footer,.lang-selector,.search,#nav-button{display:none}.tocify-wrapper>img{margin:0 auto;display:block}.content{font-size:12px}.content pre,.content code{border:1px solid #999;border-radius:5px;font-size:0.8em}.content pre{padding:1.3em}.content code{padding:0.2em}.content table{border:1px solid #999}.content table tr{border-bottom:1px solid #999}.content table td,.content table th{padding:0.7em}.content p{line-height:1.5}.content a{text-decoration:none;color:#000}.content h1{font-size:2.5em;padding-top:0.5em;padding-bottom:0.5em;margin-top:1em;margin-bottom:21px;border:2px solid #ccc;border-width:2px 0;text-align:center}.content h2{font-size:1.8em;margin-top:2em;border-top:2px solid #ccc;padding-top:0.8em}.content h1+h2,.content h1+div+h2{border-top:none;padding-top:0;margin-top:0}.content h3,.content h4{font-size:0.8em;margin-top:1.5em;margin-bottom:0.8em;text-transform:uppercase}.content h5,.content h6{text-transform:uppercase}.content aside{padding:1em;border:1px solid #ccc;border-radius:5px;margin-top:1.5em;margin-bottom:1.5em;line-height:1.6}.content aside:before{vertical-align:middle;padding-right:0.5em;font-size:14px} \ No newline at end of file diff --git a/apidocs/docker-cloud/stylesheets/screen.css b/apidocs/docker-cloud/stylesheets/screen.css deleted file mode 100644 index e432eaf01df0..000000000000 --- a/apidocs/docker-cloud/stylesheets/screen.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6,html,body{font-family:"Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","微软雅黑", STXihei, "华文细黑", sans-serif;font-size:13px}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-weight:bold}.content code,.content pre{font-family:Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;font-size:12px;line-height:1.5}.content code{word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight,.highlight .w{color:#f8f8f2;background-color:#272822}.highlight .err{color:#151515;background-color:#ac4142}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#505050}.highlight .cp{color:#f4bf75}.highlight .nt{color:#f4bf75}.highlight .o,.highlight .ow{color:#d0d0d0}.highlight .p,.highlight .pi{color:#d0d0d0}.highlight .gi{color:#90a959}.highlight .gd{color:#ac4142}.highlight .gh{color:#6a9fb5;background-color:#151515;font-weight:bold}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#aa759f}.highlight .kc{color:#d28445}.highlight .kt{color:#d28445}.highlight .kd{color:#d28445}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:#90a959}.highlight .sr{color:#75b5aa}.highlight .si{color:#8f5536}.highlight .se{color:#8f5536}.highlight .nn{color:#f4bf75}.highlight .nc{color:#f4bf75}.highlight .no{color:#f4bf75}.highlight .na{color:#6a9fb5}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#90a959}.highlight .ss{color:#90a959}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs{color:#909090}.highlight,.highlight .w{background-color:#292929}@font-face{font-family:'slate';src:url("../fonts/slate.eot?-syv14m");src:url("../fonts/slate.eot?#iefix-syv14m") format("embedded-opentype"),url("../fonts/slate.woff2?-syv14m") format("woff2"),url("../fonts/slate.woff?-syv14m") format("woff"),url("../fonts/slate.ttf?-syv14m") format("truetype"),url("../fonts/slate.svg?-syv14m#slate") format("svg");font-weight:normal;font-style:normal}.content aside.warning:before,.content aside.notice:before,.content aside.success:before,.tocify-wrapper>.search:before{font-family:'slate';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1}.content aside.warning:before{content:"\e600"}.content aside.notice:before{content:"\e602"}.content aside.success:before{content:"\e606"}.tocify-wrapper>.search:before{content:"\e607"}html,body{color:#333;padding:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#eaf2f6;height:100%;-webkit-text-size-adjust:none}#toc>ul>li>a>span{float:right;background-color:#2484FF;border-radius:40px;width:20px}.tocify-wrapper{transition:left 0.3s ease-in-out;overflow-y:auto;overflow-x:hidden;position:fixed;z-index:30;top:0;left:0;bottom:0;width:230px;background-color:#393939;font-size:13px;font-weight:bold}.tocify-wrapper .lang-selector{display:none}.tocify-wrapper .lang-selector a{padding-top:0.5em;padding-bottom:0.5em}.tocify-wrapper>img{display:block}.tocify-wrapper>.search{position:relative}.tocify-wrapper>.search input{background:#393939;border-width:0 0 1px 0;border-color:#666;padding:6px 0 6px 20px;box-sizing:border-box;margin:10px 15px;width:200px;outline:none;color:#fff;border-radius:0}.tocify-wrapper>.search:before{position:absolute;top:17px;left:15px;color:#fff}.tocify-wrapper img+.tocify{margin-top:20px}.tocify-wrapper .search-results{margin-top:0;box-sizing:border-box;height:0;overflow-y:auto;overflow-x:hidden;transition-property:height, margin;transition-duration:180ms;transition-timing-function:ease-in-out;background:linear-gradient(to bottom, rgba(0,0,0,0.2), transparent 8px),linear-gradient(to top, rgba(0,0,0,0.2), transparent 8px),linear-gradient(to bottom, #000, transparent 1.5px),linear-gradient(to top, #939393, rgba(147,147,147,0) 1.5px),#262626}.tocify-wrapper .search-results.visible{height:30%;margin-bottom:1em}.tocify-wrapper .search-results li{margin:1em 15px;line-height:1}.tocify-wrapper .search-results a{color:#fff;text-decoration:none}.tocify-wrapper .search-results a:hover{text-decoration:underline}.tocify-wrapper .tocify-item>a,.tocify-wrapper .toc-footer li{padding:0 15px 0 15px;display:block;overflow-x:hidden;white-space:nowrap;text-overflow:ellipsis}.tocify-wrapper ul,.tocify-wrapper li{list-style:none;margin:0;padding:0;line-height:28px}.tocify-wrapper li{color:#fff;transition-property:background;transition-timing-function:linear;transition-duration:230ms}.tocify-wrapper .tocify-focus{box-shadow:0px 1px 0px #000;background-color:#2467af;color:#fff}.tocify-wrapper .tocify-subheader{display:none;background-color:#262626;font-weight:500;background:linear-gradient(to bottom, rgba(0,0,0,0.2), transparent 8px),linear-gradient(to top, rgba(0,0,0,0.2), transparent 8px),linear-gradient(to bottom, #000, transparent 1.5px),linear-gradient(to top, #939393, rgba(147,147,147,0) 1.5px),#262626}.tocify-wrapper .tocify-subheader .tocify-item>a{padding-left:25px;font-size:12px}.tocify-wrapper .tocify-subheader>li:last-child{box-shadow:none}.tocify-wrapper .toc-footer{padding:1em 0;margin-top:1em;border-top:1px dashed #666}.tocify-wrapper .toc-footer li,.tocify-wrapper .toc-footer a{color:#fff;text-decoration:none}.tocify-wrapper .toc-footer a:hover{text-decoration:underline}.tocify-wrapper .toc-footer li{font-size:0.8em;line-height:1.7;text-decoration:none}#nav-button{padding:0 1.5em 5em 0;display:none;position:fixed;top:0;left:0;z-index:100;color:#000;text-decoration:none;font-weight:bold;opacity:0.7;line-height:16px;transition:left 0.3s ease-in-out}#nav-button span{display:block;padding:6px 6px 6px;background-color:rgba(234,242,246,0.7);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(-90deg) translate(-100%, 0);transform:rotate(-90deg) translate(-100%, 0);border-radius:0 0 0 5px}#nav-button img{height:16px;vertical-align:bottom}#nav-button:hover{opacity:1}#nav-button.open{left:230px}.page-wrapper{margin-left:230px;position:relative;z-index:10;background-color:#eaf2f6;min-height:100%;padding-bottom:1px}.page-wrapper .dark-box{width:50%;background-color:#393939;position:absolute;right:0;top:0;bottom:0}.page-wrapper .lang-selector{position:fixed;z-index:50;border-bottom:5px solid #393939}.lang-selector{background-color:#222;width:100%;font-weight:bold}.lang-selector a{display:block;float:left;color:#fff;text-decoration:none;padding:0 10px;line-height:30px;outline:0}.lang-selector a:active,.lang-selector a:focus{background-color:#111;color:#fff}.lang-selector a.active{background-color:#393939;color:#fff}.lang-selector:after{content:'';clear:both;display:block}.content{position:relative;z-index:30}.content:after{content:'';display:block;clear:both}.content>h1,.content>h2,.content>h3,.content>h4,.content>h5,.content>h6,.content>p,.content>table,.content>ul,.content>ol,.content>aside,.content>dl{margin-right:50%;padding:0 28px;box-sizing:border-box;display:block;text-shadow:0px 1px 0px #fff}.content>ul,.content>ol{padding-left:43px}.content>h1,.content>h2,.content>div{clear:both}.content h1{font-size:30px;padding-top:0.5em;padding-bottom:0.5em;border-bottom:1px solid #ccc;margin-bottom:21px;margin-top:2em;border-top:1px solid #ddd;background-image:linear-gradient(to bottom, #fff, #f9f9f9)}.content h1:first-child,.content div:first-child+h1{border-top-width:0;margin-top:0}.content h2{font-size:20px;margin-top:4em;margin-bottom:0;border-top:1px solid #ccc;padding-top:1.2em;padding-bottom:1.2em;background-image:linear-gradient(to bottom, rgba(255,255,255,0.4), rgba(255,255,255,0))}.content h1+h2,.content h1+div+h2{margin-top:-21px;border-top:none}.content h3,.content h4,.content h5,.content h6{font-size:15px;margin-top:2.5em;margin-bottom:0.8em}.content h4,.content h5,.content h6{font-size:10px}.content hr{margin:2em 0;border-top:2px solid #393939;border-bottom:2px solid #eaf2f6}.content table{margin-bottom:1em;overflow:auto}.content table th,.content table td{text-align:left;vertical-align:top;line-height:1.6}.content table th{padding:5px 10px;border-bottom:1px solid #ccc;vertical-align:bottom}.content table td{padding:10px}.content table tr:last-child{border-bottom:1px solid #ccc}.content table tr:nth-child(odd)>td{background-color:#f9fbfc}.content table tr:nth-child(even)>td{background-color:#f3f7fa}.content dt{font-weight:bold}.content dd{margin-left:15px}.content p,.content li,.content dt,.content dd{line-height:1.6;margin-top:0}.content img{max-width:100%}.content code{background-color:rgba(0,0,0,0.05);padding:3px;border-radius:3px}.content pre>code{background-color:transparent;padding:0}.content aside{padding-top:1em;padding-bottom:1em;text-shadow:0 1px 0 #c6dde9;margin-top:1.5em;margin-bottom:1.5em;background:#8fbcd4;line-height:1.6}.content aside.warning{background-color:#c97a7e;text-shadow:0 1px 0 #dfb0b3}.content aside.success{background-color:#6ac174;text-shadow:0 1px 0 #a0d7a6}.content aside:before{vertical-align:middle;padding-right:0.5em;font-size:14px}.content .search-highlight{padding:2px;margin:-2px;border-radius:4px;border:1px solid #F7E633;text-shadow:1px 1px 0 #666;background:linear-gradient(to top left, #f7e633 0%, #f1d32f 100%)}.content pre,.content blockquote{background-color:#292929;color:#fff;padding:2em 28px;margin:0;width:50%;float:right;clear:right;box-sizing:border-box;text-shadow:0px 1px 2px rgba(0,0,0,0.4)}.content pre>p,.content blockquote>p{margin:0}.content pre a,.content blockquote a{color:#fff;text-decoration:none;border-bottom:dashed 1px #ccc}.content blockquote>p{background-color:#1c1c1c;border-radius:5px;padding:13px;color:#ccc;border-top:1px solid #000;border-bottom:1px solid #404040}@media (max-width: 930px){.tocify-wrapper{left:-230px}.tocify-wrapper.open{left:0}.page-wrapper{margin-left:0}#nav-button{display:block}.tocify-wrapper .tocify-item>a{padding-top:0.3em;padding-bottom:0.3em}}@media (max-width: 700px){.dark-box{display:none}.content>h1,.content>h2,.content>h3,.content>h4,.content>h5,.content>h6,.content>p,.content>table,.content>ul,.content>ol,.content>aside,.content>dl{margin-right:0}.tocify-wrapper .lang-selector{display:block}.page-wrapper .lang-selector{display:none}.content pre,.content blockquote{width:auto;float:none}.content>pre+h1,.content>blockquote+h1,.content>pre+h2,.content>blockquote+h2,.content>pre+h3,.content>blockquote+h3,.content>pre+h4,.content>blockquote+h4,.content>pre+h5,.content>blockquote+h5,.content>pre+h6,.content>blockquote+h6,.content>pre+p,.content>blockquote+p,.content>pre+table,.content>blockquote+table,.content>pre+ul,.content>blockquote+ul,.content>pre+ol,.content>blockquote+ol,.content>pre+aside,.content>blockquote+aside,.content>pre+dl,.content>blockquote+dl{margin-top:28px}} \ No newline at end of file diff --git a/apidocs/dtr-api-overview.png b/apidocs/dtr-api-overview.png deleted file mode 100644 index 26268f797b6f..000000000000 Binary files a/apidocs/dtr-api-overview.png and /dev/null differ diff --git a/apidocs/index.md b/apidocs/index.md deleted file mode 100644 index 4709ef0ea4d8..000000000000 --- a/apidocs/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Learn how to use DTR APIs. -keywords: docker, registry, DTR, APIs -title: DTR APIs ---- - -This section includes the following topics: - -* [API overview](overview.md) diff --git a/apidocs/layouts/single.html b/apidocs/layouts/single.html deleted file mode 100644 index 8d058662a51f..000000000000 --- a/apidocs/layouts/single.html +++ /dev/null @@ -1,6577 +0,0 @@ - - - - - - - Docker Cloud API reference - - - - - - - - - - - - - - NAV - - - -
                - -
                - http - go - python - CLI -
                - -
                  -
                  -
                  -
                  -
                  -
                  -
                  -

                  Introduction

                  - -

                  Docker Cloud currently offers a HTTP REST API and a Websocket Stream API which are used by both the Web UI and the CLI. This API documentation contains all API operations currently supported in the platform and provides examples of how to execute them using our Command Line Interface (CLI), Python SDK and Go SDK.

                  - -

                  Authentication

                  - -

                  In order to be able to make requests to the Docker Cloud API, you should first obtain an ApiKey for your account. For this, log into Docker Cloud, click on the menu on the upper right corner of the screen, select Account info and then select API keys.

                  - -

                  REST API

                  -
                  import dockercloud
                  -dockercloud.user = "username"
                  -dockercloud.apikey = "apikey"
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -dockercloud.User = "username"
                  -dockercloud.ApiKey = "apikey"
                  -
                  -
                  GET /api/app/v1/service/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  export DOCKERCLOUD_USER=username
                  -export DOCKERCLOUD_APIKEY=apikey
                  -
                  - -
                  -

                  Make sure to replace username with your username and apikey with your API key.

                  -
                  - -

                  The Docker Cloud REST API is reachable through the following hostname:

                  - -

                  https://cloud.docker.com/

                  - -

                  All requests should be sent to this endpoint using Basic authentication using your API key as password:

                  - -

                  Authorization: Basic dXNlcm5hbWU6YXBpa2V5

                  - -

                  HTTP responses are given in JSON format, so the following Accept header is required for every API call:

                  - -

                  Accept: application/json

                  - -

                  Namespaced endpoints

                  - -

                  Endpoints that are labeled as “namespaced” allow the users to operate over -different namespaces, for example over an individual user namespace, or the -namespace of an organization the user is a member of. A namespace identifies the -owner of the resource.

                  - -

                  The namespace is optional. If left blank, it defaults to the authenticated user -in the request. The namespace is set before the resource in the URL schema: -https://cloud.docker.com/api/<subsystem>/<version>/(optional_namespace/)<resource>/

                  - -

                  Examples:

                  - -
                    -
                  • The user exampleuser wants to operate on the node cluster list endpoint in their own namespace. They can use either of the following urls: - -
                      -
                    • https://cloud.docker.com/api/infra/v1/nodecluster/ (namespace omitted, so will use the user authenticated in the request)
                    • -
                    • https://cloud.docker.com/api/infra/v1/exampleuser/nodecluster/
                    • -
                  • -
                  • The user wants to operate on the node cluster list endpoint in an organization called exampleorg (which they have permission to see): - -
                      -
                    • https://cloud.docker.com/api/infra/v1/exampleorg/nodecluster/
                    • -
                  • -
                  - -

                  Namespaced endpoints in the docker-cloud CLI

                  - -

                  If you are using namespaces with the docker-cloud CLI, set them by changing -the value of the DOCKERCLOUD_NAMESPACE environment variable. You can either -set this globally, or specify it before each CLI command. To learn more, see the -Docker Cloud CLI README.

                  - -

                  Stream API

                  -
                  import websocket
                  -import base64
                  -
                  -header = "Authorization: Basic %s" % base64.b64encode("%s:%s" % (username, password))
                  -ws = websocket.WebSocketApp('wss://ws.cloud.docker.com/v1/events', header=[header])
                  -
                  -
                  import "github.com/gorilla/websocket"
                  -import "encoding/base64"
                  -
                  -var StreamUrl = "wss://ws.cloud.docker.com:443/v1/events"
                  -
                  -sEnc := base64.StdEncoding.EncodeToString([]byte(User + ":" + ApiKey))
                  -header := http.Header{}
                  -header.Add("Authorization", fmt.Sprintf("Basic %s", sEnc))
                  -
                  -var Dialer websocket.Dialer
                  -ws, _, err := Dialer.Dial(url, header)
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -
                  GET /api/audit/v1/events HTTP/1.1
                  -Host: ws.cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Connection: Upgrade
                  -Upgrade: websocket
                  -
                  -
                  export DOCKERCLOUD_USER=username
                  -export DOCKERCLOUD_APIKEY=apikey
                  -
                  - -
                  -

                  Make sure to replace username with your username and apikey with your API key.

                  -
                  - -

                  The Docker Cloud Stream API is reachable through the following hostname:

                  - -

                  wss://ws.cloud.docker.com/

                  - -

                  The Stream API requires the same authentication mechanism as the REST API:

                  - -

                  Authorization: Basic dXNlcm5hbWU6YXBpa2V5

                  - -

                  API roles

                  - -
                  -

                  The CLI and the SDKs will detect this environment variable and automatically use it

                  -
                  - -

                  If you give an API role to a container, the environment variable DOCKERCLOUD_AUTH inside the container will have the contents of the Authorization header that you can use to authenticate against the REST or Stream APIs:

                  - -

                  curl -H "Authorization: $DOCKERCLOUD_AUTH" https://cloud.docker.com/api/app/v1/service/

                  - -

                  Actions

                  - -

                  Action

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "action": "Cluster Create",
                  -    "end_date": "Wed, 17 Sep 2014 08:26:22 +0000",
                  -    "ip": "56.78.90.12",
                  -    "is_user_action": true,
                  -    "can_be_canceled": false,
                  -    "location": "New York, USA",
                  -    "method": "POST",
                  -    "object": "/api/infra/v1/user_namespace/cluster/eea638f4-b77a-4183-b241-22dbd7866f22/",
                  -    "path": "/api/infra/v1/user_namespace/cluster/",
                  -    "resource_uri": "/api/audit/v1/action/6246c558-976c-4df6-ba60-eb1a344a17af/",
                  -    "start_date": "Wed, 17 Sep 2014 08:26:22 +0000",
                  -    "state": "Success",
                  -    "user": "user_namespace",
                  -    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2",
                  -    "uuid": "6246c558-976c-4df6-ba60-eb1a344a17af"
                  -}
                  -
                  - -

                  An action represents an API call by a user. Details of the API call such as timestamp, origin IP address, and user agent are logged in the action object.

                  - -

                  Simple API calls that do not require asynchronous execution will return immediately with the appropiate HTTP error code and an action object will be created either in Success or Failed states. API calls that do require asynchronous execution will return HTTP code 202 Accepted immediately and create an action object in In progress state, which will change to Success or Failed state depending on the outcome of the operation being performed. In both cases the response will include a X-DockerCloud-Action-URI header with the resource URI of the created action.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  resource_uriA unique API endpoint that represents the action
                  uuidA unique identifier for the action generated automatically on creation
                  objectThe API object (resource URI) to which the action applies to
                  actionName of the operation performed/being performed
                  methodHTTP method used to access the API
                  pathHTTP path of the API accessed
                  userThe user authenticated in the request that created the action
                  user_agentThe user agent provided by the client when accessing the API endpoint
                  start_dateDate and time when the API call was performed and the operation started processing
                  end_dateDate and time when the API call finished processing
                  stateState of the operation (see table below)
                  ipIP address of the user that performed the API call
                  locationGeographic location of the IP address of the user that performed the API call
                  is_user_actionIf the action has been triggered by the user
                  can_be_canceledIf the action can be canceled by the user in the middle of its execution
                  can_be_retriedIf the action can be retried by the user
                  - -

                  Action states

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  StateDescription
                  PendingThe action needed asynchronous execution and it is waiting for an in progress action
                  In progressThe action needed asynchronous execution and is being performed
                  CancelingThe action is being canceled by user request
                  CanceledThe action has been canceled
                  SuccessThe action was executed successfully
                  FailedThere was an issue when the action was being performed. Check the logs for more information.
                  - -

                  List all actions

                  -
                  import dockercloud
                  -
                  -actions = dockercloud.Action.list()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -actionList, err := dockercloud.ListActions()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(actionList)
                  -
                  -
                  GET /api/audit/v1/action/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud action ls
                  -
                  - -

                  Lists all actions in chronological order. Returns a list of Action objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/audit/v1/action/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID.
                  stateFilter by state. Possible values: In progress, Success, Failed
                  start_dateFilter by start date. Valid filtering values are start_date__gte (after or on the date supplied) and start_date__lte (before or on the date supplied)
                  end_dateFilter by end date. Valid filtering values are end_date__gte (after or on the date supplied) and end_date__lte (before or on the date supplied)
                  objectFilter by resource URI of the related object. This filter can only be combined with ‘include_related’ filter
                  include_relatedThere is a parent-child relationship between Docker Cloud objects, described in table Relationships between Docker Cloud objects. If set to 'true’, will include the actions of the related objects to the object specified in “object” filter parameter. Possible values: 'true’ or 'false’
                  - -

                  Relationships between Docker Cloud objects

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ObjectRelationships
                  ContainerContainer, service, stack (if any)
                  ServiceAll containers in the service, service, stack (if any)
                  StackAll services in the stack, all containers in every service in the stack, stack
                  NodeNode, node cluster (if any)
                  Node clusterAll nodes in the cluster, node cluster
                  - -

                  Get an action by UUID

                  -
                  import dockercloud
                  -
                  -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(action)
                  -
                  -
                  GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud action inspect 7eaf7fff
                  -
                  - -

                  Get all the details of an specific action

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/audit/v1/action/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the action to retrieve
                  - -

                  Get the logs of an action

                  - -
                  -

                  Example log line

                  -
                  -
                  {
                  -    "type": "log",
                  -    "log": "Log line from the action",
                  -    "timestamp": 1433779324
                  -}
                  -
                  -
                  import dockercloud
                  -
                  -def log_handler(message):
                  -    print message
                  -
                  -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -action.logs(tail=300, follow=True, log_handler=log_handler)
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -c := make(chan dockercloud.Logs)
                  -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -go action.GetLogs(c)
                  -
                  -for {
                  -    log.Println(<-c)
                  -}
                  -
                  -
                  GET /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
                  -Host: ws.cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Connection: Upgrade
                  -Upgrade: websocket
                  -
                  -
                  docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
                  -
                  - -

                  Get the logs of the specified action.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s STREAM API

                  - -

                  HTTP Request

                  - -

                  GET /api/audit/v1/action/(uuid)/logs/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the action to retrieve logs
                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  tailNumber of lines to show from the end of the logs (default: 300)
                  followWhether to stream logs or close the connection immediately (default: true)
                  - -

                  Cancel an action

                  -
                  POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/cancel/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -action, err = action.Cancel()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(action)
                  -
                  - -

                  Cancels an action in Pending or In progress state.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/audit/v1/action/(uuid)/cancel/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the action to cancel
                  - -

                  Retry an action

                  -
                  import dockercloud
                  -
                  -def log_handler(message):
                  -  print message
                  -
                  -action = dockercloud.Action.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -action.logs(tail=300, follow=True, log_handler=log_handler)
                  -
                  -
                  POST /api/audit/v1/action/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/retry/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -action, err := dockercloud.GetAction("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -action, err = action.Retry()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(action)
                  -
                  -
                  docker-cloud action logs 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
                  -
                  - -

                  Retries an action in Success, Failed or Canceled state.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/audit/v1/action/(uuid)/retry/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the action to retry
                  - -

                  Providers

                  - -

                  Provider

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "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

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  resource_uriA unique API endpoint that represents the provider
                  nameA unique identifier for the provider
                  labelA user-friendly name for the provider
                  regionsA list of resource URIs of the regions available in this provider
                  availableWhether the provider is currently available for new node deployments
                  - -

                  List all providers

                  -
                  import dockercloud
                  -
                  -providers = dockercloud.Provider.list()
                  -
                  -
                  GET /api/infra/v1/provider/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -providerList, err := dockercloud.ListProviders()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(providerList)
                  -
                  -
                  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

                  - - - - - - - - - - - -
                  ParameterDescription
                  nameFilter by provider name
                  - -

                  Get an individual provider

                  -
                  import dockercloud
                  -
                  -provider = dockercloud.Provider.fetch("digitalocean")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -provider, err := dockercloud.GetProvider("digitalocean")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(provider)
                  -
                  -
                  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

                  - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the provider to retrieve
                  - -

                  Regions

                  - -

                  Region

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "availability_zones": [],
                  -    "available": true,
                  -    "label": "Amsterdam 2",
                  -    "name": "ams2",
                  -    "node_types": [
                  -        "/api/infra/v1/nodetype/digitalocean/1gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/2gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/4gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/8gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/16gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/32gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/48gb/",
                  -        "/api/infra/v1/nodetype/digitalocean/64gb/"
                  -    ],
                  -    "provider": "/api/infra/v1/provider/digitalocean/",
                  -    "resource_uri": "/api/infra/v1/region/digitalocean/ams2/"
                  -}
                  -
                  - -

                  A region is a representation of an entire or a subset of a data center of a cloud provider. It can contain availability zones (depending on the provider) and one or more node types.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  resource_uriA unique API endpoint that represents the region
                  nameAn identifier for the region
                  labelA user-friendly name for the region
                  node_typesA list of resource URIs of the node types available in the region
                  availability_zonesA list of resource URIs of the availability zones available in the region
                  providerThe resource URI of the provider of the region
                  availableWhether the region is currently available for new node deployments
                  - -

                  List all regions

                  -
                  import dockercloud
                  -
                  -regions = dockercloud.Region.list()
                  -
                  -
                  GET /api/infra/v1/region/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -regionList, err := dockercloud.ListRegions()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(regionList)
                  -
                  -
                  docker-cloud nodecluster region
                  -
                  - -

                  Lists all regions of all supported cloud providers. Returns a list of Region objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/region/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameFilter by region name
                  providerFilter by resource URI of the target provider
                  - -

                  Get an individual region

                  -
                  import dockercloud
                  -
                  -region = dockercloud.Region.fetch("digitalocean/lon1")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -region, err := dockercloud.GetRegion("digitalocean","lon1")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(region)
                  -
                  -
                  GET /api/infra/v1/region/digitalocean/lon1/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Get all the details of a specific region

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

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

                  - -

                  Path Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the region to retrieve
                  provider.nameThe name of the provider of the region
                  - -

                  Availability Zones

                  - -

                  Availability Zone

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "available": true,
                  -    "name": "ap-northeast-1a",
                  -    "region": "/api/infra/v1/region/az/ap-northeast-1/",
                  -    "resource_uri": "/api/infra/v1/az/aws/ap-northeast-1/ap-northeast-1a/"
                  -}
                  -
                  - -

                  An Availability Zone is an isolated location inside a region. Providers that support availability zones: AWS

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  availableWhether the availability zone is currently available for new node deployments
                  nameAn identifier for the availability zone
                  regionThe resource URI of the region where the availability zone is allocated
                  resource_uriA unique API endpoint that represents the zone
                  - -

                  List all availability zones

                  -
                  import dockercloud
                  -
                  -az = dockercloud.AZ.list()
                  -
                  -
                  GET /api/infra/v1/az/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -az, err := dockercloud.ListAZ()
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -log.Println(az)
                  -
                  -
                  docker-cloud nodecluster az
                  -
                  - -

                  Lists all availability zones from all regions of all supported cloud providers. Returns a list of Availability Zone objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/az/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameFilter by availability zone name
                  regionFilter by resource URI of the target region
                  - -

                  Get an individual availability zone

                  -
                  import dockercloud
                  -
                  -az = dockercloud.AZ.fetch("aws/sa-east-1/sa-east-1a")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -az, err := dockercloud.GetAZ("aws/sa-east-1/sa-east-1a")
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -log.Println(az)
                  -
                  -
                  GET /api/infra/v1/az/aws/sa-east-1/sa-east-1a/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Get all the details of a specific availability zone

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/az/(provider.name)/(region.name)/(name)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the availability zone to retrieve
                  providerThe name of the provider
                  regionThe name of the region
                  - -

                  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

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  resource_uriA unique API endpoint that represents the node type
                  nameAn identifier for the node type
                  labelA user-friendly name for the node type
                  regionsA list of resource URIs of the regions to which this node type can be deployed to
                  availability_zonesA list of resource URIs of the availability zones to which this node type can be deployed to
                  providerThe resource URI of the provider of the node type
                  availableWhether 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

                  - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameFilter by node type name
                  regionsFilter by resource URI of the target regions
                  availability_zonesFilter 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

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the node type to retrieve
                  provider.nameThe name of the provider of the node type
                  - -

                  Node Clusters

                  - -

                  Node Cluster

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "current_num_nodes": 1,
                  -    "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000",
                  -    "destroyed_datetime": null,
                  -    "disk": 60,
                  -    "nickname": "my test cluster",
                  -    "name": "TestCluster",
                  -    "node_type": "/api/infra/v1/nodetype/aws/t2.micro/",
                  -    "nodes": [
                  -        "/api/infra/v1/user_namespace/node/75d20367-0948-4f10-8ba4-ffb4d16ed3c6/"
                  -    ],
                  -    "region": "/api/infra/v1/region/aws/us-east-1/",
                  -    "resource_uri": "/api/infra/v1/user_namespace/nodecluster/5516df0b-721e-4470-b350-741ff22e63a0/",
                  -    "state": "Deployed",
                  -    "tags": [
                  -        {"name": "tag_one"},
                  -        {"name": "tag-two"},
                  -        {"name": "tagthree3"}
                  -    ],
                  -    "target_num_nodes": 2,
                  -    "uuid": "5516df0b-721e-4470-b350-741ff22e63a0",
                  -    "provider_options": {
                  -        "vpc": {
                  -            "id": "vpc-aa1c70d4",
                  -            "subnets": ["subnet-aaa7d94f", "subnet-aa15fa64"],
                  -            "security_groups": ["sg-aa1c70d4"]
                  -        },
                  -        "iam": {
                  -            "instance_profile_name": "my_instance_profile"
                  -        }
                  -    }
                  -}
                  -
                  - -

                  A node cluster is a group of nodes that share the same provider, region and/or availability zone, and node type. They are on the same private network.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  uuidA unique identifier for the node cluster generated automatically on creation
                  resource_uriA unique API endpoint that represents the node cluster
                  nameA user provided name for the node cluster
                  stateThe state of the node cluster. See the below table for a list of possible states.
                  node_typeThe resource URI of the node type used for the node cluster
                  diskThe size of the disk where images and containers are stored (in GB)
                  nodesA list of resource URIs of the Node objects on the node cluster
                  regionThe resource URI of the Region object where the node cluster is deployed
                  target_num_nodesThe desired number of nodes for the node cluster
                  current_num_nodesThe actual number of nodes in the node cluster. This may differ from target_num_nodes if the node cluster is being deployed or scaled
                  deployed_datetimeThe date and time when this node cluster was deployed
                  destroyed_datetimeThe date and time when this node cluster was terminated (if applicable)
                  tagsList of tags to identify the node cluster nodes when deploying services (see Tags for more information)
                  provider_optionsProvider-specific extra options for the deployment of the node (see Provider options table below for more information)
                  nicknameA user-friendly name for the node cluster (name by default)
                  - -

                  Node Cluster states

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  StateDescription
                  InitThe node cluster has been created and has no deployed containers yet. Possible actions in this state: deploy, terminate.
                  DeployingAll nodes in the cluster are either deployed or being deployed. No actions allowed in this state.
                  DeployedAll nodes in the cluster are deployed and provisioned. Possible actions in this state: terminate.
                  Partly deployedOne or more nodes of the cluster are deployed and running. Possible actions in this state: terminate.
                  ScalingThe cluster is either deploying new nodes or terminating existing ones responding to a scaling request. No actions allowed in this state.
                  TerminatingAll nodes in the cluster are either being terminated or already terminated. No actions allowed in this state.
                  TerminatedThe node cluster and all its nodes have been terminated. No actions allowed in this state.
                  Empty clusterThere are no nodes deployed in this cluster. Possible actions in this state: terminate.
                  - -

                  Provider options

                  - -

                  You can specify the following options when using the Amazon Web Services provider:

                  - -
                    -
                  • vpc: VPC-related options (optional) - -
                      -
                    • id: AWS VPC identifier of the target VPC where the nodes of the cluster will be deployed (required)
                    • -
                    • subnets: a list of target subnet indentifiers inside selected VPC. If you specify more than one subnet, Docker Cloud will balance among all of them following a high-availability schema (optional)
                    • -
                    • security_groups: the security group that will be applied to every node of the cluster (optional)
                    • -
                  • -
                  • iam: IAM-related options (optional) - -
                      -
                    • instance_profile_name: name of the instance profile (container for instance an IAM role) to attach to every node of the cluster (required)
                    • -
                  • -
                  - -

                  List all node clusters

                  -
                  import dockercloud
                  -
                  -nodeclusters = dockercloud.NodeCluster.list()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodeclusters, err := dockercloud.ListNodeClusters()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(nodeclusters)
                  -
                  -
                  GET /api/infra/v1/nodecluster/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud nodecluster ls
                  -
                  - -

                  Lists all current and recently terminated node clusters. Returns a list of NodeCluster objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/[optional_namespace/]nodecluster/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID
                  stateFilter by state. Possible values: Init, Deploying, Deployed, Partly deployed, Scaling, Terminating, Terminated, Empty cluster
                  nameFilter by node cluster name
                  regionFilter by resource URI of the target region
                  node_typeFilter by resource URI of the target node type
                  - -

                  Create a new node cluster

                  -
                  import dockercloud
                  -
                  -region = dockercloud.Region.fetch("digitalocean/lon1")
                  -node_type = dockercloud.NodeType.fetch("digitalocean/1gb")
                  -nodecluster = dockercloud.NodeCluster.create(name="my_cluster", node_type=node_type, region=region, disk=60)
                  -nodecluster.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodecluster, err := dockercloud.CreateNodeCluster(dockercloud.NodeCreateRequest{Name: "my_cluster", Region: "/api/infra/v1/region/digitalocean/lon1/", NodeType: "/api/infra/v1/nodetype/digitalocean/1gb/", Target_num_nodes: 2})
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(nodecluster)
                  -
                  -
                  POST /api/infra/v1/nodecluster/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"name": "my_cluster", "region": "/api/infra/v1/region/digitalocean/lon1/", "node_type": "/api/infra/v1/nodetype/digitalocean/1gb/", "disk": 60}
                  -
                  -
                  docker-cloud nodecluster create my_cluster digitalocean lon1 1gb
                  -
                  - -

                  Creates a new node cluster without deploying it.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/infra/v1/[optional_namespace/]nodecluster/

                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  name(required) A user provided name for the node cluster
                  node_type(required) The resource URI of the node type to be used for the node cluster
                  region(required) The resource URI of the region where the node cluster is to be deployed
                  disk(optional) The size of the volume to create where images and containers will be stored, in GB (default: 60). Not available for Digital Ocean. To create Softlayer nodes you must select one of the following sizes (in GBs): 10, 20, 25, 30, 40, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400, 500, 750, 1000, 1500 or 2000
                  nickname(optional) A user-friendly name for the node cluster (name by default)
                  target_num_nodes(optional) The desired number of nodes for the node cluster (default: 1)
                  tags(optional) List of tags of the node cluster to be used when deploying services see Tags for more information) (default: [])
                  provider_optionsProvider-specific extra options for the deployment of the node (see table Provider options above for more information)
                  - -

                  Get an existing node cluster

                  -
                  import dockercloud
                  -
                  -service = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(nodecluster)
                  -
                  -
                  GET /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud nodecluster inspect 7eaf7fff
                  -
                  - -

                  Get all the details of an specific node cluster

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node cluster to retrieve
                  - -

                  Deploy a node cluster

                  -
                  import dockercloud
                  -
                  -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -nodecluster.deploy()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = nodecluster.Deploy(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/deploy/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Deploys and provisions a recently created node cluster in the specified region and cloud provider.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/deploy/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node cluster to deploy
                  - -

                  Update an existing node cluster

                  -
                  import dockercloud
                  -
                  -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -nodecluster.target_num_nodes = 3
                  -nodecluster.tags.add("tag-1")
                  -nodecluster.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = nodecluster.Update(dockercloud.NodeCreateRequest{Target_num_nodes: 4}); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  PATCH /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"target_num_nodes": 3, "tags": [{"name": "tag-1"}]}
                  -
                  -
                  docker-cloud nodecluster scale 7eaf7fff 3
                  -docker-cloud tag add -t tag-1 7eaf7fff
                  -docker-cloud tag set -t tag-2 7eaf7fff
                  -
                  - -

                  Updates the node cluster details and applies the changes automatically.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  PATCH /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node cluster to update
                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  target_num_nodes(optional) The number of nodes to scale this node cluster to
                  tags(optional) List of tags the node cluster (and nodes within the node cluster) will have. This operation replaces the user tag list.
                  - -

                  Terminate a node cluster

                  -
                  import dockercloud
                  -
                  -nodecluster = dockercloud.NodeCluster.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -nodecluster.delete()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodecluster, err := dockercloud.GetNodeCluster("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = nodecluster.Terminate(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  DELETE /api/infra/v1/nodecluster/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  dockercloud nodecluster rm 7eaf7fff
                  -
                  - -

                  Terminates all the nodes in a node cluster and the node cluster itself. This is not reversible.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/infra/v1/[optional_namespace/]nodecluster/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node cluster to terminate
                  - -

                  Nodes

                  - -

                  Node

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "availability_zone": "/api/infra/v1/az/testing-provider/testing-region/testing-az/",
                  -    "cpu": 1,
                  -    "current_num_containers": 4,
                  -    "deployed_datetime": "Tue, 16 Sep 2014 17:01:15 +0000",
                  -    "destroyed_datetime": null,
                  -    "disk": 60,
                  -    "docker_execdriver": "native-0.2",
                  -    "docker_graphdriver": "aufs",
                  -    "docker_version": "1.5.0",
                  -    "external_fqdn": "fc1a5bb9-user.node.dockerapp.io",
                  -    "last_seen": "Thu, 25 Sep 2014 13:14:44 +0000",
                  -    "memory": 1792,
                  -    "nickname": "fc1a5bb9-user.node.dockerapp.io",
                  -    "node_cluster": "/api/infra/v1/user_namespace/nodecluster/d787a4b7-d525-4061-97a0-f423e8f1d229/",
                  -    "node_type": "/api/infra/v1/user_namespace/nodetype/testing-provider/testing-type/",
                  -    "public_ip": "10.45.2.11",
                  -    "region": "/api/infra/v1/region/testing-provider/testing-region/",
                  -    "resource_uri": "/api/infra/v1/user_namespace/node/fc1a5bb9-17f5-4819-b667-8c7cd819e949/",
                  -    "state": "Deployed",
                  -    "tags": [
                  -        {"name": "tag_one"},
                  -        {"name": "tag-two"}
                  -    ],
                  -    "tunnel": "https://tunnel01.cloud.docker.com:12345",
                  -    "uuid": "fc1a5bb9-17f5-4819-b667-8c7cd819e949"
                  -}
                  -
                  - -

                  A node is a virtual machine provided by a cloud provider where containers can be deployed.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  availability_zoneThe resource URI of the availability zone where the node is deployed, if any
                  uuidA unique identifier for the node generated automatically on creation
                  resource_uriA unique API endpoint that represents the node
                  external_fqdnAn automatically generated FQDN for the node. Containers deployed on this node will inherit this FQDN.
                  stateThe state of the node. See the below table for a list of possible states.
                  node_clusterThe resource URI of the node cluster to which this node belongs to (if applicable)
                  node_typeThe resource URI of the node type used for the node
                  regionThe resource URI of the region where the node is deployed
                  docker_execdriverDocker’s execution driver used in the node
                  docker_graphdriverDocker’s storage driver used in the node
                  docker_versionDocker’s version used in the node
                  cpuNode number of CPUs
                  diskNode storage size in GB
                  memoryNode memory in MB
                  current_num_containersThe actual number of containers deployed in this node
                  last_seenDate and time of the last time the node was contacted by Docker Cloud
                  public_ipThe public IP allocated to the node
                  tunnelIf the node does not accept incoming connections to port 2375, the address of the reverse tunnel to access the docker daemon, or null otherwise
                  deployed_datetimeThe date and time when this node cluster was deployed
                  destroyed_datetimeThe date and time when this node cluster was terminated (if applicable)
                  tagsList of tags to identify the node when deploying services (see Tags for more information)
                  nicknameA user-friendly name for the node (external_fqdn by default)
                  - -

                  Node states

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  StateDescription
                  DeployingThe node is being deployed in the cloud provider. No actions allowed in this state.
                  DeployedThe node is deployed and provisioned and is ready to deploy containers. Possible actions in this state: terminate, docker-upgrade.
                  UnreachableThe node is deployed but Docker Cloud cannot connect to the docker daemon. Possible actions in this state: health-check and terminate.
                  UpgradingThe node docker daemon is being upgraded. No actions allowed in this state.
                  TerminatingThe node is being terminated in the cloud provider. No actions allowed in this state.
                  TerminatedThe node has been terminated and is no longer present in the cloud provider. No actions allowed in this state.
                  - -

                  List all nodes

                  -
                  import dockercloud
                  -
                  -nodes = dockercloud.Node.list()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -nodeList, err := dockercloud.ListNodes()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(nodeList)
                  -
                  -
                  GET /api/infra/v1/node/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud node ls
                  -
                  - -

                  Lists all current and recently terminated nodes. Returns a list of Node objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/[optional_namespace/]node/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID
                  stateFilter by state. Possible values: Deploying, Deployed, Unreachable, Upgrading, Terminating, Terminated
                  node_clusterFilter by resource URI of the target node cluster
                  node_typeFilter by resource URI of the target node type
                  regionFilter by resource URI of the target region
                  docker_versionFilter by Docker engine version running in the nodes
                  - -

                  Get an existing node

                  -
                  import dockercloud
                  -
                  -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(node)
                  -
                  -
                  GET /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud node inspect 7eaf7fff
                  -
                  - -

                  Get all the details of an specific node

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/infra/v1/[optional_namespace/]node/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node to retrieve
                  - -

                  Update a node

                  -
                  import dockercloud
                  -
                  -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -node.tags.add(["tag-1"])
                  -node.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -if err = node.Update(dockercloud.Node{Tags: []string{{Name: "tag-1"}}}); err != nil {
                  -            log.Println(err)
                  -}
                  -
                  -
                  PATCH /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -{"tags": [{"name": "tag-1"}], "nickname": "dev node"}
                  -
                  -
                  docker-cloud tag add -t tag-1 7eaf7fff
                  -docker-cloud tag set -t tag-2 7eaf7fff
                  -
                  - -

                  Names the node with a user-friendly name and/or replaces the old tags for the new list provided.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  PATCH /api/infra/v1/[optional_namespace/]node/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node to retrieve
                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nickname(optional) A user-friendly name for the node (external_fqdn by default)
                  tags(optional) List of tags the node will have. This operation replaces the user tag list.
                  - -

                  Upgrade Docker Daemon

                  -
                  import dockercloud
                  -
                  -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -node.upgrade_docker()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = node.Upgrade(); err != nil {
                  -       log.Println(err)
                  -   }
                  -
                  -
                  POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/docker-upgrade/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud node upgrade 7eaf7fff
                  -
                  - -

                  Upgrades the docker daemon of the node. This will restart your containers on that node. See Docker upgrade for more information.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/infra/v1/[optional_namespace/]node/(uuid)/docker-upgrade/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node to upgrade
                  - -

                  Perform a health check of a node

                  -
                  POST /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/health-check/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Tests connectivity between Docker Cloud and the node. Updates the node status to Deployed if the check was successful, or to Unreachable otherwise.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/infra/v1/[optional_namespace/]node/(uuid)/health-check/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node to perform the health check to
                  - -

                  Terminate a node

                  -
                  import dockercloud
                  -
                  -node = dockercloud.Node.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -node.delete()
                  -
                  -
                  DELETE /api/infra/v1/node/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -node, err := dockercloud.GetNode("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = node.Terminate(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  docker-cloud node rm 7eaf7fff
                  -
                  - -

                  Terminates the specified node.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/infra/v1/[optional_namespace/]node/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the node to terminate
                  - -

                  Registries

                  - -

                  Registry

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -  "host": "registry-1.docker.io",
                  -  "is_docker_registry": true,
                  -  "is_ssl": true,
                  -  "name": "Docker Hub",
                  -  "port": 443,
                  -  "resource_uri": "/api/repo/v1/user_namespace/registry/registry-1.docker.io/"
                  -}
                  -
                  - -

                  Represents a registry where repositories are hosted.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  resource_uriA unique API endpoint that represents the registry
                  nameHuman-readable name of the registry
                  hostFQDN of the registry, i.e. registry-1.docker.io
                  is_docker_registryWhether this registry is run by Docker
                  is_sslWhether this registry has SSL activated or not
                  portThe port number where the registry is listening to
                  - -

                  List all registries

                  -
                  GET /api/repo/v1/registry/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Lists all current registries. Returns a list of Registry objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/repo/v1/[optional_namespace/]registry/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID
                  nameFilter by registry name
                  hostFilter by registry host
                  is_docker_registryFilter by whether the registry is run by Docker or not. Possible values: ‘true’ or 'false’
                  - -

                  Get an existing registry

                  -
                  GET /api/repo/v1/registry/registry-1.docker.io/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Gets all the details of an specific registry

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/v1/[optional_namespace/]registry/(host)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  hostThe host of the registry to retrieve
                  - -

                  External Repositories

                  - -

                  External Repository

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -  "in_use": false,
                  -  "name": "my.registry.com/myrepo",
                  -  "registry": "/api/repo/v1/user_namespace/registry/my.registry.com/",
                  -  "resource_uri": "/api/repo/v1/user_namespace/repository/my.registry.com/myrepo/",
                  -}
                  -
                  - -

                  The repository endpoint is used to add and remove existing repositories on third party registries to be used in deployments and builds.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  resource_uriA unique API endpoint that represents the repository
                  nameName of the repository, i.e. my.registry.com/myrepo
                  in_useIf the image is being used by any of your services
                  registryResource URI of the registry where this image is hosted
                  - -

                  List all external repositories

                  -
                  import dockercloud
                  -
                  -repositories = dockercloud.Repository.list()
                  -
                  -
                  GET /api/repo/v1/repository/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -repositoriesList, err := dockercloud.ListRepositories()
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -log.Pringln(repositoriesList)
                  -
                  -
                  docker-cloud repository ls
                  -
                  - -

                  Lists all added repositories from third party registries. Returns a list of Repository objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/repo/v1/[optional_namespace/]repository/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameFilter by image name
                  registryFilter by resource URI of the target repository registry
                  - -

                  Add a new external repository

                  -
                  import dockercloud
                  -
                  -repository = dockercloud.Repository.create(name="registry.local/user1/image1", username=username, password=password)
                  -repository.save()
                  -
                  -
                  POST /api/repo/v1/repository/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"name": "registry.local/user1/image1", "username": "username", "password": "password"}
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -image, err := dockercloud.CreateImage(dockercloud.ImageCreateRequest{
                  -  Name: "registry.local/user1/image1",
                  -  Username: "username",
                  -  Password: "password"
                  -})
                  -
                  -
                  docker-cloud repository register -u username -p password registry.local/user1/image1
                  -
                  - -

                  Adds an existing repository on a third party registry.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/repo/v1/[optional_namespace/]repository/

                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  nameName of the repository, i.e. ‘my.registry.com/myrepo’
                  usernameUsername to authenticate with the third party registry
                  passwordPassword to authenticate with the third party registry
                  - -

                  Get an external repository details

                  -
                  import dockercloud
                  -
                  -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
                  -
                  -
                  GET /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -repository, err = dockercloud.GetRepository("registry.local/user1/image1")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -log.Println(repository)
                  -
                  -
                  docker-cloud repository inspect registry.local/user1/image1
                  -
                  - -

                  Gets all the details of an specific repository

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/repo/v1/[optional_namespace/]repository/(name)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the repository to retrieve
                  - -

                  Update credentials of an external repository

                  -
                  import dockercloud
                  -
                  -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
                  -repository.username = "new username"
                  -repository.password = "new password"
                  -repository.save()
                  -
                  -
                  PATCH /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"username": "username", "password": "password"}
                  -
                  -
                  docker-cloud repository update -n "new username" -p "new password" registry.local/user1/image1
                  -
                  - -

                  Updates the external repository credentials.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  PATCH /api/repo/v1/[optional_namespace/]repository/(name)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the repository to update
                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  usernameUsername to authenticate with the private registry
                  passwordPassword to authenticate with the private registry
                  - -

                  Remove an external repository

                  -
                  import dockercloud
                  -
                  -repository = dockercloud.Repository.fetch("registry.local/user1/image1")
                  -repository.delete()
                  -
                  -
                  DELETE /api/repo/v1/repository/registry.local/user1/image1/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -repository, err = dockercloud.GetRepository("registry.local/user1/image1")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -repository.Remove()
                  -
                  -
                  docker-cloud repository rm registry.local/user1/image1
                  -
                  - -

                  Removes the external repository from Docker Cloud. It won’t remove the repository from the third party registry where it’s stored.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/repo/v1/[optional_namespace/]repository/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  nameThe name of the external repository to remove
                  - -

                  Stacks

                  - -

                  Stack

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -  "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
                  -  "destroyed_datetime": null,
                  -  "nickname": "deployment stack",
                  -  "name": "dockercloud-app",
                  -  "resource_uri": "/api/app/v1/user_namespace/stack/7fe7ec85-58be-4904-81da-de2219098d7c/",
                  -  "services": [
                  -    "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/"
                  -  ],
                  -  "state": "Running",
                  -  "synchronized": true,
                  -  "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b"
                  -}
                  -
                  - -

                  A stack is a logical grouping of closely related services, that may be linked with one another.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  uuidA unique identifier for the stack generated automatically on creation
                  resource_uriA unique API endpoint that represents the stack
                  nameA user provided name for the stack.
                  stateThe state of the stack (see table Stack states below)
                  synchronizedFlag indicating if the current stack definition is synchronized with their services.
                  servicesList of service resource URIs belonging to the stack
                  deployed_datetimeThe date and time of the last deployment of the stack (if applicable, null otherwise)
                  destroyed_datetimeThe date and time of the terminate operation on the stack (if applicable, null otherwise)
                  nicknameA user-friendly name for the stack (name by default)
                  - -

                  Stack states

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  StateDescription
                  Not RunningThe stack has been created and has no deployed services yet. Possible actions in this state: start, terminate.
                  StartingAll services for the stack are either starting or already running. No actions allowed in this state.
                  RunningAll services for the service are deployed and running. Possible actions in this state: redeploy, terminate.
                  Partly runningOne or more services of the stack are deployed and running. Possible actions in this state: redeploy, terminate.
                  StoppingAll services for the stack are either stopping or already stopped. No actions allowed in this state.
                  StoppedAll services for the service are stopped. Possible actions in this state: start, redeploy, terminate.
                  RedeployingThe stack is redeploying all its services with the updated configuration. No actions allowed in this state.
                  TerminatingAll services for the stack are either being terminated or already terminated. No actions allowed in this state.
                  TerminatedThe stack and all its services have been terminated. No actions allowed in this state.
                  - -

                  List all stacks

                  -
                  import dockercloud
                  -
                  -stacks = dockercloud.Stack.list()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stackList, err := dockercloud.ListStacks()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(stackList)
                  -
                  -
                  GET /api/app/v1/stack/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack ls
                  -
                  - -

                  Lists all current and recently terminated stacks. Returns a list of Stack objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]stack/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID
                  nameFilter by stack name
                  - -

                  Create a new stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.create(name="my-new-stack", services=[{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}])
                  -stack.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.CreateStack(dockercloud.StackCreateRequest{Name: "my-new-stack", Services: []dockercloud.ServiceCreateRequest{{Image: "tutum/hello-world", Name: "test", Target_num_containers: 2}}})
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(stack)
                  -
                  -
                  POST /api/app/v1/stack/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{
                  -    "name": "my-new-stack",
                  -    "services": [
                  -        {
                  -            "name": "hello-word",
                  -            "image": "tutum/hello-world",
                  -            "target_num_containers": 2,
                  -            "linked_to_service": [
                  -                {
                  -                    "to_service": "database",
                  -                    "name": "DB"
                  -                }
                  -            ]
                  -        },
                  -        {
                  -            "name": "database",
                  -            "image": "tutum/mysql"
                  -        }
                  -    ]
                  -}
                  -
                  -
                  docker-cloud stack create --name hello-world -f docker-compose.yml
                  -
                  - -

                  Creates a new stack without starting it. Note that the JSON syntax is abstracted by both, the Docker Cloud CLI and our UI, in order to use Stack YAML files.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]stack/

                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  name(required) A human-readable name for the stack, i.e. my-hello-world-stack
                  nickname(optional) A user-friendly name for the stack (name by default)
                  services(optional) List of services belonging to the stack. Each service accepts the same parameters as a Create new service operation (default: []) plus the ability to refer “links” and “volumes-from” by the name of another service in the stack (see example).
                  - -

                  Export an existing stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
                  -stack.export()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = stack.Export(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/export/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack export 46aca402
                  -
                  - -

                  Get a JSON representation of the stack following the Stack YAML representation.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]stack/(uuid)/export/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to retrieve
                  - -

                  Get an existing stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(stack)
                  -
                  -
                  GET /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack inspect 46aca402-2109-4a70-a378-760cfed43816
                  -
                  - -

                  Get all the details of an specific stack

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]stack/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to retrieve
                  - -

                  Update an existing stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
                  -stack.services = {"services": [{"name": "hello-word", "image": "tutum/hello-world", "target_num_containers": 2}]}
                  -stack.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = stack.Update(dockercloud.StackCreateRequest{Services: []dockercloud.ServiceCreateRequest{{Name: "hello-world", Image: "tutum/hello-world", Target_num_containers: 2}}}); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  PATCH /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{
                  -    "services": [
                  -        {
                  -            "name": "hello-word",
                  -            "image": "tutum/hello-world",
                  -            "target_num_containers": 3,
                  -            "linked_to_service": [
                  -                {
                  -                    "to_service": "database",
                  -                    "name": "DB"
                  -                }
                  -            ]
                  -        },
                  -        {
                  -            "name": "database",
                  -            "image": "tutum/mysql"
                  -        }
                  -    ]
                  -}
                  -
                  -
                  docker-cloud stack update -f docker-compose.yml 46aca402
                  -
                  - -

                  Updates the details of every service in the stack.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  PATCH /api/app/v1/[optional_namespace/]stack/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to update
                  - -

                  JSON Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  services(optional) List of services belonging to the stack. Each service accepts the same parameters as a Update an existing service operation (default: []) plus the ability to refer “links” and “volumes-from” by the name of another service in the stack (see example).
                  - -

                  Stop a stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
                  -stack.stop()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = stack.Stop(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/stop/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack stop 46aca402-2109-4a70-a378-760cfed43816
                  -
                  - -

                  Stops the services in the stack.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]stack/(uuid)/stop/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to stop
                  - -

                  Start a stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch()
                  -stack.start()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = stack.Start(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/start/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack start 46aca402
                  -
                  - -

                  Starts the services in the stack.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]stack/(uuid)/start/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to start
                  - -

                  Redeploy a stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
                  -stack.redeploy()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes
                  -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
                  -if err = stack.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/redeploy/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack redeploy 46aca402
                  -
                  - -

                  Redeploys all the services in the stack.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]stack/(uuid)/redeploy/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to redeploy
                  - -

                  Query Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
                  - -

                  Terminate a stack

                  -
                  import dockercloud
                  -
                  -stack = dockercloud.Stack.fetch("46aca402-2109-4a70-a378-760cfed43816")
                  -stack.delete()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -stack, err := dockercloud.GetStack("46aca402-2109-4a70-a378-760cfed43816")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = stack.Terminate(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  DELETE /api/app/v1/stack/46aca402-2109-4a70-a378-760cfed43816/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud stack terminate 46aca402
                  -
                  - -

                  Terminate all the services in a the stack and the stack itself.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/app/v1/[optional_namespace/]stack/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the stack to terminate
                  - -

                  Services

                  - -

                  Service

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -  "autodestroy": "OFF",
                  -  "autoredeploy": false,
                  -  "autorestart": "ON_FAILURE",
                  -  "bindings": [
                  -    {
                  -        "host_path": null,
                  -        "container_path": "/tmp",
                  -        "rewritable": true,
                  -        "volumes_from": null
                  -    },
                  -    {
                  -        "host_path": "/etc",
                  -        "container_path": "/etc",
                  -        "rewritable": true,
                  -        "volumes_from": null
                  -    },
                  -    {
                  -        "host_path": null,
                  -        "container_path": null,
                  -        "rewritable": true,
                  -        "volumes_from": "/api/app/v1/user_namespace/service/2f4f54e5-9d3b-4ac1-85ad-a2d4ff25a179/"
                  -    }
                  -  ],
                  -  "cap_add": [
                  -    "ALL"
                  -  ],
                  -  "cap_drop": [
                  -    "NET_ADMIN",
                  -    "SYS_ADMIN"
                  -  ],
                  -  "container_envvars": [
                  -    {
                  -      "key": "DB_PASS",
                  -      "value": "test"
                  -    }
                  -  ],
                  -  "container_ports": [
                  -    {
                  -      "endpoint_uri": "http://wordpress-stackable.admin.srv.dockerapp.io:80/",
                  -      "inner_port": 80,
                  -      "outer_port": 80,
                  -      "port_name": "http",
                  -      "protocol": "tcp",
                  -      "published": true
                  -    }
                  -  ],
                  -  "containers": [
                  -    "/api/app/v1/user_namespace/container/6f8ee454-9dc3-4387-80c3-57aac1be3cc6/",
                  -    "/api/app/v1/user_namespace/container/fdf9c116-7c08-4a60-b0ce-c54ca72c2f25/"
                  -  ],
                  -  "cpu_shares": 100,
                  -  "cpuset": "0,1",
                  -  "cgroup_parent": "m-executor-abcd",
                  -  "current_num_containers": 2,
                  -  "deployed_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
                  -  "deployment_strategy": "EMPTIEST_NODE",
                  -  "destroyed_datetime": null,
                  -  "devices": [
                  -    "/dev/ttyUSB0:/dev/ttyUSB0"
                  -  ],
                  -  "dns": [
                  -    "8.8.8.8"
                  -  ],
                  -  "dns_search": [
                  -    "example.com"
                  -  ],
                  -  "domainname": "domainname",
                  -  "entrypoint": "",
                  -  "extra_hosts": [
                  -    "onehost:50.31.209.229"
                  -  ],
                  -  "hostname": "hostname",
                  -  "image_name": "tutum/wordpress-stackable:latest",
                  -  "nickname": "wordpress-stackable",
                  -  "labels": {
                  -    "com.example.description": "Accounting webapp",
                  -    "com.example.department": "Finance",
                  -    "com.example.label-with-empty-value": ""
                  -  },
                  -  "link_variables": {
                  -    "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**",
                  -    "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress",
                  -    "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I",
                  -    "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**",
                  -    "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin",
                  -    "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive",
                  -    "WORDPRESS_STACKABLE_1_ENV_HOME": "/",
                  -    "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                  -    "WORDPRESS_STACKABLE_1_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
                  -    "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
                  -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io",
                  -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "49153",
                  -    "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp",
                  -    "WORDPRESS_STACKABLE_2_ENV_DB_HOST": "**LinkMe**",
                  -    "WORDPRESS_STACKABLE_2_ENV_DB_NAME": "wordpress",
                  -    "WORDPRESS_STACKABLE_2_ENV_DB_PASS": "szVaPz925B7I",
                  -    "WORDPRESS_STACKABLE_2_ENV_DB_PORT": "**LinkMe**",
                  -    "WORDPRESS_STACKABLE_2_ENV_DB_USER": "admin",
                  -    "WORDPRESS_STACKABLE_2_ENV_DEBIAN_FRONTEND": "noninteractive",
                  -    "WORDPRESS_STACKABLE_2_ENV_HOME": "/",
                  -    "WORDPRESS_STACKABLE_2_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                  -    "WORDPRESS_STACKABLE_2_PORT": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154",
                  -    "WORDPRESS_STACKABLE_2_PORT_80_TCP": "tcp://wordpress-stackable-2.admin.cont.dockerapp.io:49154",
                  -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_ADDR": "wordpress-stackable-2.admin.cont.dockerapp.io",
                  -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_PORT": "49154",
                  -    "WORDPRESS_STACKABLE_2_PORT_80_TCP_PROTO": "tcp",
                  -    "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**",
                  -    "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress",
                  -    "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I",
                  -    "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**",
                  -    "WORDPRESS_STACKABLE_ENV_DB_USER": "admin",
                  -    "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive",
                  -    "WORDPRESS_STACKABLE_ENV_HOME": "/",
                  -    "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                  -    "WORDPRESS_STACKABLE_PORT": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
                  -    "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://wordpress-stackable-1.admin.cont.dockerapp.io:49153",
                  -    "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "wordpress-stackable-1.admin.cont.dockerapp.io",
                  -    "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "49153",
                  -    "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp",
                  -    "WORDPRESS_STACKABLE_DOCKERCLOUD_API_URL": "https://cloud.docker.com/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/"
                  -  },
                  -  "linked_from_service": [],
                  -  "linked_to_service": [
                  -    {
                  -      "from_service": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/",
                  -      "name": "DB",
                  -      "to_service": "/api/app/v1/user_namespace/service/72f175bd-390b-46e3-9463-830aca32ce3e/"
                  -    }
                  -  ],
                  -  "mac_address": "02:42:ac:11:65:43",
                  -  "memory": 2048,
                  -  "memory_swap": 8192,
                  -  "name": "wordpress-stackable",
                  -  "net": "bridge",
                  -  "privileged": false,
                  -  "public_dns": "wordpress-stackable.admin.svc.dockerapp.io",
                  -  "read_only": true,
                  -  "resource_uri": "/api/app/v1/user_namespace/service/09cbcf8d-a727-40d9-b420-c8e18b7fa55b/",
                  -  "roles": ["global"],
                  -  "run_command": "/run-wordpress.sh",
                  -  "running_num_containers": 1,
                  -  "security_opt": [
                  -  ],
                  -  "sequential_deployment": false,
                  -  "started_datetime": "Mon, 13 Oct 2014 11:01:43 +0000",
                  -  "state": "Partly running",
                  -  "stack": "/api/app/v1/user_namespace/stack/46aca402-2109-4a70-a378-760cfed43816/",
                  -  "stdin_open": false,
                  -  "stopped_datetime": null,
                  -  "stopped_num_containers": 0,
                  -  "synchronized": true,
                  -  "tags": [
                  -        {"name": "tag_one"},
                  -        {"name": "tag-two"},
                  -        {"name": "tagthree3"}
                  -  ],
                  -  "target_num_containers": 2,
                  -  "tty": false,
                  -  "user": "root",
                  -  "uuid": "09cbcf8d-a727-40d9-b420-c8e18b7fa55b",
                  -  "working_dir": "/app"
                  -}
                  -
                  - -

                  A service is a template used to deploy one or more containers.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  uuidA unique identifier for the service generated automatically on creation
                  resource_uriA unique API endpoint that represents the service
                  image_nameThe Docker image name and tag used for the service containers
                  nameA user provided name for the service. This name will be inherited by the service containers and will be used in endpoint URLs, environment variable names, etc.
                  public_dnsAn external FQDN that resolves to all IPs of the nodes where the service containers are running on (as an A record with multiple IP entries which will be used by clients in a round-robin fashion). If the service is not publishing any ports, this FQDN will fail to resolve.
                  stateThe state of the service (see table Service states below)
                  netNetwork mode to set on the containers (see table Network Modes below, more information /docker-cloud/apps/service-links/)
                  pidSet the PID (Process) Namespace mode for the containers (more information)
                  synchronizedFlag indicating if the current service definition is synchronized with the current containers.
                  deployed_datetimeThe date and time of the last deployment of the service (if applicable, null otherwise)
                  started_datetimeThe date and time of the last start operation on the service (if applicable, null otherwise)
                  stopped_datetimeThe date and time of the last stop operation on the service (if applicable, null otherwise)
                  destroyed_datetimeThe date and time of the terminate operation on the service (if applicable, null otherwise)
                  target_num_containersThe requested number of containers to deploy for the service
                  current_num_containersThe actual number of containers deployed for the service
                  running_num_containersThe actual number of containers deployed for the service in Running state
                  stopped_num_containersThe actual number of containers deployed for the service in Stopped state
                  stackResource URIs of the stack that the service belongs to
                  containersList of resource URIs of the containers launched as part of the service
                  container_portsList of ports to be published on the containers of this service (see table Service Port attributes below)
                  container_envvarsList of user-defined environment variables to set on the containers of the service, which will override the image environment variables (see table Service Environment Variable attributes below)
                  labelsMetadata in form of dictionary used for every container of this service
                  working_dirWorking directory for running binaries within a container of this service
                  userSet the user used on containers of this service (root by default)
                  hostnameSet the hostname used on containers of this service
                  domainnameSet the domainname used on containers of this service
                  mac_addressEthernet device’s MAC address used on containers of this service
                  cgroup_nameOptional parent cgroup used on containers of this service.
                  ttyIf the containers of this service have the tty enable (false by default)
                  stdin_openIf the containers of this service have stdin opened (false by default)
                  dnsCustom DNS servers for containers of this service
                  dns_searchCustom DNS search domain for containers of this service
                  cap_addAdded capabilities for containers of this service
                  cap_dropDropped capabilities for containers of this service
                  devicesList of device mappings for containers of this service
                  extra_hostsList of hostname mappings for containers of this service
                  secuirty_optLabeling scheme for containers of this service
                  entrypointEntrypoint to be set on the containers launched as part of the service, which will override the image entrypoint
                  run_commandRun command to be set on the containers launched as part of the service, which will override the image run command
                  sequential_deploymentWhether the containers for this service should be deployed in sequence, linking each of them to the previous containers (see Service scaling for more information)
                  cpu_sharesThe relative CPU priority of the containers of the service (see Runtime Constraints on CPU and Memory for more information)
                  cpusetCPUs in which to allow execution
                  memoryThe memory limit of the containers of the service in MB (see Runtime Constraints on CPU and Memory for more information)
                  memory_swapTotal memory limit (memory + swap) of the containers of the service in MB
                  linked_from_serviceA list of services that are linked to this one (see table Related services attributes below)
                  linked_to_serviceA list of services that the service is linked to (see table Related services attributes below)
                  bindingsA list of volume bindings that the service has mounted (see table Service binding attributes below)
                  autorestartWhether to restart the containers of the service automatically if they stop (see Crash recovery for more information)
                  autodestroyWhether to terminate the containers of the service automatically if they stop (see Autodestroy for more information)
                  rolesList of Docker Cloud roles assigned to this service (see Service links for more information)
                  link_variablesList of environment variables that would be exposed in the containers if they are linked to this service
                  privilegedWhether to start the containers with Docker’s privileged flag set or not, which allows containers to access all devices on the host among other things (see Runtime privilege for more information)
                  read_onlyWhether the filesystem of every service container is read-only or not (false by default)
                  deployment_strategyContainer distribution among nodes (see table Deployment strategies below and Deployment strategies for more information)
                  tagsList of tags to be used to deploy the service (see Tags for more information)
                  autoredeployWhether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see Docker Cloud’s private registry for more information)
                  nicknameA user-friendly name for the service (name by default)
                  - -

                  Service binding attributes

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  host_pathThe host path of the volume
                  container_pathThe container path where the volume is mounted
                  rewritabletrue is the volume has writable permissions
                  volumes_fromThe resource URI of the service
                  - -

                  Service Port attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  protocolThe protocol of the port, either tcp or udp
                  inner_portThe published port number inside the container
                  outer_portThe published port number in the node public network interface
                  port_nameName of the service associated to this port
                  endpoint_uriThe URI of the service endpoint for this port
                  publishedWhether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.
                  - -

                  Service Environment Variable attributes

                  - - - - - - - - - - - - - - - -
                  AttributeDescription
                  keyThe name of the environment variable
                  valueThe value of the environment variable
                  - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  nameThe link name
                  from_serviceThe resource URI of the origin of the link
                  to_serviceThe resource URI of the target of the link
                  - -

                  Service states

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  StateDescription
                  Not runningThe service has been created and has no deployed containers yet. Possible actions in this state: start, terminate.
                  StartingAll containers for the service are either starting or already running. No actions allowed in this state.
                  RunningAll containers for the service are deployed and running. Possible actions in this state: stop, redeploy, terminate.
                  Partly runningOne or more containers of the service are deployed and running. Possible actions in this state: stop, redeploy, terminate.
                  ScalingThe service is either deploying new containers or destroying existing ones responding to a scaling request. No actions allowed in this state.
                  RedeployingThe service is redeploying all its containers with the updated configuration. No actions allowed in this state.
                  StoppingAll containers for the service are either stopping or already stopped. No actions allowed in this state.
                  StoppedAll containers for the service are stopped. Possible actions in this state: start, redeploy, terminate.
                  TerminatingAll containers for the service are either being terminated or already terminated. No actions allowed in this state.
                  TerminatedThe service and all its containers have been terminated. No actions allowed in this state.
                  - -

                  Deployment strategies

                  - - - - - - - - - - - - - - - - - - - -
                  StrategyDescription
                  EMPTIEST_NODEIt will deploy containers to the node with the lower total amount of running containers (default).
                  HIGH_AVAILABILITYIt will deploy containers to the node with the lower amount of running containers of the same service.
                  EVERY_NODEIt will deploy one container on every node. The service won’t be able to scale manually. New containers will be deployed to new nodes automatically.
                  - -

                  Network Modes

                  - - - - - - - - - - - - - - - -
                  StrategyDescription
                  bridgeCreates a new network stack for the container on the docker bridge.
                  hostUses the host network stack inside the container.
                  - -

                  List all services

                  -
                  import dockercloud
                  -
                  -services = dockercloud.Service.list()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -serviceList, err := dockercloud.ListServices()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(serviceList)
                  -
                  -
                  GET /api/app/v1/service/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service ps
                  -
                  - -

                  Lists all current and recently terminated services. Returns a list of Service objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]service/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID
                  stateFilter by state. Possible values: Not running, Starting, Running, Partly running, Scaling, Redeploying, Stopping, Stopped, Terminating, Terminated
                  nameFilter by service name
                  stackFilter by resource URI of the target stack.
                  - -

                  Create a new service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.create(image="tutum/hello-world", name="my-new-app", target_num_containers=2)
                  -service.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.CreateService(dockercloud.ServiceCreateRequest{Image: "tutum/hello-world",  Name: "my-new-app", Target_num_containers: 2})
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(service)
                  -
                  -
                  POST /api/app/v1/service/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"image": "tutum/hello-world", "name": "my-new-app", "target_num_containers": 2}
                  -
                  -
                  docker-cloud service create -t 2 --name my-new-app tutum/hello-world
                  -
                  - -

                  Creates a new service without starting it.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/

                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  image(required) The image used to deploy this service in docker format, i.e. tutum/hello-world
                  name(optional) A human-readable name for the service, i.e. my-hello-world-app (default: image without namespace)
                  target_num_containers(optional) The number of containers to run for this service initially (default: 1)
                  run_command(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. /run.sh (default: null)
                  entrypoint(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. /usr/sbin/sshd (default: null)
                  container_ports(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}] (default: []) (See table Service Port attributes below)
                  container_envvars(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. [{"key": "DB_PASSWORD", "value": "mypass"}] (default: []) (See table Service Environment Variable attributes below)
                  linked_to_service(optional) An array of service resource URIs to link this service to, including the link name, i.e. [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}] (default: []) (See table Related services attributes below)
                  bindings(optional) An array of bindings this service has to mount, i.e. [{"volumes_from": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "rewritable": true}] (default: []) (See table Related bindings attributes below)
                  autorestart(optional) Whether the containers for this service should be restarted if they stop, i.e. ALWAYS (default: OFF, possible values: OFF, ON_FAILURE, ALWAYS) (see Crash recovery for more information)
                  autodestroy(optional) Whether the containers should be terminated if they stop, i.e. OFF (default: OFF, possible values: OFF, ON_SUCCESS, ALWAYS) (see Autodestroy for more information)
                  sequential_deployment(optional) Whether the containers should be launched and scaled in sequence, i.e. true (default: false) (see Service scaling for more information)
                  roles(optional) A list of Docker Cloud API roles to grant the service, i.e. ["global"] (default: [], possible values: global) (see Service links for more information)
                  privileged(optional) Whether to start the containers with Docker’s privileged flag set or not, i.e. false (default: false) (see Runtime privilege for more information)
                  deployment_strategy(optional) Container distribution among nodes (default: EMPTIEST_NODE, see table Deployment strategies above and Deployment strategies for more information)
                  tags(optional) A list of tags to be used to deploy the service (see Tags for more information) (default: [])
                  autoredeploy(optional) Whether to redeploy the containers of the service when its image is updated in Docker Cloud registry (default: false) (see Docker Cloud’s private registry for more information)
                  net(optional) Set the network mode to the containers (default: bridge, possible values: bridge, host)
                  pid(optional) Set the PID (Process) Namespace mode for the containers (default: none value, possible values: none, host)
                  working_dir(optional) Working directory for running binaries within a container of this service (default: /)
                  nickname(optional) A user-friendly name for the service (name by default)
                  - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  host_path(optional) The host path of the volume
                  container_path(required if volumes_from is omitted) The container path where the volume is mounted
                  rewritable(optional) true is the volume has writable permissions (default: true)
                  volumes_from(required if container_path is omitted) The resource URI of the service
                  - -

                  Service Port attributes

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  protocol(required) The protocol of the port, either tcp or udp
                  inner_port(required) The port number inside the container to be published
                  outer_port(optional) The port number in the node public network interface to be published (default: dynamic allocation if published is true)
                  published(optional) Whether to publish the port in the host public network interface or not. Non-published ports can only be accessed via links. (default: false)
                  - -

                  Service Environment Variable attributes

                  - - - - - - - - - - - - - - - -
                  AttributeDescription
                  key(required) The name of the environment variable
                  value(required) The value of the environment variable
                  - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  to_service(required) The resource URI of the target of the link
                  name(optional) The link name
                  - -

                  Get an existing service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(service)
                  -
                  -
                  GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service inspect 7eaf7fff
                  -
                  - -

                  Get all the details of an specific service

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]service/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to retrieve
                  - -

                  Get the logs of a service

                  - -
                  -

                  Example log line

                  -
                  -
                  {
                  -    "type": "log",
                  -    "source": "wordpress-stackable-1",
                  -    "log": "Log line from the container indicated by 'source'",
                  -    "streamType": "stdout",
                  -    "timestamp": 1433779324
                  -}
                  -
                  -
                  import dockercloud
                  -
                  -def log_handler(message):
                  -    print message
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.logs(tail=300, follow=True, log_handler=log_handler)
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -c := make(chan Logs)
                  -
                  -go service.Logs(c)
                  -    for {
                  -        s := <-c
                  -        log.Println(s)
                  -    }
                  -
                  -
                  GET /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
                  -Host: ws.cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Connection: Upgrade
                  -Upgrade: websocket
                  -
                  -
                  docker-cloud service logs 7eaf7fff
                  -
                  - -

                  Get the aggregated logs of all the containers of the service.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s STREAM API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]service/(uuid)/logs/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to retrieve logs
                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  tailNumber of lines to show from the end of the logs (default: 300)
                  followWhether to stream logs or close the connection immediately (default: true)
                  - -

                  Update an existing service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.target_num_containers = 3
                  -service.tags.append({"name":"tag-1"})
                  -service.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = service.Update(dockercloud.ServiceCreateRequest{Target_num_containers: 3}); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  PATCH /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"autorestart": "ON_FAILURE", "autodestroy": "OFF", "container_envvars": [{"key": "DB_PASSWORD", "value": "mypass"}],
                  -"container_ports": [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}], "cpu_shares": 512,
                  -"entrypoint": "/usr/sbin/sshd", "image": "tutum/hello-world",
                  -"linked_to_service": [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}],
                  -"memory": 2048, "privileged": True, "roles": ["global"], "run_command": "/run.sh", "sequential_deployment": False,
                  -"tags": [{"name": "tag-1"}], "target_num_containers": 3, "autoredeploy": False}
                  -
                  -
                  -
                  docker-cloud service scale 7eaf7fff 3
                  -docker-cloud tag add -t tag-1 7eaf7fff
                  -docker-cloud tag set -t tag-2 7eaf7fff
                  -
                  - -

                  Updates the service details.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  PATCH /api/app/v1/[optional_namespace/]service/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to update
                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  autorestart(optional) Whether the containers for this service should be restarted if they stop, i.e. ALWAYS (possible values: OFF, ON_FAILURE, ALWAYS) (see Crash recovery for more information)
                  autodestroy(optional) Whether the containers should be terminated if they stop, i.e. OFF (possible values: OFF, ON_SUCCESS, ALWAYS) (see Autodestroy for more information)
                  container_envvars(optional) An array of objects with environment variables to be added in the service containers on launch (overriding any image-defined environment variables), i.e. [{"key": "DB_PASSWORD", "value": "mypass"}] (See table Service Environment Variable attributes)
                  container_ports(optional) An array of objects with port information to be published in the containers for this service, which will be added to the image port information, i.e. [{"protocol": "tcp", "inner_port": 80, "outer_port": 80}] (See table Service Port attributes)
                  cpu_shares(optional) The relative CPU priority of the containers the service describes (see Runtime Constraints on CPU and Memory for more information)
                  entrypoint(optional) The command prefix used to start the containers of this service, overriding the value specified in the image, i.e. /usr/sbin/sshd
                  image(optional) The image used to deploy this service in docker format, i.e. tutum/hello-world, tutum/ubuntu:5.6. If no tag is indicated, it will be set to latest by default
                  linked_to_service(optional) An array of service resource URIs to link this service to, including the link name, i.e. [{"to_service": "/api/app/v1/service/80ff1635-2d56-478d-a97f-9b59c720e513/", "name": "db"}] (See table Related services attributes below)
                  memory(optional) The memory limit of the containers of the service in MB (see Runtime Constraints on CPU and Memory for more information)
                  privileged(optional) Whether to start the containers with Docker’s privileged flag set or not, i.e. false (see Runtime privilege for more information)
                  roles(optional) A list of Docker Cloud API roles to grant the service, i.e. ["global"] (possible values: global) (see Service links for more information)
                  run_command(optional) The command used to start the containers of this service, overriding the value specified in the image, i.e. /run.sh
                  sequential_deployment(optional) Whether the containers should be launched and scaled in sequence, i.e. true (see Service scaling for more information)
                  tags(optional) List of new tags the service will have. This operation replaces the tag list
                  target_num_containers(optional) The number of containers to scale this service to
                  deployment_strategy(optional) Container distribution among nodes. A service cannot be updated to or from a deployment strategy of EVERY_NODE. (See table Deployment strategies above and Deployment strategies for more information)
                  autoredeployWhether to redeploy the containers of the service when its image is updated in Docker Cloud registry (see Docker Cloud’s private registry for more information)
                  net(optional) Set the network mode to the containers (default: bridge, possible values: bridge, host)
                  pid(optional) Set the PID (Process) Namespace mode for the containers (default: none value, possible values: none, host)
                  working_dir(optional) Working directory for running binaries within a container of this service (default: /)
                  nickname(optional) A user-friendly name for the service (name by default)
                  - -

                  Start a service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.start()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = service.Start(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service start 7eaf7fff
                  -
                  - -

                  Starts all containers in a stopped or partly running service.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/(uuid)/start/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to start
                  - -

                  Stop a service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.stop()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = service.Stop(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service stop 7eaf7fff
                  -
                  - -

                  Stops all containers in a running or partly running service.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/(uuid)/stop/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to stop
                  - -

                  Scale a service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.target_num_containers = 3
                  -service.save()
                  -service.scale()
                  -
                  -
                  POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/scale/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service scale 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce 3
                  -
                  - -

                  Scales the service to its current target_num_containers field.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/(uuid)/scale/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to scale
                  - -

                  Redeploy a service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.redeploy()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true}) to reuse the existing volumes
                  -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
                  -if err = service.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/redeploy/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service redeploy 7eaf7fff
                  -
                  - -

                  Redeploys all containers in the service with the current service configuration.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/(uuid)/redeploy/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to redeploy
                  - -

                  Query Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
                  - -

                  Terminate a service

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -service.delete()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -if err = service.Terminate(); err != nil {
                  -   log.Println(err)
                  -}
                  -
                  -
                  DELETE /api/app/v1/service/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud service terminate 7eaf7fff
                  -
                  - -

                  Terminate all the containers in a service and the service itself. This is not reversible. All the data stored in all containers of the service will be permanently deleted.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/app/v1/[optional_namespace/]service/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service to terminate
                  - -

                  Containers

                  - -

                  Container

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "autodestroy": "OFF",
                  -    "autorestart": "OFF",
                  -    "bindings": [
                  -        {
                  -            "volume": "/api/infra/v1/user_namespace/volume/1863e34d-6a7d-4945-aefc-8f27a4ab1a9e/",
                  -            "host_path": null,
                  -            "container_path": "/data",
                  -            "rewritable": true
                  -        },
                  -        {
                  -            "volume": null,
                  -            "host_path": "/etc",
                  -            "container_path": "/etc",
                  -            "rewritable": true
                  -        }
                  -    ],
                  -    "cap_add": [
                  -        "ALL"
                  -    ],
                  -    "cap_drop": [
                  -        "NET_ADMIN",
                  -        "SYS_ADMIN"
                  -    ],
                  -    "container_envvars": [
                  -        {
                  -            "key": "DB_1_ENV_DEBIAN_FRONTEND",
                  -            "value": "noninteractive"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_MYSQL_PASS",
                  -            "value": "**Random**"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_MYSQL_USER",
                  -            "value": "admin"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_PATH",
                  -            "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_REPLICATION_MASTER",
                  -            "value": "**False**"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_REPLICATION_PASS",
                  -            "value": "replica"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_REPLICATION_SLAVE",
                  -            "value": "**False**"
                  -        },
                  -        {
                  -            "key": "DB_1_ENV_REPLICATION_USER",
                  -            "value": "replica"
                  -        },
                  -        {
                  -            "key": "DB_1_PORT",
                  -            "value": "tcp://172.16.0.3:3306"
                  -        },
                  -        {
                  -            "key": "DB_1_PORT_3306_TCP",
                  -            "value": "tcp://172.16.0.3:3306"
                  -        },
                  -        {
                  -            "key": "DB_1_PORT_3306_TCP_ADDR",
                  -            "value": "172.16.0.3"
                  -        },
                  -        {
                  -            "key": "DB_1_PORT_3306_TCP_PORT",
                  -            "value": "3306"
                  -        },
                  -        {
                  -            "key": "DB_1_PORT_3306_TCP_PROTO",
                  -            "value": "tcp"
                  -        },
                  -        {
                  -            "key": "DB_ENV_DEBIAN_FRONTEND",
                  -            "value": "noninteractive"
                  -        },
                  -        {
                  -            "key": "DB_ENV_MYSQL_PASS",
                  -            "value": "**Random**"
                  -        },
                  -        {
                  -            "key": "DB_ENV_MYSQL_USER",
                  -            "value": "admin"
                  -        },
                  -        {
                  -            "key": "DB_ENV_PATH",
                  -            "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                  -        },
                  -        {
                  -            "key": "DB_ENV_REPLICATION_MASTER",
                  -            "value": "**False**"
                  -        },
                  -        {
                  -            "key": "DB_ENV_REPLICATION_PASS",
                  -            "value": "replica"
                  -        },
                  -        {
                  -            "key": "DB_ENV_REPLICATION_SLAVE",
                  -            "value": "**False**"
                  -        },
                  -        {
                  -            "key": "DB_ENV_REPLICATION_USER",
                  -            "value": "replica"
                  -        },
                  -        {
                  -            "key": "DB_PASS",
                  -            "value": "szVaPz925B7I"
                  -        },
                  -        {
                  -            "key": "DB_PORT",
                  -            "value": "tcp://172.16.0.3:3306"
                  -        },
                  -        {
                  -            "key": "DB_PORT_3306_TCP",
                  -            "value": "tcp://172.16.0.3:3306"
                  -        },
                  -        {
                  -            "key": "DB_PORT_3306_TCP_ADDR",
                  -            "value": "172.16.0.3"
                  -        },
                  -        {
                  -            "key": "DB_PORT_3306_TCP_PORT",
                  -            "value": "3306"
                  -        },
                  -        {
                  -            "key": "DB_PORT_3306_TCP_PROTO",
                  -            "value": "tcp"
                  -        },
                  -        {
                  -            "key": "DB_DOCKERCLOUD_API_URL",
                  -            "value": "https://cloud.docker.com/api/app/v1/user_namespace/service/c0fed1dc-c528-40c9-aa4c-dc00672ebcbf/"
                  -        }
                  -    ],
                  -    "container_ports": [
                  -        {
                  -            "endpoint_uri": "http://wordpress-stackable-1.admin.cont.dockerapp.io:49153/",
                  -            "inner_port": 80,
                  -            "outer_port": 49153,
                  -            "port_name": "http",
                  -            "protocol": "tcp",
                  -            "published": true,
                  -            "uri_protocol": "http"
                  -        }
                  -    ],
                  -    "cpu_shares": 100,
                  -    "cpuset": "0,1",
                  -    "cgroup_parent": "m-executor-abcd",
                  -    "deployed_datetime": "Thu, 16 Oct 2014 12:04:08 +0000",
                  -    "destroyed_datetime": null,
                  -    "devices": [
                  -        "/dev/ttyUSB0:/dev/ttyUSB0"
                  -    ],
                  -    "dns": [
                  -        "8.8.8.8"
                  -    ],
                  -    "dns_search": [
                  -        "example.com",
                  -        "c1dd4e1e-1356-411c-8613-e15146633640.local.dockerapp.io"
                  -    ],
                  -    "domainname": "domainname",
                  -    "entrypoint": "",
                  -    "exit_code": null,
                  -    "exit_code_msg": null,
                  -    "extra_hosts": [
                  -        "onehost:50.31.209.229"
                  -    ],
                  -    "hostname": "hostname",
                  -    "image_name": "tutum/wordpress-stackable:latest",
                  -    "labels": {
                  -        "com.example.description": "Accounting webapp",
                  -        "com.example.department": "Finance",
                  -        "com.example.label-with-empty-value": ""
                  -    },
                  -    "linked_to_container": [
                  -        {
                  -            "endpoints": {
                  -                "3306/tcp": "tcp://172.16.0.3:3306"
                  -            },
                  -            "from_container": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/",
                  -            "name": "DB_1",
                  -            "to_container": "/api/app/v1/user_namespace/container/ba434e1e-1234-411c-8613-e15146633640/"
                  -        }
                  -    ],
                  -    "link_variables": {
                  -        "WORDPRESS_STACKABLE_1_ENV_DB_HOST": "**LinkMe**",
                  -        "WORDPRESS_STACKABLE_1_ENV_DB_NAME": "wordpress",
                  -        "WORDPRESS_STACKABLE_1_ENV_DB_PASS": "szVaPz925B7I",
                  -        "WORDPRESS_STACKABLE_1_ENV_DB_PORT": "**LinkMe**",
                  -        "WORDPRESS_STACKABLE_1_ENV_DB_USER": "admin",
                  -        "WORDPRESS_STACKABLE_1_ENV_DEBIAN_FRONTEND": "noninteractive",
                  -        "WORDPRESS_STACKABLE_1_ENV_HOME": "/",
                  -        "WORDPRESS_STACKABLE_1_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                  -        "WORDPRESS_STACKABLE_1_PORT": "tcp://172.16.0.2:80",
                  -        "WORDPRESS_STACKABLE_1_PORT_80_TCP": "tcp://172.16.0.2:80",
                  -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_ADDR": "172.16.0.2",
                  -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_PORT": "80",
                  -        "WORDPRESS_STACKABLE_1_PORT_80_TCP_PROTO": "tcp",
                  -        "WORDPRESS_STACKABLE_ENV_DB_HOST": "**LinkMe**",
                  -        "WORDPRESS_STACKABLE_ENV_DB_NAME": "wordpress",
                  -        "WORDPRESS_STACKABLE_ENV_DB_PASS": "szVaPz925B7I",
                  -        "WORDPRESS_STACKABLE_ENV_DB_PORT": "**LinkMe**",
                  -        "WORDPRESS_STACKABLE_ENV_DB_USER": "admin",
                  -        "WORDPRESS_STACKABLE_ENV_DEBIAN_FRONTEND": "noninteractive",
                  -        "WORDPRESS_STACKABLE_ENV_HOME": "/",
                  -        "WORDPRESS_STACKABLE_ENV_PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                  -        "WORDPRESS_STACKABLE_PORT": "tcp://172.16.0.2:80",
                  -        "WORDPRESS_STACKABLE_PORT_80_TCP": "tcp://172.16.0.2:80",
                  -        "WORDPRESS_STACKABLE_PORT_80_TCP_ADDR": "172.16.0.2",
                  -        "WORDPRESS_STACKABLE_PORT_80_TCP_PORT": "80",
                  -        "WORDPRESS_STACKABLE_PORT_80_TCP_PROTO": "tcp"
                  -    },
                  -    "mac_address": "02:42:ac:11:65:43",
                  -    "memory": 1024,
                  -    "memory_swap": 4096,
                  -    "name": "wordpress-stackable",
                  -    "net": "bridge",
                  -    "node": "/api/infra/v1/user_namespace/node/9691c44e-3155-4ca2-958d-c9571aac0a14/",
                  -    "pid": "none",
                  -    "private_ip": "10.7.0.1",
                  -    "privileged": false,
                  -    "public_dns": "wordpress-stackable-1.admin.cont.dockerapp.io",
                  -    "read_only": true,
                  -    "resource_uri": "/api/app/v1/user_namespace/container/c1dd4e1e-1356-411c-8613-e15146633640/",
                  -    "roles": ["global"],
                  -    "run_command": "/run-wordpress.sh",
                  -    "security_opt": [
                  -        "label:user:USER",
                  -        "label:role:ROLE"
                  -    ],
                  -    "service": "/api/app/v1/user_namespace/service/adeebc1b-1b81-4af0-b8f2-cefffc69d7fb/",
                  -    "started_datetime": "Thu, 16 Oct 2014 12:04:08 +0000",
                  -    "state": "Running",
                  -    "stdin_open": false,
                  -    "stopped_datetime": null,
                  -    "synchronized": true,
                  -    "tty": false,
                  -    "user": "root",
                  -    "uuid": "c1dd4e1e-1356-411c-8613-e15146633640",
                  -    "working_dir": "/app"
                  -}
                  -
                  - -

                  A container is a representation of a Docker container in a node.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  uuidA unique identifier for the container generated automatically on creation
                  resource_uriA unique API endpoint that represents the container
                  image_nameThe Docker image name and tag of the container
                  bindingsA list of volume bindings that the container has mounted (see table Container Binding attributes below)
                  nameA user provided name for the container (inherited from the service)
                  nodeThe resource URI of the node where this container is running
                  serviceThe resource URI of the service which this container is part of
                  public_dnsThe external FQDN of the container
                  stateThe state of the container (see table Container states below)
                  synchronizedFlag indicating if the container is synchronized with the current service definition.
                  exit_codeThe numeric exit code of the container (if applicable, null otherwise)
                  exit_code_msgA string representation of the exit code of the container (if applicable, null otherwise)
                  deployed_datetimeThe date and time of the last deployment of the container (if applicable, null otherwise)
                  started_datetimeThe date and time of the last start operation on the container (if applicable, null otherwise)
                  stopped_datetimeThe date and time of the last stop operation on the container (if applicable, null otherwise)
                  destroyed_datetimeThe date and time of the terminate operation on the container (if applicable, null otherwise)
                  container_portsList of published ports of this container (see table Container Port attributes below)
                  container_envvarsList of user-defined environment variables set on the containers of the service, which will override the container environment variables (see table Container Environment Variable attributes below)
                  labelsContainer metadata in form of dictionary
                  working_dirWorking directory for running binaries within a container
                  userUser used on the container on launch
                  hostnameHostname used on the container on launch
                  domainnameDomainname used on the container on launch
                  mac_addressEthernet device’s MAC address used on the container on launch
                  cgroup_nameOptional parent cgroup for the container.
                  ttyIf the container has the tty enable
                  stdin_openIf the container has stdin opened
                  dnsContainer custom DNS servers
                  dns_searchContainer custom DNS search domain
                  cap_addContainer added capabilities
                  cap_dropContainer dropped capabilities
                  devicesList of container device mappings
                  extra_hostsList of container hostname mappings
                  secuirty_optLabeling scheme of this container
                  entrypointEntrypoint used on the container on launch
                  run_commandRun command used on the container on launch
                  cpu_sharesThe relative CPU priority of the container (see Runtime Constraints on CPU and Memory for more information)
                  cpusetCPUs in which execution is allowed
                  memoryThe memory limit of the container in MB (see Runtime Constraints on CPU and Memory for more information)
                  memory_swapTotal memory limit (memory + swap) of the container in MB
                  autorestartWhether to restart the container automatically if it stops (see Crash recovery for more information)
                  autodestroyWhether to terminate the container automatically if it stops (see Autodestroy for more information)
                  rolesList of Docker Cloud roles asigned to this container (see API roles for more information))
                  linked_to_containerList of IP addresses of the linked containers (see table Container Link attributes below and Service links for more information)
                  link_variablesList of environment variables that would be exposed in any container that is linked to this one
                  privilegedWhether the container has Docker’s privileged flag set or not (see Runtime privilege for more information)
                  read_onlyWhether the container filesystem is read-only or not
                  private_ipIP address of the container on the overlay network. This IP will be reachable from any other container.
                  netNetwork mode set on the container (see table Network Modes below, more information)
                  pidPID (Process) Namespace mode for the container (more information)
                  - -

                  Container Binding attributes

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  host_pathThe host path of the volume
                  container_pathThe container path where the volume is mounted
                  rewritabletrue is the volume has writable permissions
                  volumeThe resource URI of the volume
                  - -

                  Container Port attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  protocolThe protocol of the port, either tcp or udp
                  inner_portThe published port number inside the container
                  outer_portThe published port number in the node public network interface
                  port_nameName of the service associated to this port
                  uri_protocolThe protocol to be used in the endpoint for this port (i.e. http)
                  endpoint_uriThe URI of the endpoint for this port
                  publishedWhether the port has been published in the host public network interface or not. Non-published ports can only be accessed via links.
                  - -

                  Container Environment Variable attributes

                  - - - - - - - - - - - - - - - -
                  AttributeDescription
                  keyThe name of the environment variable
                  valueThe value of the environment variable
                  - -

                  Container States

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  StateDescription
                  StartingThe container is being deployed or started (from Stopped). No actions allowed in this state.
                  RunningThe container is deployed and running. Possible actions in this state: stop, terminate.
                  StoppingThe container is being stopped. No actions allowed in this state.
                  StoppedThe container is stopped. Possible actions in this state: start, terminate.
                  TerminatingThe container is being deleted. No actions allowed in this state.
                  TerminatedThe container has been deleted. No actions allowed in this state.
                  - -

                  Network Modes

                  - - - - - - - - - - - - - - - -
                  StrategyDescription
                  bridgeCreates a new network stack for the container on the docker bridge.
                  hostUses the host network stack inside the container.
                  - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  nameThe name given to the link
                  from_containerThe resource URI of the “client” container
                  to_containerThe resource URI of the “server” container being linked
                  endpointsA dictionary with the endpoints (protocol, IP and port) to be used to reach each of the “server” container exposed ports
                  - -

                  List all containers

                  -
                  import dockercloud
                  -
                  -containers = dockercloud.Container.list()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -containerList, err := dockercloud.ListContainers()
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(containerList)
                  -
                  -
                  GET /api/app/v1/container/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud container ps
                  -
                  - -

                  Lists all current and recently terminated containers. Returns a list of Container objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]container/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidFilter by UUID
                  stateFilter by state. Possible values: Starting, Running, Stopping, Stopped, Terminating, Terminated
                  nameFilter by container name
                  serviceFilter by resource URI of the target service.
                  nodeFilter by resource URI of the target node.
                  - -

                  Get an existing container

                  -
                  import dockercloud
                  -
                  -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockerckoud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(container)
                  -
                  -
                  GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud container inspect 7eaf7fff
                  -
                  - -

                  Get all the details of an specific container

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]container/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container to retrieve
                  - -

                  Get the logs of a container

                  - -
                  -

                  Example log line

                  -
                  -
                  {
                  -    "type": "log",
                  -    "log": "Log line from the container",
                  -    "streamType": "stdout",
                  -    "timestamp": 1433779324
                  -}
                  -
                  -
                  import dockercloud
                  -
                  -def log_handler(message):
                  -    print message
                  -
                  -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -container.logs(tail=300, follow=True, log_handler=log_handler)
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockercloud.GetContainer("447ecddc-2890-4ea2-849b-99392e0dd7a6")
                  -
                  -if err != nil {
                  -    log.Fatal(err)
                  -}
                  -c := make(chan dockercloud.Logs)
                  -
                  -go container.Logs(c)
                  -    for {
                  -        s := <-c
                  -        log.Println(s)
                  -    }
                  -
                  -
                  GET /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/logs/ HTTP/1.1
                  -Host: ws.cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Connection: Upgrade
                  -Upgrade: websocket
                  -
                  -
                  docker-cloud container logs 7eaf7fff
                  -
                  - -

                  Get the logs of the specified container.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s STREAM API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]container/(uuid)/logs/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container to retrieve logs
                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  tailNumber of lines to show from the end of the logs (default: 300)
                  followWhether to stream logs or close the connection immediately (default: true)
                  serviceFilter by service (resource URI)
                  - -

                  Start a container

                  -
                  import dockercloud
                  -
                  -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -container.start()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -if err = container.Start(); err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud container start 7eaf7fff
                  -
                  - -

                  Starts a stopped container.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]container/(uuid)/start/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container to start
                  - -

                  Stop a container

                  -
                  import dockercloud
                  -
                  -container = dockerlcoud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -container.stop()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -if err = container.Stop(); err != nil {
                  -       log.Println(err)
                  -   }
                  -
                  -
                  POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/stop/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud container stop 7eaf7fff
                  -
                  - -

                  Stops a running container.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]container/(uuid)/stop/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container to stop
                  - -

                  Redeploy a container

                  -
                  import dockercloud
                  -
                  -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -container.redeploy()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: true) to reuse the existing volumes
                  -//Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}) to not reuse the existing volumes
                  -if err = container.Redeploy(dockercloud.ReuseVolumesOption{Reuse: false}); err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -
                  POST /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/start/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud container redeploy 7eaf7fff
                  -
                  - -

                  Redeploys a container.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]container/(uuid)/redeploy/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container to redeploy
                  - -

                  Query Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  reuse_volumesWheather to reuse container volumes for this redeploy operation or not (default: true).
                  - -

                  Terminate a container

                  -
                  import dockercloud
                  -
                  -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -container.delete()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -    log.Println(err)
                  -}
                  -
                  -if err = container.Terminate(); err != nil {
                  -       log.Println(err)
                  -   }
                  -
                  -
                  DELETE /api/app/v1/container/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud container terminate 7eaf7fff
                  -
                  - -

                  Terminates the specified container. This is not reversible. All data stored in the container will be permanently deleted.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/app/v1/[optional_namespace/]container/(uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container to terminate
                  - -

                  Execute command inside a container

                  -
                  import dockercloud
                  -
                  -def msg_handler(message):
                  -    print message
                  -
                  -container = dockercloud.Container.fetch("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -container.execute("ls", handler=msg_handler)
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -container, err := dockercloud.GetContainer("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -c := make(chan dockercloud.Exec)
                  -
                  -container.Exec("ls", c)
                  -
                  -
                  -
                  GET /api/app/v1/container/(uuid)/exec/ HTTP/1.1
                  -Host: ws.cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Connection: Upgrade
                  -Upgrade: websocket
                  -
                  -
                  docker-cloud exec 7eaf7fff ls
                  -
                  - -

                  Executes a command inside the specified running container, creating a bi-directional stream for the process’ standard input and output. This endpoint can be connected to using a bi-directional Secure Web Socket wss://ws.cloud.docker.com/api/app/v1/container/(uuid)/exec/

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s STREAM API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]container/(uuid)/exec/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the container where the command will be executed
                  - -

                  Query Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  commandCommand to be executed (default: sh)
                  - -

                  Triggers

                  - -

                  Service triggers

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -  "url": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/call/",
                  -  "operation": "REDEPLOY",
                  -  "name": "docker_trigger",
                  -  "resource_uri": "/api/app/v1/user_namespace/service/82d4a246-52d8-468d-903d-9da9ef05ff28/trigger/0224815a-c156-44e4-92d7-997c69354438/"
                  -}
                  -
                  - -

                  Triggers are URLs that will start a redeploy of the service whenever a POST request is sent to them. They require no authorization headers, so they should be treated as access tokens. Triggers can be revoked if they are leaked or no longer used for security purposes. See Triggers for more information.

                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  urlAddress to be used to call the trigger with a POST request
                  nameA user provided name for the trigger
                  operationThe operation that the trigger call performs (see table Operations below)
                  resource_uriA unique API endpoint that represents the trigger
                  - -

                  Operations

                  - - - - - - - - - - - - - - - -
                  OperationDescription
                  REDEPLOYPerforms a redeploy service operation.
                  SCALEUPPerforms a scale up service operation.
                  - -

                  List all triggers

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
                  -trigger = dockercloud.Trigger.fetch(service)
                  -trigger.list()
                  -
                  -
                  GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
                  -
                  -    if err != nil {
                  -        log.Println(err)
                  -    }
                  -
                  -trigger, err := service.ListTriggers()
                  -
                  -  if err != nil {
                  -    log.Println(err)
                  -  }
                  -
                  -    log.Println(trigger)
                  -
                  -
                  docker-cloud trigger list 61a29874-9134-48f9-b460-f37d4bec4826
                  -
                  - -

                  Lists all current triggers the service has associated to. Returns a list of Service Trigger objects.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/

                  - -

                  Path Parameters

                  - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service the triggers are associated to
                  - -

                  Create a new trigger

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
                  -trigger = dockercloud.Trigger.fetch(service)
                  -trigger.add(name="mytrigger_name", operation="REDEPLOY")
                  -trigger.save()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -trigger, err := service.CreateTrigger(dockercloud.TriggerCreateRequest{Name: "test-trigger", Operation: "REDEPLOY"})
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(trigger)
                  -
                  -
                  POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -Content-Type: application/json
                  -
                  -{"name": "mytrigger_name", "operation": "REDEPLOY"}
                  -
                  -
                  docker-cloud trigger create --name mytrigger_name --operation REDEPLOY 61a29874-9134-48f9-b460-f37d4bec4826
                  -
                  - -

                  Creates a new service trigger.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/

                  - -

                  JSON Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  name(optional) A user provided name for the trigger
                  operation(optional) The operation to be performed by the trigger (default: “REDEPLOY”)
                  - -

                  Get an existing trigger

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
                  -trigger = dockercloud.Trigger.fetch(service)
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -trigger, err := service.GetTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -log.Println(trigger)
                  -
                  -
                  GET /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  - -

                  Get all the details of an specific trigger

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  GET /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the service the triggers are associated to
                  trigger_uuidThe UUID of the trigger to retrieve
                  - -

                  Delete a trigger

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
                  -trigger = dockercloud.Trigger.fetch(service)
                  -trigger.delete("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -service.DeleteTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  DELETE /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Accept: application/json
                  -
                  -
                  docker-cloud trigger rm 61a29874-9134-48f9-b460-f37d4bec4826 7eaf7fff-882c-4f3d-9a8f-a22317ac00ce
                  -
                  - -

                  Deletes specific trigger. It will be no longer available to be called.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  DELETE /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/

                  - -

                  Path Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the associated service
                  trigger_uuidThe UUID of the trigger to delete
                  - -

                  Call a trigger

                  -
                  import dockercloud
                  -
                  -service = dockercloud.Service.fetch('61a29874-9134-48f9-b460-f37d4bec4826')
                  -trigger = dockercloud.Trigger.fetch(service)
                  -trigger.call("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -service, err := dockercloud.GetService("61a29874-9134-48f9-b460-f37d4bec4826")
                  -
                  -if err != nil {
                  -  log.Println(err)
                  -}
                  -
                  -service.CallTrigger("7eaf7fff-882c-4f3d-9a8f-a22317ac00ce")
                  -
                  -
                  POST /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/ HTTP/1.1
                  -Host: cloud.docker.com
                  -Accept: application/json
                  -
                  - -

                  Executes the trigger. For SCALEUP triggers, the number of containers to scale up can be passed at the end of the trigger call url, for example /api/app/v1/service/61a29874-9134-48f9-b460-f37d4bec4826/trigger/7eaf7fff-882c-4f3d-9a8f-a22317ac00ce/call/3/.

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s REST API

                  - -

                  HTTP Request

                  - -

                  POST /api/app/v1/[optional_namespace/]service/(uuid)/trigger/(trigger_uuid)/call/

                  - -

                  Path Parameters

                  - - - - - - - - - - - - - - - -
                  ParameterDescription
                  uuidThe UUID of the associated service
                  trigger_uuidThe UUID of the trigger to call
                  - -

                  Docker Cloud Events

                  - -

                  Docker Cloud Event

                  - -
                  -

                  Example

                  -
                  -
                  {
                  -    "type": "action",
                  -    "action": "update",
                  -    "parents": [
                  -        "/api/app/v1/user_namespace/container/0b0e3538-88df-4f07-9aed-3a3cc4175076/"
                  -    ],
                  -    "resource_uri": "/api/app/v1/user_namespace/action/49f0efe8-a704-4a10-b02f-f96344fabadd/",
                  -    "state": "Success",
                  -    "uuid": "093ba3bb-08dd-48f0-8f12-4d3b85ef85b3",
                  -    "datetime": "2016-02-01T16:47:28Z"
                  -}
                  -
                  - -

                  Docker Cloud events are generated every time any of the following objects is created or changes state:

                  - -
                    -
                  • Stack
                  • -
                  • Service
                  • -
                  • Container
                  • -
                  • Node Cluster
                  • -
                  • Node
                  • -
                  • Action
                  • -
                  - -

                  This is a namespaced endpoint.

                  - -

                  Attributes

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  AttributeDescription
                  typeType of object that was created or updated. For possible values, check the events types table below.
                  actionType of action that was executed on the object. Posible values: create, update or delete
                  parentsList of resource URIs (REST API) of the parents of the object, according to the “Parent-child hierarchy” table below
                  resource_uriResource URI (REST API) of the object that was created or updated. You can do a GET operation on this URL to fetch its details
                  stateThe current state of the object
                  uuidUnique identifier for the event
                  datetimeDate and time of the event in ISO 8601 format
                  - -

                  Event types

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  TypeDescription
                  stackWhenever a Stack is created or updated
                  serviceWhenever a Service is created or updated
                  containerWhenever a Container is created or updated
                  nodeclusterWhenever a Node Cluster is created or updated
                  nodeWhenever a Node is created or updated
                  actionWhenever a Action is created or updated
                  errorSent when an error occurs on the websocket connection or as part of the authentication process
                  - -

                  Parent-child hierarchy

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  Object typeParent types
                  Stack(None)
                  ServiceStack
                  ContainerService, Stack, Node, Node Cluster
                  Node Cluster(None)
                  NodeNode Cluster
                  Action(object to which the action applies to)
                  - -

                  Listen to new Docker Cloud Events

                  -
                  import dockercloud
                  -
                  -def process_event(event):
                  -    print event
                  -
                  -events = dockercloud.Events()
                  -events.on_message(process_event)
                  -events.run_forever()
                  -
                  -
                  import "github.com/docker/go-dockercloud/dockercloud"
                  -
                  -// Listens for container events only
                  -myFilter := dockercloud.NewStreamFilter(&dockercloud.EventFilter{Type: "container"})
                  -
                  -stream := dockercloud.NewStream(myFilter)
                  -
                  -if err := stream.Connect(); err == nil {
                  -    go stream.RunForever()
                  -} else {
                  -    log.Print("Connect err: " + err.Error())
                  -}
                  -
                  -for {
                  -    select {
                  -    case event := <-stream.MessageChan:
                  -        log.Println(event)
                  -    case err := <-stream.ErrorChan:
                  -        log.Println(err)
                  -    }
                  -}
                  -
                  -
                  GET /api/audit/v1/events/ HTTP/1.1
                  -Host: ws.cloud.docker.com
                  -Authorization: Basic dXNlcm5hbWU6YXBpa2V5
                  -Connection: Upgrade
                  -Upgrade: websocket
                  -
                  -
                  docker-cloud event
                  -
                  - -

                  Listens for new Docker Cloud Events

                  - -

                  Endpoint Type

                  - -

                  Available in Docker Cloud’s STREAM API

                  - -

                  HTTP Request

                  - -

                  GET /api/audit/v1/[optional_namespace/]events/

                  - -

                  Query Parameters

                  - - - - - - - - - - - - - - - - - - - -
                  ParameterDescription
                  typeFilter by type
                  objectFilter by object resource URI
                  parentFilter by object parents
                  - -

                  Errors

                  - -
                  -

                  API response structure

                  -
                  -
                  {
                  -    "error": "Descriptive error message"
                  -}
                  -
                  - -

                  The Docker Cloud API uses the following error codes:

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  Error CodeMeaning
                  400Bad Request – There’s a problem in the content of your request. Retrying the same request will fail.
                  401Unauthorized – Your API key is wrong or your account has been deactivated.
                  402Payment Required – You need to provide billing information to perform this request.
                  403Forbidden – Quota limit exceeded. Please contact support to request a quota increase.
                  404Not Found – The requested object cannot be found.
                  405Method Not Allowed – The endpoint requested does not implement the method sent.
                  409Conflict – The object cannot be created or updated because another object exists with the same unique fields
                  415Unsupported Media Type – Make sure you are using Accept and Content-Type headers as application/json and that the data your are POST-ing or PATCH-ing is in valid JSON format.
                  429Too Many Requests – You are being throttled because of too many requests in a short period of time.
                  500Internal Server Error – There was a server error while processing your request. Try again later, or contact support.
                  503Service Unavailable – We’re temporarily offline for maintenance. Please try again later.
                  504Gateway Timeout – Our API servers are at full capacity. Please try again later.
                  - -
                  -
                  -
                  - http - go - python - CLI -
                  -
                  -
                  - - diff --git a/apidocs/overview.md b/apidocs/overview.md deleted file mode 100644 index 6d5098def127..000000000000 --- a/apidocs/overview.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -description: Learn how to use DTR APIs. -keywords: docker, registry, DTR, APIs -title: API overview ---- - -Docker Trusted Registry has an experimental API that you can use to manage -DTR repositories, permissions, and settings. - -> This API is still experimental and can change without backwards compatibility. - -To get access to interactive documentation, in your **DTR UI**, click -on the **top-right menu** and choose **API docs**. - -![](dtr-api-overview.png) diff --git a/apidocs/v1.3.3/css/print.css b/apidocs/v1.3.3/css/print.css deleted file mode 100644 index 708d2713166e..000000000000 --- a/apidocs/v1.3.3/css/print.css +++ /dev/null @@ -1,1174 +0,0 @@ - - -/* Original style from softwaremaniacs.org (c) Ivan Sagalaev */ -.swagger-section pre code { - display: block; - padding: 0.5em; - background: #F0F0F0; -} -.swagger-section pre code, -.swagger-section pre .subst, -.swagger-section pre .tag .title, -.swagger-section pre .lisp .title, -.swagger-section pre .clojure .built_in, -.swagger-section pre .nginx .title { - color: black; -} -.swagger-section pre .string, -.swagger-section pre .title, -.swagger-section pre .constant, -.swagger-section pre .parent, -.swagger-section pre .tag .value, -.swagger-section pre .rules .value, -.swagger-section pre .rules .value .number, -.swagger-section pre .preprocessor, -.swagger-section pre .ruby .symbol, -.swagger-section pre .ruby .symbol .string, -.swagger-section pre .aggregate, -.swagger-section pre .template_tag, -.swagger-section pre .django .variable, -.swagger-section pre .smalltalk .class, -.swagger-section pre .addition, -.swagger-section pre .flow, -.swagger-section pre .stream, -.swagger-section pre .bash .variable, -.swagger-section pre .apache .tag, -.swagger-section pre .apache .cbracket, -.swagger-section pre .tex .command, -.swagger-section pre .tex .special, -.swagger-section pre .erlang_repl .function_or_atom, -.swagger-section pre .markdown .header { - color: #800; -} -.swagger-section pre .comment, -.swagger-section pre .annotation, -.swagger-section pre .template_comment, -.swagger-section pre .diff .header, -.swagger-section pre .chunk, -.swagger-section pre .markdown .blockquote { - color: #888; -} -.swagger-section pre .number, -.swagger-section pre .date, -.swagger-section pre .regexp, -.swagger-section pre .literal, -.swagger-section pre .smalltalk .symbol, -.swagger-section pre .smalltalk .char, -.swagger-section pre .go .constant, -.swagger-section pre .change, -.swagger-section pre .markdown .bullet, -.swagger-section pre .markdown .link_url { - color: #080; -} -.swagger-section pre .label, -.swagger-section pre .javadoc, -.swagger-section pre .ruby .string, -.swagger-section pre .decorator, -.swagger-section pre .filter .argument, -.swagger-section pre .localvars, -.swagger-section pre .array, -.swagger-section pre .attr_selector, -.swagger-section pre .important, -.swagger-section pre .pseudo, -.swagger-section pre .pi, -.swagger-section pre .doctype, -.swagger-section pre .deletion, -.swagger-section pre .envvar, -.swagger-section pre .shebang, -.swagger-section pre .apache .sqbracket, -.swagger-section pre .nginx .built_in, -.swagger-section pre .tex .formula, -.swagger-section pre .erlang_repl .reserved, -.swagger-section pre .prompt, -.swagger-section pre .markdown .link_label, -.swagger-section pre .vhdl .attribute, -.swagger-section pre .clojure .attribute, -.swagger-section pre .coffeescript .property { - color: #8888ff; -} -.swagger-section pre .keyword, -.swagger-section pre .id, -.swagger-section pre .phpdoc, -.swagger-section pre .title, -.swagger-section pre .built_in, -.swagger-section pre .aggregate, -.swagger-section pre .css .tag, -.swagger-section pre .javadoctag, -.swagger-section pre .phpdoc, -.swagger-section pre .yardoctag, -.swagger-section pre .smalltalk .class, -.swagger-section pre .winutils, -.swagger-section pre .bash .variable, -.swagger-section pre .apache .tag, -.swagger-section pre .go .typename, -.swagger-section pre .tex .command, -.swagger-section pre .markdown .strong, -.swagger-section pre .request, -.swagger-section pre .status { - font-weight: bold; -} -.swagger-section pre .markdown .emphasis { - font-style: italic; -} -.swagger-section pre .nginx .built_in { - font-weight: normal; -} -.swagger-section pre .coffeescript .javascript, -.swagger-section pre .javascript .xml, -.swagger-section pre .tex .formula, -.swagger-section pre .xml .javascript, -.swagger-section pre .xml .vbscript, -.swagger-section pre .xml .css, -.swagger-section pre .xml .cdata { - opacity: 0.5; -} -.swagger-section .swagger-ui-wrap { - line-height: 1; - font-family: "Droid Sans", sans-serif; - max-width: 960px; - margin-left: auto; - margin-right: auto; -} -.swagger-section .swagger-ui-wrap b, -.swagger-section .swagger-ui-wrap strong { - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap q, -.swagger-section .swagger-ui-wrap blockquote { - quotes: none; -} -.swagger-section .swagger-ui-wrap p { - line-height: 1.4em; - padding: 0 0 10px; - color: #333333; -} -.swagger-section .swagger-ui-wrap q:before, -.swagger-section .swagger-ui-wrap q:after, -.swagger-section .swagger-ui-wrap blockquote:before, -.swagger-section .swagger-ui-wrap blockquote:after { - content: none; -} -.swagger-section .swagger-ui-wrap .heading_with_menu h1, -.swagger-section .swagger-ui-wrap .heading_with_menu h2, -.swagger-section .swagger-ui-wrap .heading_with_menu h3, -.swagger-section .swagger-ui-wrap .heading_with_menu h4, -.swagger-section .swagger-ui-wrap .heading_with_menu h5, -.swagger-section .swagger-ui-wrap .heading_with_menu h6 { - display: block; - clear: none; - float: left; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - width: 60%; -} -.swagger-section .swagger-ui-wrap table { - border-collapse: collapse; - border-spacing: 0; -} -.swagger-section .swagger-ui-wrap table thead tr th { - padding: 5px; - font-size: 0.9em; - color: #666666; - border-bottom: 1px solid #999999; -} -.swagger-section .swagger-ui-wrap table tbody tr:last-child td { - border-bottom: none; -} -.swagger-section .swagger-ui-wrap table tbody tr.offset { - background-color: #f0f0f0; -} -.swagger-section .swagger-ui-wrap table tbody tr td { - padding: 6px; - font-size: 0.9em; - border-bottom: 1px solid #cccccc; - vertical-align: top; - line-height: 1.3em; -} -.swagger-section .swagger-ui-wrap ol { - margin: 0px 0 10px; - padding: 0 0 0 18px; - list-style-type: decimal; -} -.swagger-section .swagger-ui-wrap ol li { - padding: 5px 0px; - font-size: 0.9em; - color: #333333; -} -.swagger-section .swagger-ui-wrap ol, -.swagger-section .swagger-ui-wrap ul { - list-style: none; -} -.swagger-section .swagger-ui-wrap h1 a, -.swagger-section .swagger-ui-wrap h2 a, -.swagger-section .swagger-ui-wrap h3 a, -.swagger-section .swagger-ui-wrap h4 a, -.swagger-section .swagger-ui-wrap h5 a, -.swagger-section .swagger-ui-wrap h6 a { - text-decoration: none; -} -.swagger-section .swagger-ui-wrap h1 a:hover, -.swagger-section .swagger-ui-wrap h2 a:hover, -.swagger-section .swagger-ui-wrap h3 a:hover, -.swagger-section .swagger-ui-wrap h4 a:hover, -.swagger-section .swagger-ui-wrap h5 a:hover, -.swagger-section .swagger-ui-wrap h6 a:hover { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap h1 span.divider, -.swagger-section .swagger-ui-wrap h2 span.divider, -.swagger-section .swagger-ui-wrap h3 span.divider, -.swagger-section .swagger-ui-wrap h4 span.divider, -.swagger-section .swagger-ui-wrap h5 span.divider, -.swagger-section .swagger-ui-wrap h6 span.divider { - color: #aaaaaa; -} -.swagger-section .swagger-ui-wrap a { - color: #547f00; -} -.swagger-section .swagger-ui-wrap a img { - border: none; -} -.swagger-section .swagger-ui-wrap article, -.swagger-section .swagger-ui-wrap aside, -.swagger-section .swagger-ui-wrap details, -.swagger-section .swagger-ui-wrap figcaption, -.swagger-section .swagger-ui-wrap figure, -.swagger-section .swagger-ui-wrap footer, -.swagger-section .swagger-ui-wrap header, -.swagger-section .swagger-ui-wrap hgroup, -.swagger-section .swagger-ui-wrap menu, -.swagger-section .swagger-ui-wrap nav, -.swagger-section .swagger-ui-wrap section, -.swagger-section .swagger-ui-wrap summary { - display: block; -} -.swagger-section .swagger-ui-wrap pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; -} -.swagger-section .swagger-ui-wrap pre code { - line-height: 1.6em; - background: none; -} -.swagger-section .swagger-ui-wrap .content > .content-type > div > label { - clear: both; - display: block; - color: #0F6AB4; - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-section .swagger-ui-wrap .content pre { - font-size: 12px; - margin-top: 5px; - padding: 5px; -} -.swagger-section .swagger-ui-wrap .icon-btn { - cursor: pointer; -} -.swagger-section .swagger-ui-wrap .info_title { - padding-bottom: 10px; - font-weight: bold; - font-size: 25px; -} -.swagger-section .swagger-ui-wrap .footer { - margin-top: 20px; -} -.swagger-section .swagger-ui-wrap p.big, -.swagger-section .swagger-ui-wrap div.big p { - font-size: 1em; - margin-bottom: 10px; -} -.swagger-section .swagger-ui-wrap form.fullwidth ol li.string input, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.url input, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.text textarea, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.numeric input { - width: 500px !important; -} -.swagger-section .swagger-ui-wrap .info_license { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_tos { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .message-fail { - color: #cc0000; -} -.swagger-section .swagger-ui-wrap .info_url { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_email { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_name { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_description { - padding-bottom: 10px; - font-size: 15px; -} -.swagger-section .swagger-ui-wrap .markdown ol li, -.swagger-section .swagger-ui-wrap .markdown ul li { - padding: 3px 0px; - line-height: 1.4em; - color: #333333; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input { - display: block; - padding: 4px; - width: auto; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title { - font-size: 1.3em; -} -.swagger-section .swagger-ui-wrap table.fullwidth { - width: 100%; -} -.swagger-section .swagger-ui-wrap .model-signature { - font-family: "Droid Sans", sans-serif; - font-size: 1em; - line-height: 1.5em; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav a { - text-decoration: none; - color: #AAA; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav a:hover { - text-decoration: underline; - color: black; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav .selected { - color: black; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap .model-signature .propType { - color: #5555aa; -} -.swagger-section .swagger-ui-wrap .model-signature pre:hover { - background-color: #ffffdd; -} -.swagger-section .swagger-ui-wrap .model-signature pre { - font-size: .85em; - line-height: 1.2em; - overflow: auto; - max-height: 200px; - cursor: pointer; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav { - display: block; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li:last-child { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li { - float: left; - margin: 0 5px 5px 0; - padding: 2px 5px 2px 0; - border-right: 1px solid #ddd; -} -.swagger-section .swagger-ui-wrap .model-signature .propOpt { - color: #555; -} -.swagger-section .swagger-ui-wrap .model-signature .snippet small { - font-size: 0.75em; -} -.swagger-section .swagger-ui-wrap .model-signature .propOptKey { - font-style: italic; -} -.swagger-section .swagger-ui-wrap .model-signature .description .strong { - font-weight: bold; - color: #000; - font-size: .9em; -} -.swagger-section .swagger-ui-wrap .model-signature .description div { - font-size: 0.9em; - line-height: 1.5em; - margin-left: 1em; -} -.swagger-section .swagger-ui-wrap .model-signature .description .stronger { - font-weight: bold; - color: #000; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper { - border-spacing: 0; - position: absolute; - background-color: #ffffff; - border: 1px solid #bbbbbb; - display: none; - font-size: 11px; - max-width: 400px; - line-height: 30px; - color: black; - padding: 5px; - margin-left: 10px; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper th { - text-align: center; - background-color: #eeeeee; - border: 1px solid #bbbbbb; - font-size: 11px; - color: #666666; - font-weight: bold; - padding: 5px; - line-height: 15px; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper .optionName { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:first-child, -.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:last-child { - display: inline; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:not(:first-child):before { - display: block; - content: ''; -} -.swagger-section .swagger-ui-wrap .model-signature .description span:last-of-type.propDesc.markdown > p:only-child { - margin-right: -3px; -} -.swagger-section .swagger-ui-wrap .model-signature .propName { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-container { - clear: both; -} -.swagger-section .swagger-ui-wrap .body-textarea { - width: 300px; - height: 100px; - border: 1px solid #aaa; -} -.swagger-section .swagger-ui-wrap .markdown p code, -.swagger-section .swagger-ui-wrap .markdown li code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #f0f0f0; - color: black; - padding: 1px 3px; -} -.swagger-section .swagger-ui-wrap .required { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap input.parameter { - width: 300px; - border: 1px solid #aaa; -} -.swagger-section .swagger-ui-wrap h1 { - color: black; - font-size: 1.5em; - line-height: 1.3em; - padding: 10px 0 10px 0; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .heading_with_menu { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap .heading_with_menu ul { - display: block; - clear: none; - float: right; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - margin-top: 10px; -} -.swagger-section .swagger-ui-wrap h2 { - color: black; - font-size: 1.3em; - padding: 10px 0 10px 0; -} -.swagger-section .swagger-ui-wrap h2 a { - color: black; -} -.swagger-section .swagger-ui-wrap h2 span.sub { - font-size: 0.7em; - color: #999999; - font-style: italic; -} -.swagger-section .swagger-ui-wrap h2 span.sub a { - color: #777777; -} -.swagger-section .swagger-ui-wrap span.weak { - color: #666666; -} -.swagger-section .swagger-ui-wrap .message-success { - color: #89BF04; -} -.swagger-section .swagger-ui-wrap caption, -.swagger-section .swagger-ui-wrap th, -.swagger-section .swagger-ui-wrap td { - text-align: left; - font-weight: normal; - vertical-align: middle; -} -.swagger-section .swagger-ui-wrap .code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea { - font-family: "Droid Sans", sans-serif; - height: 250px; - padding: 4px; - display: block; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select { - display: block; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label { - display: block; - float: left; - clear: none; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input { - display: block; - float: left; - clear: none; - margin: 0 5px 0 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label { - color: black; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label { - display: block; - clear: both; - width: auto; - padding: 0 0 3px; - color: #666666; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr { - padding-left: 3px; - color: #888888; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints { - margin-left: 0; - font-style: italic; - font-size: 0.9em; - margin: 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.buttons { - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap span.blank, -.swagger-section .swagger-ui-wrap span.empty { - color: #888888; - font-style: italic; -} -.swagger-section .swagger-ui-wrap .markdown h3 { - color: #547f00; -} -.swagger-section .swagger-ui-wrap .markdown h4 { - color: #666666; -} -.swagger-section .swagger-ui-wrap .markdown pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; - margin: 0 0 10px 0; -} -.swagger-section .swagger-ui-wrap .markdown pre code { - line-height: 1.6em; -} -.swagger-section .swagger-ui-wrap div.gist { - margin: 20px 0 25px 0 !important; -} -.swagger-section .swagger-ui-wrap ul#resources { - font-family: "Droid Sans", sans-serif; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource { - border-bottom: 1px solid #dddddd; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a, -.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading h2 a { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a, -.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a { - color: #555555; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:last-child { - border-bottom: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading { - border: 1px solid transparent; - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 14px 10px 0 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - border-right: 1px solid #dddddd; - color: #666666; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a { - color: #aaaaaa; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover { - text-decoration: underline; - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 { - color: #999999; - padding-left: 0; - display: block; - clear: none; - float: left; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a { - color: #999999; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0 0 10px; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 { - display: block; - clear: none; - float: left; - width: auto; - margin: 0; - padding: 0; - line-height: 1.1em; - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path { - padding-left: 10px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a { - color: black; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a { - text-transform: uppercase; - text-decoration: none; - color: white; - display: inline-block; - width: 50px; - font-size: 0.7em; - text-align: center; - padding: 7px 0 4px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - -o-border-radius: 2px; - -ms-border-radius: 2px; - -khtml-border-radius: 2px; - border-radius: 2px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span { - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 6px 10px 0 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a { - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li.access { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content { - border-top: none; - padding: 10px; - -moz-border-radius-bottomleft: 6px; - -webkit-border-bottom-left-radius: 6px; - -o-border-bottom-left-radius: 6px; - -ms-border-bottom-left-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -moz-border-radius-bottomright: 6px; - -webkit-border-bottom-right-radius: 6px; - -o-border-bottom-right-radius: 6px; - -ms-border-bottom-right-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; - margin: 0 0 20px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 { - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a { - padding: 4px 0 0 10px; - display: inline-block; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit { - display: block; - clear: none; - float: left; - padding: 6px 8px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header span.response_throbber { - background-image: url('../images/throbber.gif'); - width: 128px; - height: 16px; - display: block; - clear: none; - float: right; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error { - outline: 2px solid black; - outline-color: #cc0000; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - padding: 10px; - font-size: 0.9em; - max-height: 400px; - overflow-y: auto; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading { - background-color: #f9f2e9; - border: 1px solid #f0e0ca; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a { - background-color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0e0ca; - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a { - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content { - background-color: #faf5ee; - border: 1px solid #f0e0ca; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 { - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #ffd20f; - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a { - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 { - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading { - background-color: #f5e8e8; - border: 1px solid #e8c6c7; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #e8c6c7; - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a { - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - background-color: #f7eded; - border: 1px solid #e8c6c7; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 { - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a { - color: #c8787a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading { - background-color: #e7f6ec; - border: 1px solid #c3e8d1; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a { - background-color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3e8d1; - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a { - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content { - background-color: #ebf7f0; - border: 1px solid #c3e8d1; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 { - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading { - background-color: #FCE9E3; - border: 1px solid #F5D5C3; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a { - background-color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0cecb; - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a { - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content { - background-color: #faf0ef; - border: 1px solid #f0cecb; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 { - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content h4 { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - border-top: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap p#colophon { - margin: 0 15px 40px 15px; - padding: 10px 0; - font-size: 0.8em; - border-top: 1px solid #dddddd; - font-family: "Droid Sans", sans-serif; - color: #999999; - font-style: italic; -} -.swagger-section .swagger-ui-wrap p#colophon a { - text-decoration: none; - color: #547f00; -} -.swagger-section .swagger-ui-wrap h3 { - color: black; - font-size: 1.1em; - padding: 10px 0 10px 0; -} -.swagger-section .swagger-ui-wrap .markdown ol, -.swagger-section .swagger-ui-wrap .markdown ul { - font-family: "Droid Sans", sans-serif; - margin: 5px 0 10px; - padding: 0 0 0 18px; - list-style-type: disc; -} -.swagger-section .swagger-ui-wrap form.form_box { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; - padding: 10px; -} -.swagger-section .swagger-ui-wrap form.form_box label { - color: #0f6ab4 !important; -} -.swagger-section .swagger-ui-wrap form.form_box input[type=submit] { - display: block; - padding: 10px; -} -.swagger-section .swagger-ui-wrap form.form_box p.weak { - font-size: 0.8em; -} -.swagger-section .swagger-ui-wrap form.form_box p { - font-size: 0.9em; - padding: 0 0 15px; - color: #7e7b6d; -} -.swagger-section .swagger-ui-wrap form.form_box p a { - color: #646257; -} -.swagger-section .swagger-ui-wrap form.form_box p strong { - color: black; -} -.swagger-section .swagger-ui-wrap .operation-status td.markdown > p:last-child { - padding-bottom: 0; -} -.swagger-section .title { - font-style: bold; -} -.swagger-section .secondary_form { - display: none; -} -.swagger-section .main_image { - display: block; - margin-left: auto; - margin-right: auto; -} -.swagger-section .oauth_body { - margin-left: 100px; - margin-right: 100px; -} -.swagger-section .oauth_submit { - text-align: center; -} -.swagger-section .api-popup-dialog { - z-index: 10000; - position: absolute; - width: 500px; - background: #FFF; - padding: 20px; - border: 1px solid #ccc; - border-radius: 5px; - display: none; - font-size: 13px; - color: #777; -} -.swagger-section .api-popup-dialog .api-popup-title { - font-size: 24px; - padding: 10px 0; -} -.swagger-section .api-popup-dialog .api-popup-title { - font-size: 24px; - padding: 10px 0; -} -.swagger-section .api-popup-dialog p.error-msg { - padding-left: 5px; - padding-bottom: 5px; -} -.swagger-section .api-popup-dialog button.api-popup-authbtn { - height: 30px; -} -.swagger-section .api-popup-dialog button.api-popup-cancel { - height: 30px; -} -.swagger-section .api-popup-scopes { - padding: 10px 20px; -} -.swagger-section .api-popup-scopes li { - padding: 5px 0; - line-height: 20px; -} -.swagger-section .api-popup-scopes .api-scope-desc { - padding-left: 20px; - font-style: italic; -} -.swagger-section .api-popup-scopes li input { - position: relative; - top: 2px; -} -.swagger-section .api-popup-actions { - padding-top: 10px; -} -#header { - display: none; -} -.swagger-section .swagger-ui-wrap .model-signature pre { - max-height: none; -} -.swagger-section .swagger-ui-wrap .body-textarea { - width: 100px; -} -.swagger-section .swagger-ui-wrap input.parameter { - width: 100px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options { - display: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints { - display: block !important; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content { - display: block !important; -} diff --git a/apidocs/v1.3.3/css/reset.css b/apidocs/v1.3.3/css/reset.css deleted file mode 100644 index 456215a8d248..000000000000 --- a/apidocs/v1.3.3/css/reset.css +++ /dev/null @@ -1,127 +0,0 @@ - - -/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */ -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td, -article, -aside, -canvas, -details, -embed, -figure, -figcaption, -footer, -header, -hgroup, -menu, -nav, -output, -ruby, -section, -summary, -time, -mark, -audio, -video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - display: block; -} -body { - line-height: 1; -} -ol, -ul { - list-style: none; -} -blockquote, -q { - quotes: none; -} -blockquote:before, -blockquote:after, -q:before, -q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/apidocs/v1.3.3/css/screen.css b/apidocs/v1.3.3/css/screen.css deleted file mode 100644 index 05bc2cb87654..000000000000 --- a/apidocs/v1.3.3/css/screen.css +++ /dev/null @@ -1,1281 +0,0 @@ - - -/* Original style from softwaremaniacs.org (c) Ivan Sagalaev */ -.swagger-section pre code { - display: block; - padding: 0.5em; - background: #F0F0F0; -} -.swagger-section pre code, -.swagger-section pre .subst, -.swagger-section pre .tag .title, -.swagger-section pre .lisp .title, -.swagger-section pre .clojure .built_in, -.swagger-section pre .nginx .title { - color: black; -} -.swagger-section pre .string, -.swagger-section pre .title, -.swagger-section pre .constant, -.swagger-section pre .parent, -.swagger-section pre .tag .value, -.swagger-section pre .rules .value, -.swagger-section pre .rules .value .number, -.swagger-section pre .preprocessor, -.swagger-section pre .ruby .symbol, -.swagger-section pre .ruby .symbol .string, -.swagger-section pre .aggregate, -.swagger-section pre .template_tag, -.swagger-section pre .django .variable, -.swagger-section pre .smalltalk .class, -.swagger-section pre .addition, -.swagger-section pre .flow, -.swagger-section pre .stream, -.swagger-section pre .bash .variable, -.swagger-section pre .apache .tag, -.swagger-section pre .apache .cbracket, -.swagger-section pre .tex .command, -.swagger-section pre .tex .special, -.swagger-section pre .erlang_repl .function_or_atom, -.swagger-section pre .markdown .header { - color: #800; -} -.swagger-section pre .comment, -.swagger-section pre .annotation, -.swagger-section pre .template_comment, -.swagger-section pre .diff .header, -.swagger-section pre .chunk, -.swagger-section pre .markdown .blockquote { - color: #888; -} -.swagger-section pre .number, -.swagger-section pre .date, -.swagger-section pre .regexp, -.swagger-section pre .literal, -.swagger-section pre .smalltalk .symbol, -.swagger-section pre .smalltalk .char, -.swagger-section pre .go .constant, -.swagger-section pre .change, -.swagger-section pre .markdown .bullet, -.swagger-section pre .markdown .link_url { - color: #080; -} -.swagger-section pre .label, -.swagger-section pre .javadoc, -.swagger-section pre .ruby .string, -.swagger-section pre .decorator, -.swagger-section pre .filter .argument, -.swagger-section pre .localvars, -.swagger-section pre .array, -.swagger-section pre .attr_selector, -.swagger-section pre .important, -.swagger-section pre .pseudo, -.swagger-section pre .pi, -.swagger-section pre .doctype, -.swagger-section pre .deletion, -.swagger-section pre .envvar, -.swagger-section pre .shebang, -.swagger-section pre .apache .sqbracket, -.swagger-section pre .nginx .built_in, -.swagger-section pre .tex .formula, -.swagger-section pre .erlang_repl .reserved, -.swagger-section pre .prompt, -.swagger-section pre .markdown .link_label, -.swagger-section pre .vhdl .attribute, -.swagger-section pre .clojure .attribute, -.swagger-section pre .coffeescript .property { - color: #8888ff; -} -.swagger-section pre .keyword, -.swagger-section pre .id, -.swagger-section pre .phpdoc, -.swagger-section pre .title, -.swagger-section pre .built_in, -.swagger-section pre .aggregate, -.swagger-section pre .css .tag, -.swagger-section pre .javadoctag, -.swagger-section pre .phpdoc, -.swagger-section pre .yardoctag, -.swagger-section pre .smalltalk .class, -.swagger-section pre .winutils, -.swagger-section pre .bash .variable, -.swagger-section pre .apache .tag, -.swagger-section pre .go .typename, -.swagger-section pre .tex .command, -.swagger-section pre .markdown .strong, -.swagger-section pre .request, -.swagger-section pre .status { - font-weight: bold; -} -.swagger-section pre .markdown .emphasis { - font-style: italic; -} -.swagger-section pre .nginx .built_in { - font-weight: normal; -} -.swagger-section pre .coffeescript .javascript, -.swagger-section pre .javascript .xml, -.swagger-section pre .tex .formula, -.swagger-section pre .xml .javascript, -.swagger-section pre .xml .vbscript, -.swagger-section pre .xml .css, -.swagger-section pre .xml .cdata { - opacity: 0.5; -} -.swagger-section .swagger-ui-wrap { - line-height: 1; - font-family: "Droid Sans", sans-serif; - max-width: 960px; - margin-left: auto; - margin-right: auto; -} -.swagger-section .swagger-ui-wrap b, -.swagger-section .swagger-ui-wrap strong { - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap q, -.swagger-section .swagger-ui-wrap blockquote { - quotes: none; -} -.swagger-section .swagger-ui-wrap p { - line-height: 1.4em; - padding: 0 0 10px; - color: #333333; -} -.swagger-section .swagger-ui-wrap q:before, -.swagger-section .swagger-ui-wrap q:after, -.swagger-section .swagger-ui-wrap blockquote:before, -.swagger-section .swagger-ui-wrap blockquote:after { - content: none; -} -.swagger-section .swagger-ui-wrap .heading_with_menu h1, -.swagger-section .swagger-ui-wrap .heading_with_menu h2, -.swagger-section .swagger-ui-wrap .heading_with_menu h3, -.swagger-section .swagger-ui-wrap .heading_with_menu h4, -.swagger-section .swagger-ui-wrap .heading_with_menu h5, -.swagger-section .swagger-ui-wrap .heading_with_menu h6 { - display: block; - clear: none; - float: left; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - width: 60%; -} -.swagger-section .swagger-ui-wrap table { - border-collapse: collapse; - border-spacing: 0; -} -.swagger-section .swagger-ui-wrap table thead tr th { - padding: 5px; - font-size: 0.9em; - color: #666666; - border-bottom: 1px solid #999999; -} -.swagger-section .swagger-ui-wrap table tbody tr:last-child td { - border-bottom: none; -} -.swagger-section .swagger-ui-wrap table tbody tr.offset { - background-color: #f0f0f0; -} -.swagger-section .swagger-ui-wrap table tbody tr td { - padding: 6px; - font-size: 0.9em; - border-bottom: 1px solid #cccccc; - vertical-align: top; - line-height: 1.3em; -} -.swagger-section .swagger-ui-wrap ol { - margin: 0px 0 10px; - padding: 0 0 0 18px; - list-style-type: decimal; -} -.swagger-section .swagger-ui-wrap ol li { - padding: 5px 0px; - font-size: 0.9em; - color: #333333; -} -.swagger-section .swagger-ui-wrap ol, -.swagger-section .swagger-ui-wrap ul { - list-style: none; -} -.swagger-section .swagger-ui-wrap h1 a, -.swagger-section .swagger-ui-wrap h2 a, -.swagger-section .swagger-ui-wrap h3 a, -.swagger-section .swagger-ui-wrap h4 a, -.swagger-section .swagger-ui-wrap h5 a, -.swagger-section .swagger-ui-wrap h6 a { - text-decoration: none; -} -.swagger-section .swagger-ui-wrap h1 a:hover, -.swagger-section .swagger-ui-wrap h2 a:hover, -.swagger-section .swagger-ui-wrap h3 a:hover, -.swagger-section .swagger-ui-wrap h4 a:hover, -.swagger-section .swagger-ui-wrap h5 a:hover, -.swagger-section .swagger-ui-wrap h6 a:hover { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap h1 span.divider, -.swagger-section .swagger-ui-wrap h2 span.divider, -.swagger-section .swagger-ui-wrap h3 span.divider, -.swagger-section .swagger-ui-wrap h4 span.divider, -.swagger-section .swagger-ui-wrap h5 span.divider, -.swagger-section .swagger-ui-wrap h6 span.divider { - color: #aaaaaa; -} -.swagger-section .swagger-ui-wrap a { - color: #547f00; -} -.swagger-section .swagger-ui-wrap a img { - border: none; -} -.swagger-section .swagger-ui-wrap article, -.swagger-section .swagger-ui-wrap aside, -.swagger-section .swagger-ui-wrap details, -.swagger-section .swagger-ui-wrap figcaption, -.swagger-section .swagger-ui-wrap figure, -.swagger-section .swagger-ui-wrap footer, -.swagger-section .swagger-ui-wrap header, -.swagger-section .swagger-ui-wrap hgroup, -.swagger-section .swagger-ui-wrap menu, -.swagger-section .swagger-ui-wrap nav, -.swagger-section .swagger-ui-wrap section, -.swagger-section .swagger-ui-wrap summary { - display: block; -} -.swagger-section .swagger-ui-wrap pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; -} -.swagger-section .swagger-ui-wrap pre code { - line-height: 1.6em; - background: none; -} -.swagger-section .swagger-ui-wrap .content > .content-type > div > label { - clear: both; - display: block; - color: #0F6AB4; - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-section .swagger-ui-wrap .content pre { - font-size: 12px; - margin-top: 5px; - padding: 5px; -} -.swagger-section .swagger-ui-wrap .icon-btn { - cursor: pointer; -} -.swagger-section .swagger-ui-wrap .info_title { - padding-bottom: 10px; - font-weight: bold; - font-size: 25px; -} -.swagger-section .swagger-ui-wrap .footer { - margin-top: 20px; -} -.swagger-section .swagger-ui-wrap p.big, -.swagger-section .swagger-ui-wrap div.big p { - font-size: 1em; - margin-bottom: 10px; -} -.swagger-section .swagger-ui-wrap form.fullwidth ol li.string input, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.url input, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.text textarea, -.swagger-section .swagger-ui-wrap form.fullwidth ol li.numeric input { - width: 500px !important; -} -.swagger-section .swagger-ui-wrap .info_license { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_tos { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .message-fail { - color: #cc0000; -} -.swagger-section .swagger-ui-wrap .info_url { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_email { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_name { - padding-bottom: 5px; -} -.swagger-section .swagger-ui-wrap .info_description { - padding-bottom: 10px; - font-size: 15px; -} -.swagger-section .swagger-ui-wrap .markdown ol li, -.swagger-section .swagger-ui-wrap .markdown ul li { - padding: 3px 0px; - line-height: 1.4em; - color: #333333; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input { - display: block; - padding: 4px; - width: auto; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title, -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title { - font-size: 1.3em; -} -.swagger-section .swagger-ui-wrap table.fullwidth { - width: 100%; -} -.swagger-section .swagger-ui-wrap .model-signature { - font-family: "Droid Sans", sans-serif; - font-size: 1em; - line-height: 1.5em; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav a { - text-decoration: none; - color: #AAA; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav a:hover { - text-decoration: underline; - color: black; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-nav .selected { - color: black; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap .model-signature .propType { - color: #5555aa; -} -.swagger-section .swagger-ui-wrap .model-signature pre:hover { - background-color: #ffffdd; -} -.swagger-section .swagger-ui-wrap .model-signature pre { - font-size: .85em; - line-height: 1.2em; - overflow: auto; - max-height: 200px; - cursor: pointer; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav { - display: block; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li:last-child { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li { - float: left; - margin: 0 5px 5px 0; - padding: 2px 5px 2px 0; - border-right: 1px solid #ddd; -} -.swagger-section .swagger-ui-wrap .model-signature .propOpt { - color: #555; -} -.swagger-section .swagger-ui-wrap .model-signature .snippet small { - font-size: 0.75em; -} -.swagger-section .swagger-ui-wrap .model-signature .propOptKey { - font-style: italic; -} -.swagger-section .swagger-ui-wrap .model-signature .description .strong { - font-weight: bold; - color: #000; - font-size: .9em; -} -.swagger-section .swagger-ui-wrap .model-signature .description div { - font-size: 0.9em; - line-height: 1.5em; - margin-left: 1em; -} -.swagger-section .swagger-ui-wrap .model-signature .description .stronger { - font-weight: bold; - color: #000; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper { - border-spacing: 0; - position: absolute; - background-color: #ffffff; - border: 1px solid #bbbbbb; - display: none; - font-size: 11px; - max-width: 400px; - line-height: 30px; - color: black; - padding: 5px; - margin-left: 10px; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper th { - text-align: center; - background-color: #eeeeee; - border: 1px solid #bbbbbb; - font-size: 11px; - color: #666666; - font-weight: bold; - padding: 5px; - line-height: 15px; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper .optionName { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:first-child, -.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:last-child { - display: inline; -} -.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:not(:first-child):before { - display: block; - content: ''; -} -.swagger-section .swagger-ui-wrap .model-signature .description span:last-of-type.propDesc.markdown > p:only-child { - margin-right: -3px; -} -.swagger-section .swagger-ui-wrap .model-signature .propName { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .model-signature .signature-container { - clear: both; -} -.swagger-section .swagger-ui-wrap .body-textarea { - width: 300px; - height: 100px; - border: 1px solid #aaa; -} -.swagger-section .swagger-ui-wrap .markdown p code, -.swagger-section .swagger-ui-wrap .markdown li code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #f0f0f0; - color: black; - padding: 1px 3px; -} -.swagger-section .swagger-ui-wrap .required { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap input.parameter { - width: 300px; - border: 1px solid #aaa; -} -.swagger-section .swagger-ui-wrap h1 { - color: black; - font-size: 1.5em; - line-height: 1.3em; - padding: 10px 0 10px 0; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap .heading_with_menu { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap .heading_with_menu ul { - display: block; - clear: none; - float: right; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - -ms-box-sizing: border-box; - box-sizing: border-box; - margin-top: 10px; -} -.swagger-section .swagger-ui-wrap h2 { - color: black; - font-size: 1.3em; - padding: 10px 0 10px 0; -} -.swagger-section .swagger-ui-wrap h2 a { - color: black; -} -.swagger-section .swagger-ui-wrap h2 span.sub { - font-size: 0.7em; - color: #999999; - font-style: italic; -} -.swagger-section .swagger-ui-wrap h2 span.sub a { - color: #777777; -} -.swagger-section .swagger-ui-wrap span.weak { - color: #666666; -} -.swagger-section .swagger-ui-wrap .message-success { - color: #89BF04; -} -.swagger-section .swagger-ui-wrap caption, -.swagger-section .swagger-ui-wrap th, -.swagger-section .swagger-ui-wrap td { - text-align: left; - font-weight: normal; - vertical-align: middle; -} -.swagger-section .swagger-ui-wrap .code { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea { - font-family: "Droid Sans", sans-serif; - height: 250px; - padding: 4px; - display: block; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select { - display: block; - clear: both; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label { - display: block; - float: left; - clear: none; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input { - display: block; - float: left; - clear: none; - margin: 0 5px 0 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label { - color: black; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label { - display: block; - clear: both; - width: auto; - padding: 0 0 3px; - color: #666666; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr { - padding-left: 3px; - color: #888888; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints { - margin-left: 0; - font-style: italic; - font-size: 0.9em; - margin: 0; -} -.swagger-section .swagger-ui-wrap form.formtastic fieldset.buttons { - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap span.blank, -.swagger-section .swagger-ui-wrap span.empty { - color: #888888; - font-style: italic; -} -.swagger-section .swagger-ui-wrap .markdown h3 { - color: #547f00; -} -.swagger-section .swagger-ui-wrap .markdown h4 { - color: #666666; -} -.swagger-section .swagger-ui-wrap .markdown pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - padding: 10px; - margin: 0 0 10px 0; -} -.swagger-section .swagger-ui-wrap .markdown pre code { - line-height: 1.6em; -} -.swagger-section .swagger-ui-wrap div.gist { - margin: 20px 0 25px 0 !important; -} -.swagger-section .swagger-ui-wrap ul#resources { - font-family: "Droid Sans", sans-serif; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource { - border-bottom: 1px solid #dddddd; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a, -.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading h2 a { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a, -.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a { - color: #555555; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource:last-child { - border-bottom: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading { - border: 1px solid transparent; - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 14px 10px 0 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - border-right: 1px solid #dddddd; - color: #666666; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a { - color: #aaaaaa; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover { - text-decoration: underline; - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 { - color: #999999; - padding-left: 0; - display: block; - clear: none; - float: left; - font-family: "Droid Sans", sans-serif; - font-weight: bold; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a { - color: #999999; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0 0 10px; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading { - float: none; - clear: both; - overflow: hidden; - display: block; - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 { - display: block; - clear: none; - float: left; - width: auto; - margin: 0; - padding: 0; - line-height: 1.1em; - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path { - padding-left: 10px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a { - color: black; - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a { - text-transform: uppercase; - text-decoration: none; - color: white; - display: inline-block; - width: 50px; - font-size: 0.7em; - text-align: center; - padding: 7px 0 4px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - -o-border-radius: 2px; - -ms-border-radius: 2px; - -khtml-border-radius: 2px; - border-radius: 2px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span { - margin: 0; - padding: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options { - overflow: hidden; - padding: 0; - display: block; - clear: none; - float: right; - margin: 6px 10px 0 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li { - float: left; - clear: none; - margin: 0; - padding: 2px 10px; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a { - text-decoration: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li.access { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content { - border-top: none; - padding: 10px; - -moz-border-radius-bottomleft: 6px; - -webkit-border-bottom-left-radius: 6px; - -o-border-bottom-left-radius: 6px; - -ms-border-bottom-left-radius: 6px; - -khtml-border-bottom-left-radius: 6px; - border-bottom-left-radius: 6px; - -moz-border-radius-bottomright: 6px; - -webkit-border-bottom-right-radius: 6px; - -o-border-bottom-right-radius: 6px; - -ms-border-bottom-right-radius: 6px; - -khtml-border-bottom-right-radius: 6px; - border-bottom-right-radius: 6px; - margin: 0 0 20px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 { - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header { - float: none; - clear: both; - overflow: hidden; - display: block; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a { - padding: 4px 0 0 10px; - display: inline-block; - font-size: 0.9em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit { - display: block; - clear: none; - float: left; - padding: 6px 8px; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header span.response_throbber { - background-image: url('../images/throbber.gif'); - width: 128px; - height: 16px; - display: block; - clear: none; - float: right; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error { - outline: 2px solid black; - outline-color: #cc0000; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre { - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - padding: 10px; - font-size: 0.9em; - max-height: 400px; - overflow-y: auto; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading { - background-color: #f9f2e9; - border: 1px solid #f0e0ca; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a { - background-color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0e0ca; - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a { - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content { - background-color: #faf5ee; - border: 1px solid #f0e0ca; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 { - color: #c5862b; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #ffd20f; - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a { - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content { - background-color: #fcffcd; - border: 1px solid black; - border-color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 { - color: #ffd20f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading { - background-color: #f5e8e8; - border: 1px solid #e8c6c7; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a { - text-transform: uppercase; - background-color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #e8c6c7; - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a { - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - background-color: #f7eded; - border: 1px solid #e8c6c7; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 { - color: #a41e22; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a { - color: #c8787a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading { - background-color: #e7f6ec; - border: 1px solid #c3e8d1; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a { - background-color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3e8d1; - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a { - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content { - background-color: #ebf7f0; - border: 1px solid #c3e8d1; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 { - color: #10a54a; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a { - color: #6fc992; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading { - background-color: #FCE9E3; - border: 1px solid #F5D5C3; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a { - background-color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #f0cecb; - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a { - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content { - background-color: #faf0ef; - border: 1px solid #f0cecb; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 { - color: #D38042; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a { - color: #dcb67f; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading { - background-color: #e7f0f7; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading h3 span.http_method a { - background-color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li { - border-right: 1px solid #dddddd; - border-right-color: #c3d9ec; - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li a { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content h4 { - color: #0f6ab4; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content div.sandbox_header a { - color: #6fa5d2; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content { - border-top: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last { - padding-right: 0; - border-right: none; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active { - text-decoration: underline; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child, -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first { - padding-left: 0; -} -.swagger-section .swagger-ui-wrap p#colophon { - margin: 0 15px 40px 15px; - padding: 10px 0; - font-size: 0.8em; - border-top: 1px solid #dddddd; - font-family: "Droid Sans", sans-serif; - color: #999999; - font-style: italic; -} -.swagger-section .swagger-ui-wrap p#colophon a { - text-decoration: none; - color: #547f00; -} -.swagger-section .swagger-ui-wrap h3 { - color: black; - font-size: 1.1em; - padding: 10px 0 10px 0; -} -.swagger-section .swagger-ui-wrap .markdown ol, -.swagger-section .swagger-ui-wrap .markdown ul { - font-family: "Droid Sans", sans-serif; - margin: 5px 0 10px; - padding: 0 0 0 18px; - list-style-type: disc; -} -.swagger-section .swagger-ui-wrap form.form_box { - background-color: #ebf3f9; - border: 1px solid #c3d9ec; - padding: 10px; -} -.swagger-section .swagger-ui-wrap form.form_box label { - color: #0f6ab4 !important; -} -.swagger-section .swagger-ui-wrap form.form_box input[type=submit] { - display: block; - padding: 10px; -} -.swagger-section .swagger-ui-wrap form.form_box p.weak { - font-size: 0.8em; -} -.swagger-section .swagger-ui-wrap form.form_box p { - font-size: 0.9em; - padding: 0 0 15px; - color: #7e7b6d; -} -.swagger-section .swagger-ui-wrap form.form_box p a { - color: #646257; -} -.swagger-section .swagger-ui-wrap form.form_box p strong { - color: black; -} -.swagger-section .swagger-ui-wrap .operation-status td.markdown > p:last-child { - padding-bottom: 0; -} -.swagger-section .title { - font-style: bold; -} -.swagger-section .secondary_form { - display: none; -} -.swagger-section .main_image { - display: block; - margin-left: auto; - margin-right: auto; -} -.swagger-section .oauth_body { - margin-left: 100px; - margin-right: 100px; -} -.swagger-section .oauth_submit { - text-align: center; -} -.swagger-section .api-popup-dialog { - z-index: 10000; - position: absolute; - width: 500px; - background: #FFF; - padding: 20px; - border: 1px solid #ccc; - border-radius: 5px; - display: none; - font-size: 13px; - color: #777; -} -.swagger-section .api-popup-dialog .api-popup-title { - font-size: 24px; - padding: 10px 0; -} -.swagger-section .api-popup-dialog .api-popup-title { - font-size: 24px; - padding: 10px 0; -} -.swagger-section .api-popup-dialog p.error-msg { - padding-left: 5px; - padding-bottom: 5px; -} -.swagger-section .api-popup-dialog button.api-popup-authbtn { - height: 30px; -} -.swagger-section .api-popup-dialog button.api-popup-cancel { - height: 30px; -} -.swagger-section .api-popup-scopes { - padding: 10px 20px; -} -.swagger-section .api-popup-scopes li { - padding: 5px 0; - line-height: 20px; -} -.swagger-section .api-popup-scopes .api-scope-desc { - padding-left: 20px; - font-style: italic; -} -.swagger-section .api-popup-scopes li input { - position: relative; - top: 2px; -} -.swagger-section .api-popup-actions { - padding-top: 10px; -} -.swagger-section .access { - float: right; -} -.swagger-section .auth { - float: right; -} -.swagger-section .api-ic { - height: 18px; - vertical-align: middle; - display: inline-block; - background: url(../images/explorer_icons.png) no-repeat; -} -.swagger-section .api-ic .api_information_panel { - position: relative; - margin-top: 20px; - margin-left: -5px; - background: #FFF; - border: 1px solid #ccc; - border-radius: 5px; - display: none; - font-size: 13px; - max-width: 300px; - line-height: 30px; - color: black; - padding: 5px; -} -.swagger-section .api-ic .api_information_panel p .api-msg-enabled { - color: green; -} -.swagger-section .api-ic .api_information_panel p .api-msg-disabled { - color: red; -} -.swagger-section .api-ic:hover .api_information_panel { - position: absolute; - display: block; -} -.swagger-section .ic-info { - background-position: 0 0; - width: 18px; - margin-top: -6px; - margin-left: 4px; -} -.swagger-section .ic-warning { - background-position: -60px 0; - width: 18px; - margin-top: -6px; - margin-left: 4px; -} -.swagger-section .ic-error { - background-position: -30px 0; - width: 18px; - margin-top: -6px; - margin-left: 4px; -} -.swagger-section .ic-off { - background-position: -90px 0; - width: 58px; - margin-top: -4px; - cursor: pointer; -} -.swagger-section .ic-on { - background-position: -160px 0; - width: 58px; - margin-top: -4px; - cursor: pointer; -} -.swagger-section #header { - background-color: #89bf04; - padding: 14px; -} -.swagger-section #header a#logo { - font-size: 1.5em; - font-weight: bold; - text-decoration: none; - background: transparent url(../images/logo_small.png) no-repeat left center; - padding: 20px 0 20px 40px; - color: white; -} -.swagger-section #header form#api_selector { - display: block; - clear: none; - float: right; -} -.swagger-section #header form#api_selector .input { - display: block; - clear: none; - float: left; - margin: 0 10px 0 0; -} -.swagger-section #header form#api_selector .input input#input_apiKey { - width: 200px; -} -.swagger-section #header form#api_selector .input input#input_baseUrl { - width: 400px; -} -.swagger-section #header form#api_selector .input a#explore { - display: block; - text-decoration: none; - font-weight: bold; - padding: 6px 8px; - font-size: 0.9em; - color: white; - background-color: #547f00; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - -o-border-radius: 4px; - -ms-border-radius: 4px; - -khtml-border-radius: 4px; - border-radius: 4px; -} -.swagger-section #header form#api_selector .input a#explore:hover { - background-color: #547f00; -} -.swagger-section #header form#api_selector .input input { - font-size: 0.9em; - padding: 3px; - margin: 0; -} -.swagger-section #content_message { - margin: 10px 15px; - font-style: italic; - color: #999999; -} -.swagger-section #message-bar { - min-height: 30px; - text-align: center; - padding-top: 10px; -} diff --git a/apidocs/v1.3.3/css/style.css b/apidocs/v1.3.3/css/style.css deleted file mode 100644 index 166ff408eb05..000000000000 --- a/apidocs/v1.3.3/css/style.css +++ /dev/null @@ -1,252 +0,0 @@ - - -.swagger-section #header a#logo { - font-size: 1.5em; - font-weight: bold; - text-decoration: none; - background: transparent url(../images/logo.png) no-repeat left center; - padding: 20px 0 20px 40px; -} -#text-head { - font-size: 80px; - font-family: 'Roboto', sans-serif; - color: #ffffff; - float: right; - margin-right: 20%; -} -.navbar-fixed-top .navbar-nav { - height: auto; -} -.navbar-fixed-top .navbar-brand { - height: auto; -} -.navbar-header { - height: auto; -} -.navbar-inverse { - background-color: #000; - border-color: #000; -} -#navbar-brand { - margin-left: 20%; -} -.navtext { - font-size: 10px; -} -.h1, -h1 { - font-size: 60px; -} -.navbar-default .navbar-header .navbar-brand { - color: #a2dfee; -} -/* tag titles */ -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a { - color: #393939; - font-family: 'Arvo', serif; - font-size: 1.5em; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover { - color: black; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 { - color: #525252; - padding-left: 0px; - display: block; - clear: none; - float: left; - font-family: 'Arvo', serif; - font-weight: bold; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #0A0A0A; -} -.container1 { - width: 1500px; - margin: auto; - margin-top: 0; - background-image: url('../images/shield.png'); - background-repeat: no-repeat; - background-position: -40px -20px; - margin-bottom: 210px; -} -.container-inner { - width: 1200px; - margin: auto; - background-color: rgba(223, 227, 228, 0.75); - padding-bottom: 40px; - padding-top: 40px; - border-radius: 15px; -} -.header-content { - padding: 0; - width: 1000px; -} -.title1 { - font-size: 80px; - font-family: 'Vollkorn', serif; - color: #404040; - text-align: center; - padding-top: 40px; - padding-bottom: 100px; -} -#icon { - margin-top: -18px; -} -.subtext { - font-size: 25px; - font-style: italic; - color: #08b; - text-align: right; - padding-right: 250px; -} -.bg-primary { - background-color: #00468b; -} -.navbar-default .nav > li > a, -.navbar-default .nav > li > a:focus { - color: #08b; -} -.navbar-default .nav > li > a, -.navbar-default .nav > li > a:hover { - color: #08b; -} -.navbar-default .nav > li > a, -.navbar-default .nav > li > a:focus:hover { - color: #08b; -} -.text-faded { - font-size: 25px; - font-family: 'Vollkorn', serif; -} -.section-heading { - font-family: 'Vollkorn', serif; - font-size: 45px; - padding-bottom: 10px; -} -hr { - border-color: #00468b; - padding-bottom: 10px; -} -.description { - margin-top: 20px; - padding-bottom: 200px; -} -.description li { - font-family: 'Vollkorn', serif; - font-size: 25px; - color: #525252; - margin-left: 28%; - padding-top: 5px; -} -.gap { - margin-top: 200px; -} -.troubleshootingtext { - color: rgba(255, 255, 255, 0.7); - padding-left: 30%; -} -.troubleshootingtext li { - list-style-type: circle; - font-size: 25px; - padding-bottom: 5px; -} -.overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1000; -} -.block.response_body.json:hover { - cursor: pointer; -} -.backdrop { - color: blue; -} -#myModal { - height: 100%; -} -.modal-backdrop { - bottom: 0; - position: fixed; -} -.curl { - padding: 10px; - font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace; - font-size: 0.9em; - max-height: 400px; - margin-top: 5px; - overflow-y: auto; - background-color: #fcf6db; - border: 1px solid #e5e0c6; - border-radius: 4px; -} -.curl_title { - font-size: 1.1em; - margin: 0; - padding: 15px 0 5px; - font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; - font-weight: 500; - line-height: 1.1; -} -.footer { - display: none; -} -.swagger-section .swagger-ui-wrap h2 { - padding: 0; -} -h2 { - margin: 0; - margin-bottom: 5px; -} -.markdown p { - font-size: 15px; - font-family: 'Arvo', serif; -} -.swagger-section .swagger-ui-wrap .code { - font-size: 15px; - font-family: 'Arvo', serif; -} -.swagger-section .swagger-ui-wrap b { - font-family: 'Arvo', serif; -} -#signin:hover { - cursor: pointer; -} -.dropdown-menu { - padding: 15px; -} -.navbar-right .dropdown-menu { - left: 0; - right: auto; -} -#signinbutton { - width: 100%; - height: 32px; - font-size: 13px; - font-weight: bold; - color: #08b; -} -.navbar-default .nav > li .details { - color: #000000; - text-transform: none; - font-size: 15px; - font-weight: normal; - font-family: 'Open Sans', sans-serif; - font-style: italic; - line-height: 20px; - top: -2px; -} -.navbar-default .nav > li .details:hover { - color: black; -} -#signout { - width: 100%; - height: 32px; - font-size: 13px; - font-weight: bold; - color: #08b; -} diff --git a/apidocs/v1.3.3/css/typography.css b/apidocs/v1.3.3/css/typography.css deleted file mode 100644 index 52004247d6a3..000000000000 --- a/apidocs/v1.3.3/css/typography.css +++ /dev/null @@ -1,28 +0,0 @@ - - -/* droid-sans-regular - latin */ -@font-face { - font-family: 'Droid Sans'; - font-style: normal; - font-weight: 400; - src: url('../fonts/droid-sans-v6-latin-regular.eot'); /* IE9 Compat Modes */ - src: local('Droid Sans'), local('DroidSans'), - url('../fonts/droid-sans-v6-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/droid-sans-v6-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/droid-sans-v6-latin-regular.woff') format('woff'), /* Modern Browsers */ - url('../fonts/droid-sans-v6-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/droid-sans-v6-latin-regular.svg#DroidSans') format('svg'); /* Legacy iOS */ -} -/* droid-sans-700 - latin */ -@font-face { - font-family: 'Droid Sans'; - font-style: normal; - font-weight: 700; - src: url('../fonts/droid-sans-v6-latin-700.eot'); /* IE9 Compat Modes */ - src: local('Droid Sans Bold'), local('DroidSans-Bold'), - url('../fonts/droid-sans-v6-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/droid-sans-v6-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/droid-sans-v6-latin-700.woff') format('woff'), /* Modern Browsers */ - url('../fonts/droid-sans-v6-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ - url('../fonts/droid-sans-v6-latin-700.svg#DroidSans') format('svg'); /* Legacy iOS */ -} diff --git a/apidocs/v1.3.3/custom/custom.css b/apidocs/v1.3.3/custom/custom.css deleted file mode 100644 index 1c3fd6546a98..000000000000 --- a/apidocs/v1.3.3/custom/custom.css +++ /dev/null @@ -1,17 +0,0 @@ - - -em { - font-weight: bold; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h5 { - color: #10654A; -} -.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h5 { - font-size: 1.0em; - margin: 0px; - padding: 15px 0px 5px; -} - -.swagger-section .swagger-ui-wrap table tr td:nth-child(2) textarea { - display: none !important; -} diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.eot b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.eot deleted file mode 100644 index d8524983ad8d..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.eot and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.svg b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.svg deleted file mode 100644 index a54bbbbf258a..000000000000 --- a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.svg +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.ttf b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.ttf deleted file mode 100644 index 15896c441fd5..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.ttf and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.woff b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.woff deleted file mode 100644 index 67e3e25f8362..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.woff and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.woff2 b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.woff2 deleted file mode 100644 index 1e726a7cfce4..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-700.woff2 and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.eot b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.eot deleted file mode 100644 index ac2698e85aee..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.eot and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.svg b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.svg deleted file mode 100644 index d9f2a214f962..000000000000 --- a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.svg +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.ttf b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.ttf deleted file mode 100644 index fb8cea662b24..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.ttf and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.woff b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.woff deleted file mode 100644 index abf19899f75a..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.woff and /dev/null differ diff --git a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.woff2 b/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.woff2 deleted file mode 100644 index 9f93f74c3bed..000000000000 Binary files a/apidocs/v1.3.3/fonts/droid-sans-v6-latin-regular.woff2 and /dev/null differ diff --git a/apidocs/v1.3.3/images/explorer_icons.png b/apidocs/v1.3.3/images/explorer_icons.png deleted file mode 100644 index be43b2739405..000000000000 Binary files a/apidocs/v1.3.3/images/explorer_icons.png and /dev/null differ diff --git a/apidocs/v1.3.3/images/favicon-16x16.png b/apidocs/v1.3.3/images/favicon-16x16.png deleted file mode 100644 index 120eb0700ebd..000000000000 Binary files a/apidocs/v1.3.3/images/favicon-16x16.png and /dev/null differ diff --git a/apidocs/v1.3.3/images/favicon-32x32.png b/apidocs/v1.3.3/images/favicon-32x32.png deleted file mode 100644 index b0a3352ffd3f..000000000000 Binary files a/apidocs/v1.3.3/images/favicon-32x32.png and /dev/null differ diff --git a/apidocs/v1.3.3/images/favicon.ico b/apidocs/v1.3.3/images/favicon.ico deleted file mode 100644 index 8b60bcf06a76..000000000000 Binary files a/apidocs/v1.3.3/images/favicon.ico and /dev/null differ diff --git a/apidocs/v1.3.3/images/logo_small.png b/apidocs/v1.3.3/images/logo_small.png deleted file mode 100644 index 2625a77d48a2..000000000000 Binary files a/apidocs/v1.3.3/images/logo_small.png and /dev/null differ diff --git a/apidocs/v1.3.3/images/pet_store_api.png b/apidocs/v1.3.3/images/pet_store_api.png deleted file mode 100644 index 1192ad8cd6a7..000000000000 Binary files a/apidocs/v1.3.3/images/pet_store_api.png and /dev/null differ diff --git a/apidocs/v1.3.3/images/throbber.gif b/apidocs/v1.3.3/images/throbber.gif deleted file mode 100644 index 06393889242f..000000000000 Binary files a/apidocs/v1.3.3/images/throbber.gif and /dev/null differ diff --git a/apidocs/v1.3.3/images/wordnik_api.png b/apidocs/v1.3.3/images/wordnik_api.png deleted file mode 100644 index dc0ddab138f1..000000000000 Binary files a/apidocs/v1.3.3/images/wordnik_api.png and /dev/null differ diff --git a/apidocs/v1.3.3/index.html b/apidocs/v1.3.3/index.html deleted file mode 100644 index 4caddb8c9df4..000000000000 --- a/apidocs/v1.3.3/index.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - Docker Trusted Registry API Documentation - - - - - - - - - - - - - - - - - - - - - - - -
                  - - - diff --git a/apidocs/v1.3.3/index.md b/apidocs/v1.3.3/index.md deleted file mode 100644 index 60668298eab3..000000000000 --- a/apidocs/v1.3.3/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: v1.3.3 API -description: v1.3.3 API -keywords: Docker, DTR, API, v1.3.3 ---- - -
                  -
                  - - - - - - - - - - - - - - - - - - - - -
                  diff --git a/apidocs/v1.3.3/lang/en.js b/apidocs/v1.3.3/lang/en.js deleted file mode 100644 index 72427df316fa..000000000000 --- a/apidocs/v1.3.3/lang/en.js +++ /dev/null @@ -1,55 +0,0 @@ - - -'use strict'; - -/* jshint quotmark: double */ -window.SwaggerTranslator.learn({ - "Warning: Deprecated":"Warning: Deprecated", - "Implementation Notes":"Implementation Notes", - "Response Class":"Response Class", - "Status":"Status", - "Parameters":"Parameters", - "Parameter":"Parameter", - "Value":"Value", - "Description":"Description", - "Parameter Type":"Parameter Type", - "Data Type":"Data Type", - "Response Messages":"Response Messages", - "HTTP Status Code":"HTTP Status Code", - "Reason":"Reason", - "Response Model":"Response Model", - "Request URL":"Request URL", - "Response Body":"Response Body", - "Response Code":"Response Code", - "Response Headers":"Response Headers", - "Hide Response":"Hide Response", - "Headers":"Headers", - "Try it out!":"Try it out!", - "Show/Hide":"Show/Hide", - "List Operations":"List Operations", - "Expand Operations":"Expand Operations", - "Raw":"Raw", - "can't parse JSON. Raw result":"can't parse JSON. Raw result", - "Model Schema":"Model Schema", - "Model":"Model", - "apply":"apply", - "Username":"Username", - "Password":"Password", - "Terms of service":"Terms of service", - "Created by":"Created by", - "See more at":"See more at", - "Contact the developer":"Contact the developer", - "api version":"api version", - "Response Content Type":"Response Content Type", - "fetching resource":"fetching resource", - "fetching resource list":"fetching resource list", - "Explore":"Explore", - "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", - "Can't read from server. It may not have the appropriate access-control-origin settings.":"Can't read from server. It may not have the appropriate access-control-origin settings.", - "Please specify the protocol for":"Please specify the protocol for", - "Can't read swagger JSON from":"Can't read swagger JSON from", - "Finished Loading Resource Information. Rendering Swagger UI":"Finished Loading Resource Information. Rendering Swagger UI", - "Unable to read api":"Unable to read api", - "from path":"from path", - "server returned":"server returned" -}); diff --git a/apidocs/v1.3.3/lang/es.js b/apidocs/v1.3.3/lang/es.js deleted file mode 100644 index d3e024ed2799..000000000000 --- a/apidocs/v1.3.3/lang/es.js +++ /dev/null @@ -1,54 +0,0 @@ - - -'use strict'; - -/* jshint quotmark: double */ -window.SwaggerTranslator.learn({ - "Warning: Deprecated":"Advertencia: Obsoleto", - "Implementation Notes":"Notas de implementación", - "Response Class":"Clase de la Respuesta", - "Status":"Status", - "Parameters":"Parámetros", - "Parameter":"Parámetro", - "Value":"Valor", - "Description":"Descripción", - "Parameter Type":"Tipo del Parámetro", - "Data Type":"Tipo del Dato", - "Response Messages":"Mensajes de la Respuesta", - "HTTP Status Code":"Código de Status HTTP", - "Reason":"Razón", - "Response Model":"Modelo de la Respuesta", - "Request URL":"URL de la Solicitud", - "Response Body":"Cuerpo de la Respuesta", - "Response Code":"Código de la Respuesta", - "Response Headers":"Encabezados de la Respuesta", - "Hide Response":"Ocultar Respuesta", - "Try it out!":"Pruébalo!", - "Show/Hide":"Mostrar/Ocultar", - "List Operations":"Listar Operaciones", - "Expand Operations":"Expandir Operaciones", - "Raw":"Crudo", - "can't parse JSON. Raw result":"no puede parsear el JSON. Resultado crudo", - "Model Schema":"Esquema del Modelo", - "Model":"Modelo", - "apply":"aplicar", - "Username":"Nombre de usuario", - "Password":"Contraseña", - "Terms of service":"Términos de Servicio", - "Created by":"Creado por", - "See more at":"Ver más en", - "Contact the developer":"Contactar al desarrollador", - "api version":"versión de la api", - "Response Content Type":"Tipo de Contenido (Content Type) de la Respuesta", - "fetching resource":"buscando recurso", - "fetching resource list":"buscando lista del recurso", - "Explore":"Explorar", - "Show Swagger Petstore Example Apis":"Mostrar Api Ejemplo de Swagger Petstore", - "Can't read from server. It may not have the appropriate access-control-origin settings.":"No se puede leer del servidor. Tal vez no tiene la configuración de control de acceso de origen (access-control-origin) apropiado.", - "Please specify the protocol for":"Por favor, especificar el protocola para", - "Can't read swagger JSON from":"No se puede leer el JSON de swagger desde", - "Finished Loading Resource Information. Rendering Swagger UI":"Finalizada la carga del recurso de Información. Mostrando Swagger UI", - "Unable to read api":"No se puede leer la api", - "from path":"desde ruta", - "server returned":"el servidor retornó" -}); diff --git a/apidocs/v1.3.3/lang/pt.js b/apidocs/v1.3.3/lang/pt.js deleted file mode 100644 index ecceb8b76588..000000000000 --- a/apidocs/v1.3.3/lang/pt.js +++ /dev/null @@ -1,55 +0,0 @@ - - -'use strict'; - -/* jshint quotmark: double */ -window.SwaggerTranslator.learn({ - "Warning: Deprecated":"Aviso: Depreciado", - "Implementation Notes":"Notas de Implementação", - "Response Class":"Classe de resposta", - "Status":"Status", - "Parameters":"Parâmetros", - "Parameter":"Parâmetro", - "Value":"Valor", - "Description":"Descrição", - "Parameter Type":"Tipo de parâmetro", - "Data Type":"Tipo de dados", - "Response Messages":"Mensagens de resposta", - "HTTP Status Code":"Código de status HTTP", - "Reason":"Razão", - "Response Model":"Modelo resposta", - "Request URL":"URL requisição", - "Response Body":"Corpo da resposta", - "Response Code":"Código da resposta", - "Response Headers":"Cabeçalho da resposta", - "Headers":"Cabeçalhos", - "Hide Response":"Esconder resposta", - "Try it out!":"Tente agora!", - "Show/Hide":"Mostrar/Esconder", - "List Operations":"Listar operações", - "Expand Operations":"Expandir operações", - "Raw":"Cru", - "can't parse JSON. Raw result":"Falha ao analisar JSON. Resulto cru", - "Model Schema":"Modelo esquema", - "Model":"Modelo", - "apply":"Aplicar", - "Username":"Usuário", - "Password":"Senha", - "Terms of service":"Termos do serviço", - "Created by":"Criado por", - "See more at":"Veja mais em", - "Contact the developer":"Contate o desenvolvedor", - "api version":"Versão api", - "Response Content Type":"Tipo de conteúdo da resposta", - "fetching resource":"busca recurso", - "fetching resource list":"buscando lista de recursos", - "Explore":"Explorar", - "Show Swagger Petstore Example Apis":"Show Swagger Petstore Example Apis", - "Can't read from server. It may not have the appropriate access-control-origin settings.":"Não é possível ler do servidor. Pode não ter as apropriadas configurações access-control-origin", - "Please specify the protocol for":"Por favor especifique o protocolo", - "Can't read swagger JSON from":"Não é possível ler o JSON Swagger de", - "Finished Loading Resource Information. Rendering Swagger UI":"Carregar informação de recurso finalizada. Renderizando Swagger UI", - "Unable to read api":"Não foi possível ler api", - "from path":"do caminho", - "server returned":"servidor retornou" -}); diff --git a/apidocs/v1.3.3/lang/ru.js b/apidocs/v1.3.3/lang/ru.js deleted file mode 100644 index 453a03044853..000000000000 --- a/apidocs/v1.3.3/lang/ru.js +++ /dev/null @@ -1,54 +0,0 @@ - - -'use strict'; - -/* jshint quotmark: double */ -window.SwaggerTranslator.learn({ - "Warning: Deprecated":"Ворнинг: Депрекейтед", - "Implementation Notes":"Заметки", - "Response Class":"Пример ответа", - "Status":"Статус", - "Parameters":"Параметры", - "Parameter":"Параметр", - "Value":"Значение", - "Description":"Описание", - "Parameter Type":"Тип параметра", - "Data Type":"Тип данных", - "HTTP Status Code":"HTTP код", - "Reason":"Причина", - "Response Model":"Структура ответа", - "Request URL":"URL запроса", - "Response Body":"Тело ответа", - "Response Code":"HTTP код ответа", - "Response Headers":"Заголовки ответа", - "Hide Response":"Спрятать ответ", - "Response Messages":"Что может прийти в ответ", - "Try it out!":"Попробовать!", - "Show/Hide":"Показать/Скрыть", - "List Operations":"Операции кратко", - "Expand Operations":"Операции подробно", - "Raw":"В сыром виде", - "can't parse JSON. Raw result":"Не удается распарсить ответ:", - "Model Schema":"Структура", - "Model":"Описание", - "apply":"применить", - "Username":"Имя пользователя", - "Password":"Пароль", - "Terms of service":"Условия использования", - "Created by":"Разработано", - "See more at":"Еще тут", - "Contact the developer":"Связаться с разработчиком", - "api version":"Версия API", - "Response Content Type":"Content Type ответа", - "fetching resource":"Получение ресурса", - "fetching resource list":"Получение ресурсов", - "Explore":"Поехали", - "Show Swagger Petstore Example Apis":"Показать примеры АПИ", - "Can't read from server. It may not have the appropriate access-control-origin settings.":"Не удается получить ответ от сервера. Возможно, какая-то лажа с настройками доступа", - "Please specify the protocol for":"Пожалуйста, укажите протогол для", - "Can't read swagger JSON from":"Не получается прочитать swagger json из", - "Finished Loading Resource Information. Rendering Swagger UI":"Загрузка информации о ресурсах завершена. Рендерим", - "Unable to read api":"Не удалось прочитать api", - "from path":"по адресу", - "server returned":"сервер сказал" -}); diff --git a/apidocs/v1.3.3/lang/tr.js b/apidocs/v1.3.3/lang/tr.js deleted file mode 100644 index ea14bccb74f0..000000000000 --- a/apidocs/v1.3.3/lang/tr.js +++ /dev/null @@ -1,55 +0,0 @@ - - -'use strict'; - -/* jshint quotmark: double */ -window.SwaggerTranslator.learn({ - "Warning: Deprecated":"Uyarı: Deprecated", - "Implementation Notes":"Gerçekleştirim Notları", - "Response Class":"Dönen Sınıf", - "Status":"Statü", - "Parameters":"Parametreler", - "Parameter":"Parametre", - "Value":"Değer", - "Description":"Açıklama", - "Parameter Type":"Parametre Tipi", - "Data Type":"Veri Tipi", - "Response Messages":"Dönüş Mesajı", - "HTTP Status Code":"HTTP Statü Kodu", - "Reason":"Gerekçe", - "Response Model":"Dönüş Modeli", - "Request URL":"İstek URL", - "Response Body":"Dönüş İçeriği", - "Response Code":"Dönüş Kodu", - "Response Headers":"Dönüş Üst Bilgileri", - "Hide Response":"Dönüşü Gizle", - "Headers":"Üst Bilgiler", - "Try it out!":"Dene!", - "Show/Hide":"Göster/Gizle", - "List Operations":"Operasyonları Listele", - "Expand Operations":"Operasyonları Aç", - "Raw":"Ham", - "can't parse JSON. Raw result":"JSON çözümlenemiyor. Ham sonuç", - "Model Schema":"Model Şema", - "Model":"Model", - "apply":"uygula", - "Username":"Kullanıcı Adı", - "Password":"Parola", - "Terms of service":"Servis şartları", - "Created by":"Oluşturan", - "See more at":"Daha fazlası için", - "Contact the developer":"Geliştirici ile İletişime Geçin", - "api version":"api versiyon", - "Response Content Type":"Dönüş İçerik Tipi", - "fetching resource":"kaynak getiriliyor", - "fetching resource list":"kaynak listesi getiriliyor", - "Explore":"Keşfet", - "Show Swagger Petstore Example Apis":"Swagger Petstore Örnek Api'yi Gör", - "Can't read from server. It may not have the appropriate access-control-origin settings.":"Sunucudan okuma yapılamıyor. Sunucu access-control-origin ayarlarınızı kontrol edin.", - "Please specify the protocol for":"Lütfen istenen adres için protokol belirtiniz", - "Can't read swagger JSON from":"Swagger JSON bu kaynaktan okunamıyor", - "Finished Loading Resource Information. Rendering Swagger UI":"Kaynak baglantısı tamamlandı. Swagger UI gösterime hazırlanıyor", - "Unable to read api":"api okunamadı", - "from path":"yoldan", - "server returned":"sunucuya dönüldü" -}); diff --git a/apidocs/v1.3.3/lang/translator.js b/apidocs/v1.3.3/lang/translator.js deleted file mode 100644 index 77fde610fc69..000000000000 --- a/apidocs/v1.3.3/lang/translator.js +++ /dev/null @@ -1,41 +0,0 @@ - - -'use strict'; - -/** - * Translator for documentation pages. - * - * To enable translation you should include one of language-files in your index.html - * after . - * For example - - * - * If you wish to translate some new texsts you should do two things: - * 1. Add a new phrase pair ("New Phrase": "New Translation") into your language file (for example lang/ru.js). It will be great if you add it in other language files too. - * 2. Mark that text it templates this way New Phrase or . - * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate. - * - */ -window.SwaggerTranslator = { - - _words:[], - - translate: function(sel) { - var $this = this; - sel = sel || '[data-sw-translate]'; - - $(sel).each(function() { - $(this).html($this._tryTranslate($(this).html())); - - $(this).val($this._tryTranslate($(this).val())); - $(this).attr('title', $this._tryTranslate($(this).attr('title'))); - }); - }, - - _tryTranslate: function(word) { - return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word; - }, - - learn: function(wordsMap) { - this._words = wordsMap; - } -}; diff --git a/apidocs/v1.3.3/lib/backbone-min.js b/apidocs/v1.3.3/lib/backbone-min.js deleted file mode 100644 index df88c0da9222..000000000000 --- a/apidocs/v1.3.3/lib/backbone-min.js +++ /dev/null @@ -1,17 +0,0 @@ - - -// Backbone.js 1.1.2 - -(function(t,e){if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore");e(t,exports,i)}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}})(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.2";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var u=e.Events={on:function(t,e,i){if(!c(this,"on",t,[e,i])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);r.push({callback:e,context:i,ctx:i||this});return this},once:function(t,e,r){if(!c(this,"once",t,[e,r])||!e)return this;var s=this;var n=i.once(function(){s.off(t,n);e.apply(this,arguments)});n._callback=e;return this.on(t,n,r)},off:function(t,e,r){var s,n,a,o,h,u,l,f;if(!this._events||!c(this,"off",t,[e,r]))return this;if(!t&&!e&&!r){this._events=void 0;return this}o=t?[t]:i.keys(this._events);for(h=0,u=o.length;h").attr(t);this.setElement(r,false)}else{this.setElement(i.result(this,"el"),false)}}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}if(a.type==="PATCH"&&k){a.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var h=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,h,s);return h};var k=typeof window!=="undefined"&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent);var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var $=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var S=/\((.*?)\)/g;var H=/(\(\?)?:\w+/g;var A=/\*\w+/g;var I=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend($.prototype,u,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);n.execute(s,a);n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)});return this},execute:function(t,e){if(t)t.apply(this,e)},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(I,"\\$&").replace(S,"(?:$1)?").replace(H,function(t,e){return e?t:"([^/?]+)"}).replace(A,"([^?]*?)");return new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t,e){if(e===r.length-1)return t||null;return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var R=/^[#\/]|\s+$/g;var O=/^\/+|\/+$/g;var P=/msie [\w.]+/;var C=/\/$/;var j=/#.*$/;N.started=false;i.extend(N.prototype,u,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getFragment:function(t,e){if(t==null){if(this._hasPushState||!this._wantsHashChange||e){t=decodeURI(this.location.pathname+this.location.search);var i=this.root.replace(C,"");if(!t.indexOf(i))t=t.slice(i.length)}else{t=this.getHash()}}return t.replace(R,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.extend({root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var r=this.getFragment();var s=document.documentMode;var n=P.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);this.root=("/"+this.root+"/").replace(O,"/");if(n&&this._wantsHashChange){var a=e.$('
                  ',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery",g=Boolean(a.fn.mfpFastClick);return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s),h=g?"mfpFastClick":"click";e[h](function(){b.prev()}),f[h](function(){b.next()}),b.isIE7&&(x("b",e[0],!1,!0),x("a",e[0],!1,!0),x("b",f[0],!1,!0),x("a",f[0],!1,!0)),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowLeft&&g&&b.arrowLeft.add(b.arrowRight).destroyMfpFastClick(),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),function(){var b=1e3,c="ontouchstart"in window,d=function(){v.off("touchmove"+f+" touchend"+f)},e="mfpFastClick",f="."+e;a.fn.mfpFastClick=function(e){return a(this).each(function(){var g,h=a(this);if(c){var i,j,k,l,m,n;h.on("touchstart"+f,function(a){l=!1,n=1,m=a.originalEvent?a.originalEvent.touches[0]:a.touches[0],j=m.clientX,k=m.clientY,v.on("touchmove"+f,function(a){m=a.originalEvent?a.originalEvent.touches:a.touches,n=m.length,m=m[0],(Math.abs(m.clientX-j)>10||Math.abs(m.clientY-k)>10)&&(l=!0,d())}).on("touchend"+f,function(a){d(),l||n>1||(g=!0,a.preventDefault(),clearTimeout(i),i=setTimeout(function(){g=!1},b),e())})})}h.on("click"+f,function(){g||e()})})},a.fn.destroyMfpFastClick=function(){a(this).off("touchstart"+f+" click"+f),c&&v.off("touchmove"+f+" touchend"+f)}}(),A()}); - -(function(d){var g=-1,e=-1,n=function(a){var b=null,c=[];d(a).each(function(){var a=d(this),k=a.offset().top-h(a.css("margin-top")),l=0=Math.floor(Math.abs(b-k))?c[c.length-1]=l.add(a):c.push(a);b=k});return c},h=function(a){return parseFloat(a)||0},b=d.fn.matchHeight=function(a){if("remove"===a){var f=this;this.css("height","");d.each(b._groups,function(a,b){b.elements=b.elements.not(f)});return this}if(1>=this.length)return this;a="undefined"!== -typeof a?a:!0;b._groups.push({elements:this,byRow:a});b._apply(this,a);return this};b._groups=[];b._throttle=80;b._maintainScroll=!1;b._beforeUpdate=null;b._afterUpdate=null;b._apply=function(a,f){var c=d(a),e=[c],k=d(window).scrollTop(),l=d("html").outerHeight(!0),g=c.parents().filter(":hidden");g.css("display","block");f&&(c.each(function(){var a=d(this),b="inline-block"===a.css("display")?"inline-block":"block";a.data("style-cache",a.attr("style"));a.css({display:b,"padding-top":"0","padding-bottom":"0", -"margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px"})}),e=n(c),c.each(function(){var a=d(this);a.attr("style",a.data("style-cache")||"").css("height","")}));d.each(e,function(a,b){var c=d(b),e=0;f&&1>=c.length||(c.each(function(){var a=d(this),b="inline-block"===a.css("display")?"inline-block":"block";a.css({display:b,height:""});a.outerHeight(!1)>e&&(e=a.outerHeight(!1));a.css("display","")}),c.each(function(){var a=d(this),b=0;"border-box"!==a.css("box-sizing")&& -(b+=h(a.css("border-top-width"))+h(a.css("border-bottom-width")),b+=h(a.css("padding-top"))+h(a.css("padding-bottom")));a.css("height",e-b)}))});g.css("display","");b._maintainScroll&&d(window).scrollTop(k/l*d("html").outerHeight(!0));return this};b._applyDataApi=function(){var a={};d("[data-match-height], [data-mh]").each(function(){var b=d(this),c=b.attr("data-match-height")||b.attr("data-mh");a[c]=c in a?a[c].add(b):b});d.each(a,function(){this.matchHeight(!0)})};var m=function(a){b._beforeUpdate&& -b._beforeUpdate(a,b._groups);d.each(b._groups,function(){b._apply(this.elements,this.byRow)});b._afterUpdate&&b._afterUpdate(a,b._groups)};b._update=function(a,f){if(f&&"resize"===f.type){var c=d(window).width();if(c===g)return;g=c}a?-1===e&&(e=setTimeout(function(){m(f);e=-1},b._throttle)):m(f)};d(b._applyDataApi);d(window).bind("load",function(a){b._update(!1,a)});d(window).bind("resize orientationchange",function(a){b._update(!0,a)})})(jQuery); - -!function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(window),function(){"use strict";function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;be;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a,b){function c(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function d(){}function e(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=h.length;c>b;b++){var d=h[b];a[d]=0}return a}function f(b){function d(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||g("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=b("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var f=document.body||document.documentElement;f.appendChild(e);var h=j(e);l=200===c(h.width),f.removeChild(e)}}}function f(a){if(d(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var b=j(a);if("none"===b.display)return e();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var g=f.isBorderBox=!(!k||!b[k]||"border-box"!==b[k]),m=0,n=h.length;n>m;m++){var o=h[m],p=b[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=g&&l,y=c(b.width);y!==!1&&(f.width=y+(x?0:r+v));var z=c(b.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}var j,k,l,m=!1;return f}var g="undefined"==typeof console?d:function(a){console.error(a)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],f):"object"==typeof exports?module.exports=f(require("desandro-get-style-property")):a.getSize=f(a.getStyleProperty)}(window),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(a){"use strict";function b(a,b){return a[g](b)}function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}function e(a,d){return c(a),b(a,d)}var f,g=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a,b){"use strict";"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("doc-ready"),require("desandro-matches-selector")):a.fizzyUIUtils=b(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"innerText"),a[b]=c}var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(c,d,e,f){return b(a,c,d,e,f)}):"object"==typeof exports?module.exports=b(a,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=b(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){"use strict";function f(a){for(var b in a)return!1;return b=null,!0}function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}function h(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}var i=a.getComputedStyle,j=i?function(a){return i(a,null)}:function(a){return a.currentStyle},k=d("transition"),l=d("transform"),m=k&&l,n=!!d("perspective"),o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[k],p=["transform","transition","transitionDuration","transitionProperty"],q=function(){for(var a={},b=0,c=p.length;c>b;b++){var e=p[b],f=d(e);f&&f!==e&&(a[e]=f)}return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=q[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=j(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=a[c?"left":"right"],f=a[d?"top":"bottom"],g=this.layout.size,h=-1!=e.indexOf("%")?parseFloat(e)/100*g.width:parseInt(e,10),i=-1!=f.indexOf("%")?parseFloat(f)/100*g.height:parseInt(f,10);h=isNaN(h)?0:h,i=isNaN(i)?0:i,h-=c?g.paddingLeft:g.paddingRight,i-=d?g.paddingTop:g.paddingBottom,this.position.x=h,this.position.y=i},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];c[e]=this.getXValue(g),c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];c[i]=this.getYValue(k),c[j]="",this.css(c),this.emitEvent("layout",[this])},g.prototype.getXValue=function(a){var b=this.layout.options;return b.percentPosition&&!b.isHorizontal?a/this.layout.size.width*100+"%":a+"px"},g.prototype.getYValue=function(a){var b=this.layout.options;return b.percentPosition&&b.isHorizontal?a/this.layout.size.height*100+"%":a+"px"},g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={};j.transform=this.getTranslate(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.getTranslate=function(a,b){var c=this.layout.options;return a=c.isOriginLeft?a:-a,b=c.isOriginTop?b:-b,n?"translate3d("+a+"px, "+b+"px, 0)":"translate("+a+"px, "+b+"px)"},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=m?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r="opacity,"+h(q.transform||"transform");g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(o,this,!1))},g.prototype.transition=g.prototype[k?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(o,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!k||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()},g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(c,d,e,f,g){return b(a,c,d,e,f,g)}):"object"==typeof exports?module.exports=b(a,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):a.Outlayer=b(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){"use strict";function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isInstant=b||f.isLayoutInstant,c.push(g)}this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.dispatchEvent(a+"Complete",null,[b])}function d(){g++,g===f&&c()}var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.dispatchEvent=function(a,b,c){var d=b?[b].concat(c):c;if(this.emitEvent(a,d),i)if(this.$element=this.$element||i(this.element),b){var e=i.Event(b);e.type=a,this.$element.trigger(e,c)}else this.$element.trigger(a,c)},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){this._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.Item=b(a.Outlayer))}(window,function(a){"use strict";function b(){a.Item.apply(this,arguments)}b.prototype=new a.Item,b.prototype._create=function(){this.id=this.layout.itemGUID++,a.Item.prototype._create.call(this),this.sortData={}},b.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var a=this.layout.options.getSortData,b=this.layout._sorters;for(var c in a){var d=b[c];this.sortData[c]=d(this.element,this)}}};var c=b.prototype.destroy;return b.prototype.destroy=function(){c.apply(this,arguments),this.css({display:""})},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("get-size"),require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.LayoutMode=b(a.getSize,a.Outlayer))}(window,function(a,b){"use strict";function c(a){this.isotope=a,a&&(this.options=a.options[this.namespace],this.element=a.element,this.items=a.filteredItems,this.size=a.size)}return function(){function a(a){return function(){return b.prototype[a].apply(this.isotope,arguments)}}for(var d=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],e=0,f=d.length;f>e;e++){var g=d[e];c.prototype[g]=a(g)}}(),c.prototype.needsVerticalResizeLayout=function(){var b=a(this.isotope.element),c=this.isotope.size&&b;return c&&b.innerHeight!=this.isotope.size.innerHeight},c.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},c.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},c.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},c.prototype.getSegmentSize=function(a,b){var c=a+b,d="outer"+b;if(this._getMeasurement(c,d),!this[c]){var e=this.getFirstItemSize();this[c]=e&&e[d]||this.isotope.size["inner"+b]}},c.prototype.getFirstItemSize=function(){var b=this.isotope.filteredItems[0];return b&&b.element&&a(b.element)},c.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},c.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},c.modes={},c.create=function(a,b){function d(){c.apply(this,arguments)}return d.prototype=new c,b&&(d.options=b),d.prototype.namespace=a,c.modes[a]=d,d},c}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):a.Masonry=b(a.Outlayer,a.getSize,a.fizzyUIUtils)}(window,function(a,b,c){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}var d=this.columnWidth+=this.gutter,e=this.containerWidth+this.gutter,f=e/d,g=d-e%d,h=g&&1>g?"round":"floor";f=Math[h](f),this.cols=Math.max(f,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c.indexOf(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],b):"object"==typeof exports?module.exports=b(require("../layout-mode"),require("masonry-layout")):b(a.Isotope.LayoutMode,a.Masonry)}(window,function(a,b){"use strict";function c(a,b){for(var c in b)a[c]=b[c];return a}var d=a.create("masonry"),e=d.prototype._getElementOffset,f=d.prototype.layout,g=d.prototype._getMeasurement; -c(d.prototype,b.prototype),d.prototype._getElementOffset=e,d.prototype.layout=f,d.prototype._getMeasurement=g;var h=d.prototype.measureColumns;d.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,h.call(this)};var i=d.prototype._manageStamp;return d.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,i.apply(this,arguments)},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("fitRows");return b.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth+this.gutter,c=this.isotope.size.innerWidth+this.gutter;0!==this.x&&b+this.x>c&&(this.x=0,this.y=this.maxY);var d={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+a.size.outerHeight),this.x+=b,d},b.prototype._getContainerSize=function(){return{height:this.maxY}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("vertical",{horizontalAlignment:0});return b.prototype._resetLayout=function(){this.y=0},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=(this.isotope.size.innerWidth-a.size.outerWidth)*this.options.horizontalAlignment,c=this.y;return this.y+=a.size.outerHeight,{x:b,y:c}},b.prototype._getContainerSize=function(){return{height:this.y}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(c,d,e,f,g,h){return b(a,c,d,e,f,g,h)}):"object"==typeof exports?module.exports=b(a,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("./item"),require("./layout-mode"),require("./layout-modes/masonry"),require("./layout-modes/fit-rows"),require("./layout-modes/vertical")):a.Isotope=b(a,a.Outlayer,a.getSize,a.matchesSelector,a.fizzyUIUtils,a.Isotope.Item,a.Isotope.LayoutMode)}(window,function(a,b,c,d,e,f,g){function h(a,b){return function(c,d){for(var e=0,f=a.length;f>e;e++){var g=a[e],h=c.sortData[g],i=d.sortData[g];if(h>i||i>h){var j=void 0!==b[g]?b[g]:b,k=j?1:-1;return(h>i?1:-1)*k}}return 0}}var i=a.jQuery,j=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^\s+|\s+$/g,"")},k=document.documentElement,l=k.textContent?function(a){return a.textContent}:function(a){return a.innerText},m=b.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});m.Item=f,m.LayoutMode=g,m.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),b.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var a in g.modes)this._initLayoutMode(a)},m.prototype.reloadItems=function(){this.itemGUID=0,b.prototype.reloadItems.call(this)},m.prototype._itemize=function(){for(var a=b.prototype._itemize.apply(this,arguments),c=0,d=a.length;d>c;c++){var e=a[c];e.id=this.itemGUID++}return this._updateItemsSortData(a),a},m.prototype._initLayoutMode=function(a){var b=g.modes[a],c=this.options[a]||{};this.options[a]=b.options?e.extend(b.options,c):c,this.modes[a]=new b(this)},m.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?void this.arrange():void this._layout()},m.prototype._layout=function(){var a=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,a),this._isLayoutInited=!0},m.prototype.arrange=function(a){function b(){d.reveal(c.needReveal),d.hide(c.needHide)}this.option(a),this._getIsInstant();var c=this._filter(this.items);this.filteredItems=c.matches;var d=this;this._bindArrangeComplete(),this._isInstant?this._noTransition(b):b(),this._sort(),this._layout()},m.prototype._init=m.prototype.arrange,m.prototype._getIsInstant=function(){var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=a,a},m.prototype._bindArrangeComplete=function(){function a(){b&&c&&d&&e.dispatchEvent("arrangeComplete",null,[e.filteredItems])}var b,c,d,e=this;this.once("layoutComplete",function(){b=!0,a()}),this.once("hideComplete",function(){c=!0,a()}),this.once("revealComplete",function(){d=!0,a()})},m.prototype._filter=function(a){var b=this.options.filter;b=b||"*";for(var c=[],d=[],e=[],f=this._getFilterTest(b),g=0,h=a.length;h>g;g++){var i=a[g];if(!i.isIgnored){var j=f(i);j&&c.push(i),j&&i.isHidden?d.push(i):j||i.isHidden||e.push(i)}}return{matches:c,needReveal:d,needHide:e}},m.prototype._getFilterTest=function(a){return i&&this.options.isJQueryFiltering?function(b){return i(b.element).is(a)}:"function"==typeof a?function(b){return a(b.element)}:function(b){return d(b.element,a)}},m.prototype.updateSortData=function(a){var b;a?(a=e.makeArray(a),b=this.getItems(a)):b=this.items,this._getSorters(),this._updateItemsSortData(b)},m.prototype._getSorters=function(){var a=this.options.getSortData;for(var b in a){var c=a[b];this._sorters[b]=n(c)}},m.prototype._updateItemsSortData=function(a){for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.updateSortData()}};var n=function(){function a(a){if("string"!=typeof a)return a;var c=j(a).split(" "),d=c[0],e=d.match(/^\[(.+)\]$/),f=e&&e[1],g=b(f,d),h=m.sortDataParsers[c[1]];return a=h?function(a){return a&&h(g(a))}:function(a){return a&&g(a)}}function b(a,b){var c;return c=a?function(b){return b.getAttribute(a)}:function(a){var c=a.querySelector(b);return c&&l(c)}}return a}();m.sortDataParsers={parseInt:function(a){return parseInt(a,10)},parseFloat:function(a){return parseFloat(a)}},m.prototype._sort=function(){var a=this.options.sortBy;if(a){var b=[].concat.apply(a,this.sortHistory),c=h(b,this.options.sortAscending);this.filteredItems.sort(c),a!=this.sortHistory[0]&&this.sortHistory.unshift(a)}},m.prototype._mode=function(){var a=this.options.layoutMode,b=this.modes[a];if(!b)throw new Error("No layout mode: "+a);return b.options=this.options[a],b},m.prototype._resetLayout=function(){b.prototype._resetLayout.call(this),this._mode()._resetLayout()},m.prototype._getItemLayoutPosition=function(a){return this._mode()._getItemLayoutPosition(a)},m.prototype._manageStamp=function(a){this._mode()._manageStamp(a)},m.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},m.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},m.prototype.appended=function(a){var b=this.addItems(a);if(b.length){var c=this._filterRevealAdded(b);this.filteredItems=this.filteredItems.concat(c)}},m.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){this._resetLayout(),this._manageStamps();var c=this._filterRevealAdded(b);this.layoutItems(this.filteredItems),this.filteredItems=c.concat(this.filteredItems),this.items=b.concat(this.items)}},m.prototype._filterRevealAdded=function(a){var b=this._filter(a);return this.hide(b.needHide),this.reveal(b.matches),this.layoutItems(b.matches,!0),b.matches},m.prototype.insert=function(a){var b=this.addItems(a);if(b.length){var c,d,e=b.length;for(c=0;e>c;c++)d=b[c],this.element.appendChild(d.element);var f=this._filter(b).matches;for(c=0;e>c;c++)b[c].isLayoutInstant=!0;for(this.arrange(),c=0;e>c;c++)delete b[c].isLayoutInstant;this.reveal(f)}};var o=m.prototype.remove;return m.prototype.remove=function(a){a=e.makeArray(a);var b=this.getItems(a);o.call(this,a);var c=b&&b.length;if(c)for(var d=0;c>d;d++){var f=b[d];e.removeFrom(this.filteredItems,f)}},m.prototype.shuffle=function(){for(var a=0,b=this.items.length;b>a;a++){var c=this.items[a];c.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},m.prototype._noTransition=function(a){var b=this.options.transitionDuration;this.options.transitionDuration=0;var c=a.call(this);return this.options.transitionDuration=b,c},m.prototype.getFilteredItemElements=function(){for(var a=[],b=0,c=this.filteredItems.length;c>b;b++)a.push(this.filteredItems[b].element);return a},m}); - -(function(e,t,n,r){"use strict";var i="cbp",s="."+i;if(typeof Object.create!=="function"){Object.create=function(e){function t(){}t.prototype=e;return new t}}e.expr[":"].uncached=function(t){if(!e(t).is('img[src!=""]')){return false}var n=new Image;n.src=t.src;return!n.complete};var o={init:function(e,t){var n=this,r;n.cubeportfolio=e;n.type=t;n.isOpen=false;n.options=n.cubeportfolio.options;if(t==="singlePageInline"){n.matrice=[-1,-1];n.height=0;n._createMarkupSinglePageInline();return}n._createMarkup();if(n.options.singlePageDeeplinking&&t==="singlePage"){n.url=location.href;if(n.url.slice(-1)=="#"){n.url=n.url.slice(0,-1)}r=n.cubeportfolio.blocksAvailable.find(n.options.singlePageDelegate).filter(function(e){return n.url.split("#cbp=")[1]===this.getAttribute("href")})[0];if(r){n.url=n.url.replace(/#cbp=(.+)/ig,"");n.openSinglePage(n.cubeportfolio.blocksAvailable,r)}}},_createMarkup:function(){var t=this;t.wrap=e("
                  ",{"class":"cbp-popup-wrap cbp-popup-"+t.type,"data-action":t.type==="lightbox"?"close":""}).on("click"+s,function(n){if(t.stopEvents){return}var r=e(n.target).attr("data-action");if(r){t[r]();n.preventDefault()}});t.content=e("
                  ",{"class":"cbp-popup-content"}).appendTo(t.wrap);e("
                  ",{"class":"cbp-popup-loadingBox"}).appendTo(t.wrap);if(t.cubeportfolio.browser==="ie8"){t.bg=e("
                  ",{"class":"cbp-popup-ie8bg","data-action":t.type==="lightbox"?"close":""}).appendTo(t.wrap)}t.navigationWrap=e("
                  ",{"class":"cbp-popup-navigation-wrap"}).appendTo(t.wrap);t.navigation=e("
                  ",{"class":"cbp-popup-navigation"}).appendTo(t.navigationWrap);t.closeButton=e("
                  ')}},_boxShadowFilter:function(e,t,n){var r=this;if(n!=="*"){t=t.filter(n);e=r.blocks.not(".cbp-item-hidden").not(n).addClass("cbp-item-hidden")}t.removeClass("cbp-item-hidden");var i=r.blocks.find(".cbp-animation-boxShadowMask");i.addClass("cbp-animation-boxShadowShow");i.removeClass("cbp-animation-boxShadowActive cbp-animation-boxShadowInactive");r.blocksAvailable=r.blocks.filter(n);var s={};if(e.length){e.find(".cbp-animation-boxShadowMask").addClass("cbp-animation-boxShadowActive");r.styleQueue.push({$el:e,style:{opacity:0}});s=e.last()}if(t.length){t.find(".cbp-animation-boxShadowMask").addClass("cbp-animation-boxShadowInactive");r.styleQueue.push({$el:t,style:{opacity:1}});s=t.last()}r._layout();if(s.length){s.one(r.transitionEnd,function(){i.removeClass("cbp-animation-boxShadowShow");r._filterFinish()})}else{i.removeClass("cbp-animation-boxShadowShow");r._filterFinish()}r._processStyle(r.transitionByFilter);r._resizeMainContainer(r.transition)},_bounceLeftInit:function(){var e=this;e._duplicateContent({left:"-100%",opacity:0});e.transitionByFilter="css";e.$ul.addClass("cbp-wrapper-front")},_bounceLeftFilter:function(e,t,n){var r=this,i,s,o;r.$obj.addClass("cbp-no-transition");if(r.ulHidden==="clone"){r.ulHidden="first";i=r.$ulClone;o=r.$ul;s=r.blocksClone}else{r.ulHidden="clone";i=r.$ul;o=r.$ulClone;s=r.blocks}t=s.filter(".cbp-item-hidden");if(n!=="*"){t=t.filter(n);s.not(".cbp-item-hidden").not(n).addClass("cbp-item-hidden")}t.removeClass("cbp-item-hidden");r.blocksAvailable=s.filter(n);r._layout();o[r.transition]({left:"-100%",opacity:0}).removeClass("cbp-wrapper-front").addClass("cbp-wrapper-back");i[r.transition]({left:0,opacity:1}).addClass("cbp-wrapper-front").removeClass("cbp-wrapper-back");r._processStyle(r.transitionByFilter);r._resizeMainContainer(r.transition);setTimeout(function(){r._filterFinish()},400)},_bounceTopInit:function(){var e=this;e._duplicateContent({top:"-100%",opacity:0});e.transitionByFilter="css";e.$ul.addClass("cbp-wrapper-front")},_bounceTopFilter:function(e,t,n){var r=this,i,s,o;r.$obj.addClass("cbp-no-transition");if(r.ulHidden==="clone"){r.ulHidden="first";i=r.$ulClone;o=r.$ul;s=r.blocksClone}else{r.ulHidden="clone";i=r.$ul;o=r.$ulClone;s=r.blocks}t=s.filter(".cbp-item-hidden");if(n!=="*"){t=t.filter(n);s.not(".cbp-item-hidden").not(n).addClass("cbp-item-hidden")}t.removeClass("cbp-item-hidden");r.blocksAvailable=s.filter(n);r._layout();o[r.transition]({top:"-100%",opacity:0}).removeClass("cbp-wrapper-front").addClass("cbp-wrapper-back");i[r.transition]({top:0,opacity:1}).addClass("cbp-wrapper-front").removeClass("cbp-wrapper-back");r._processStyle(r.transitionByFilter);r._resizeMainContainer(r.transition);setTimeout(function(){r._filterFinish()},400)},_bounceBottomInit:function(){var e=this;e._duplicateContent({top:"100%",opacity:0});e.transitionByFilter="css"},_bounceBottomFilter:function(e,t,n){var r=this,i,s,o;r.$obj.addClass("cbp-no-transition");if(r.ulHidden==="clone"){r.ulHidden="first";i=r.$ulClone;o=r.$ul;s=r.blocksClone}else{r.ulHidden="clone";i=r.$ul;o=r.$ulClone;s=r.blocks}t=s.filter(".cbp-item-hidden");if(n!=="*"){t=t.filter(n);s.not(".cbp-item-hidden").not(n).addClass("cbp-item-hidden")}t.removeClass("cbp-item-hidden");r.blocksAvailable=s.filter(n);r._layout();o[r.transition]({top:"100%",opacity:0}).removeClass("cbp-wrapper-front").addClass("cbp-wrapper-back");i[r.transition]({top:0,opacity:1}).addClass("cbp-wrapper-front").removeClass("cbp-wrapper-back");r._processStyle(r.transitionByFilter);r._resizeMainContainer(r.transition);setTimeout(function(){r._filterFinish()},400)},_moveLeftInit:function(){var e=this;e._duplicateContent({left:"100%",opacity:0});e.$ulClone.addClass("no-trans");e.transitionByFilter="css"},_moveLeftFilter:function(e,t,n){var r=this,i,s,o;if(n!=="*"){t=t.filter(n);e=r.blocks.not(".cbp-item-hidden").not(n).addClass("cbp-item-hidden")}t.removeClass("cbp-item-hidden");r.$obj.addClass("cbp-no-transition");if(r.ulHidden==="clone"){r.ulHidden="first";i=r.$ulClone;o=r.$ul;s=r.blocksClone}else{r.ulHidden="clone";i=r.$ul;o=r.$ulClone;s=r.blocks}s.css("opacity",0);s.addClass("cbp-item-hidden");r.blocksAvailable=s.filter(n);r.blocksAvailable.css("opacity",1);r.blocksAvailable.removeClass("cbp-item-hidden");r._layout();o[r.transition]({left:"-100%",opacity:0});i.removeClass("no-trans");if(r.transition==="css"){i[r.transition]({left:0,opacity:1});o.one(r.transitionEnd,function(){o.addClass("no-trans").css({left:"100%",opacity:0});r._filterFinish()})}else{i[r.transition]({left:0,opacity:1},function(){o.addClass("no-trans").css({left:"100%",opacity:0});r._filterFinish()})}r._processStyle(r.transitionByFilter);r._resizeMainContainer(r.transition)},_slideLeftInit:function(){var e=this;e._duplicateContent({});e.$ul.addClass("cbp-wrapper-front");e.$ulClone.css("opacity",0);e.transitionByFilter="css"},_slideLeftFilter:function(e,t,n){var r=this,i,s,o,u,a,f;r.blocks.show();r.blocksClone.show();if(n!=="*"){t=t.filter(n);e=r.blocks.not(".cbp-item-hidden").not(n).addClass("cbp-item-hidden")}t.removeClass("cbp-item-hidden");r.$obj.addClass("cbp-no-transition");r.blocks.find(".cbp-item-wrapper").removeClass("cbp-animation-slideLeft-out cbp-animation-slideLeft-in");r.blocksClone.find(".cbp-item-wrapper").removeClass("cbp-animation-slideLeft-out cbp-animation-slideLeft-in");r.$ul.css({opacity:1});r.$ulClone.css({opacity:1});if(r.ulHidden==="clone"){r.ulHidden="first";u=r.blocks;a=r.blocksClone;s=r.blocksClone;r.$ul.removeClass("cbp-wrapper-front");r.$ulClone.addClass("cbp-wrapper-front")}else{r.ulHidden="clone";u=r.blocksClone;a=r.blocks;s=r.blocks;r.$ul.addClass("cbp-wrapper-front");r.$ulClone.removeClass("cbp-wrapper-front")}s.css("opacity",0);s.addClass("cbp-item-hidden");r.blocksAvailable=s.filter(n);r.blocksAvailable.css({opacity:1});r.blocksAvailable.removeClass("cbp-item-hidden");r._layout();if(r.transition==="css"){u.find(".cbp-item-wrapper").addClass("cbp-animation-slideLeft-out");a.find(".cbp-item-wrapper").addClass("cbp-animation-slideLeft-in");f=u.find(".cbp-item-wrapper").last();if(f.length){f.one(r.animationEnd,function(){r._filterFinish()})}else{r._filterFinish()}}else{u.find(".cbp-item-wrapper").animate({left:"-100%"},400,function(){r._filterFinish()});a.find(".cbp-item-wrapper").css("left","100%");a.find(".cbp-item-wrapper").animate({left:0},400)}r._processStyle(r.transitionByFilter);r._resizeMainContainer("animate")},_slideDelayInit:function(){this._wrapperFilterInit()},_slideDelayFilter:function(e,t,n){this._wrapperFilter(e,t,n,"slideDelay",true)},_3dflipInit:function(){this._wrapperFilterInit()},_3dflipFilter:function(e,t,n){this._wrapperFilter(e,t,n,"3dflip",true)},_rotateSidesInit:function(){this._wrapperFilterInit()},_rotateSidesFilter:function(e,t,n){this._wrapperFilter(e,t,n,"rotateSides",true)},_flipOutDelayInit:function(){this._wrapperFilterInit()},_flipOutDelayFilter:function(e,t,n){this._wrapperFilter(e,t,n,"flipOutDelay",false)},_foldLeftInit:function(){this._wrapperFilterInit()},_foldLeftFilter:function(e,t,n){this._wrapperFilter(e,t,n,"foldLeft",true)},_unfoldInit:function(){this._wrapperFilterInit()},_unfoldFilter:function(e,t,n){this._wrapperFilter(e,t,n,"unfold",true)},_scaleDownInit:function(){this._wrapperFilterInit()},_scaleDownFilter:function(e,t,n){this._wrapperFilter(e,t,n,"scaleDown",true)},_frontRowInit:function(){this._wrapperFilterInit()},_frontRowFilter:function(e,t,n){this._wrapperFilter(e,t,n,"frontRow",true)},_rotateRoomInit:function(){this._wrapperFilterInit()},_rotateRoomFilter:function(e,t,n){this._wrapperFilter(e,t,n,"rotateRoom",true)},_wrapperFilterInit:function(){var e=this;e._duplicateContent({});e.$ul.addClass("cbp-wrapper-front");e.$ulClone.css("opacity",0);e.transitionByFilter="css"},_wrapperFilter:function(t,n,r,i,s){var o=this,u,a,f,l,c,h;o.blocks.show();o.blocksClone.show();if(r!=="*"){n=n.filter(r);t=o.blocks.not(".cbp-item-hidden").not(r).addClass("cbp-item-hidden")}n.removeClass("cbp-item-hidden");o.$obj.addClass("cbp-no-transition");o.blocks.find(".cbp-item-wrapper").removeClass("cbp-animation-"+i+"-out cbp-animation-"+i+"-in cbp-animation-"+i+"-fadeOut").css("style","");o.blocksClone.find(".cbp-item-wrapper").removeClass("cbp-animation-"+i+"-out cbp-animation-"+i+"-in cbp-animation-"+i+"-fadeOut").css("style","");o.$ul.css({opacity:1});o.$ulClone.css({opacity:1});if(o.ulHidden==="clone"){o.ulHidden="first";l=o.blocks;c=o.blocksClone;a=o.blocksClone;o.$ul.removeClass("cbp-wrapper-front");o.$ulClone.addClass("cbp-wrapper-front")}else{o.ulHidden="clone";l=o.blocksClone;c=o.blocks;a=o.blocks;o.$ul.addClass("cbp-wrapper-front");o.$ulClone.removeClass("cbp-wrapper-front")}l=o.blocksAvailable;a.css("opacity",0);a.addClass("cbp-item-hidden");o.blocksAvailable=a.filter(r);o.blocksAvailable.css({opacity:1});o.blocksAvailable.removeClass("cbp-item-hidden");c=o.blocksAvailable;o._layout();if(o.transition==="css"){var p=0,d=0;c.each(function(t,n){e(n).find(".cbp-item-wrapper").addClass("cbp-animation-"+i+"-in").css("animation-delay",d/20+"s");d++});l.each(function(t,n){if(d<=p&&s){e(n).find(".cbp-item-wrapper").addClass("cbp-animation-"+i+"-fadeOut")}else{e(n).find(".cbp-item-wrapper").addClass("cbp-animation-"+i+"-out").css("animation-delay",p/20+"s")}p++});h=l.find(".cbp-item-wrapper").first();if(h.length){h.one(o.animationEnd,function(){o._filterFinish()})}else{o._filterFinish()}}else{l.find(".cbp-item-wrapper").animate({left:"-100%"},400,function(){o._filterFinish()});c.find(".cbp-item-wrapper").css("left","100%");c.find(".cbp-item-wrapper").animate({left:0},400)}o._processStyle(o.transitionByFilter);o._resizeMainContainer("animate")},_filterFinish:function(){var e=this;e.isAnimating=false;e._triggerEvent("filterFinish");e.$obj.trigger("filterComplete")},_registerEvent:function(e,t,n){var r=this;if(!r.registeredEvents[e]){r.registeredEvents[e]=[];r.registeredEvents.push(e)}r.registeredEvents[e].push({func:t,oneTime:n||false})},_triggerEvent:function(e){var t=this;if(t.registeredEvents[e]){for(var n=t.registeredEvents[e].length-1;n>=0;n--){t.registeredEvents[e][n].func.call(t);if(t.registeredEvents[e][n].oneTime){t.registeredEvents[e].splice(n,1)}}}},init:function(t,n){var r=e.data(this,"cubeportfolio");if(r){throw new Error("cubeportfolio is already initialized. Please destroy it before initialize again!")}r=e.data(this,"cubeportfolio",Object.create(u));r._main(this,t,n)},destroy:function(n){var r=e.data(this,"cubeportfolio");if(!r){throw new Error("cubeportfolio is not initialized. Please initialize before calling destroy method!")}if(e.isFunction(n)){r._registerEvent("destroyFinish",n,true)}e.removeData(this,"cubeportfolio");e.each(r.blocks,function(t,n){e.removeData(this,"transformFn");e.removeData(this,"cbp-wxh")});r.$obj.removeClass("cbp cbp-loading cbp-ready cbp-no-transition");r.$ul.removeClass("cbp-wrapper-front cbp-wrapper-back cbp-wrapper no-trans").removeAttr("style");r.$obj.removeAttr("style");if(r.$ulClone){r.$ulClone.remove()}if(r.browser){r.$obj.removeClass("cbp-"+r.browser)}e(t).off("resize"+s);if(r.lightbox){r.lightbox.destroy()}if(r.singlePage){r.singlePage.destroy()}if(r.singlePageInline){r.singlePageInline.destroy()}r.blocks.removeClass("cbp-item-hidden").removeAttr("style");r.blocks.find(".cbp-item-wrapper").children().unwrap();if(r.options.caption){r._captionDestroy()}if(r.options.animationType){if(r.options.animationType==="boxShadow"){e(".cbp-animation-boxShadowMask").remove()}r.$obj.removeClass("cbp-animation-"+r.options.animationType)}r._triggerEvent("destroyFinish")},filter:function(t,n){var r=e.data(this,"cubeportfolio"),i,s;if(!r){throw new Error("cubeportfolio is not initialized. Please initialize before calling filter method!")}t=t==="*"||t===""?"*":t;if(r.isAnimating||r.defaultFilter==t){return}if(r.browser==="ie8"||r.browser==="ie9"){r.$obj.removeClass("cbp-no-transition cbp-appendItems-loading")}else{r.obj.classList.remove("cbp-no-transition");r.obj.classList.remove("cbp-appendItems-loading")}r.defaultFilter=t;r.isAnimating=true;if(e.isFunction(n)){r._registerEvent("filterFinish",n,true)}i=r.blocks.filter(".cbp-item-hidden");s=[];if(r.singlePageInline&&r.singlePageInline.isOpen){r.singlePageInline.close("promise",{callback:function(){r["_"+r.options.animationType+"Filter"](s,i,t)}})}else{r["_"+r.options.animationType+"Filter"](s,i,t)}},showCounter:function(t){var n=e.data(this,"cubeportfolio");if(!n){throw new Error("cubeportfolio is not initialized. Please initialize before calling showCounter method!")}n.elems=t;e.each(t,function(t,r){var i=e(this),s=i.data("filter"),o=0;s=s==="*"||s===""?"*":s;o=n.blocks.filter(s).length;i.find(".cbp-filter-counter").text(o)})},appendItems:function(t,n){var r=this,i=e.data(r,"cubeportfolio"),s,o,a,f;if(!i){throw new Error("cubeportfolio is not initialized. Please initialize before calling appendItems method!")}if(i.singlePageInline&&i.singlePageInline.isOpen){i.singlePageInline.close("promise",{callback:function(){u._addItems.call(r,t,n)}})}else{u._addItems.call(r,t,n)}},_addItems:function(t,n){var r=e.data(this,"cubeportfolio"),i,s,o,a;if(e.isFunction(n)){r._registerEvent("appendItemsFinish",n,true)}r.$obj.addClass("cbp-no-transition cbp-appendItems-loading");t=e(t).css("opacity",0);t.filter(".cbp-item").wrapInner('
                  ');a=t.filter(r.defaultFilter);if(r.ulHidden){if(r.ulHidden==="first"){t.appendTo(r.$ulClone);r.blocksClone=r.$ulClone.children();s=r.blocksClone;o=t.clone();o.appendTo(r.$ul);r.blocks=r.$ul.children()}else{t.appendTo(r.$ul);r.blocks=r.$ul.children();s=r.blocks;o=t.clone();o.appendTo(r.$ulClone);r.blocksClone=r.$ulClone.children()}}else{t.appendTo(r.$ul);r.blocks=r.$ul.children();s=r.blocks}if(r.options.caption){r._captionDestroy();r._captionInit()}i=r.defaultFilter;r.blocksAvailable=s.filter(i);s.not(".cbp-item-hidden").not(i).addClass("cbp-item-hidden");if(r.options.gridAdjustment==="responsive"){r._responsiveLayout()}r._layout();r._processStyle(r.transitionByFilter);r._resizeMainContainer("animate");a.animate({opacity:1},800,function(){switch(r.options.animationType){case"bounceLeft":case"bounceTop":case"bounceBottom":r.blocks.css("opacity",1);r.blocksClone.css("opacity",1);break}});if(r.elems){u.showCounter.call(this,r.elems)}setTimeout(function(){r._triggerEvent("appendItemsFinish")},900)}};e.fn.cubeportfolio=function(e){var t=arguments;return this.each(function(){if(u[e]){return u[e].apply(this,Array.prototype.slice.call(t,1))}else if(typeof e==="object"||!e){return u.init.apply(this,t)}else{throw new Error("Method "+e+" does not exist on jQuery.cubeportfolio.js")}})};e.fn.cubeportfolio.options={animationType:"fadeOut",gridAdjustment:"default",gapHorizontal:10,gapVertical:10,caption:"pushTop",displayType:"default",displayTypeSpeed:400,lightboxDelegate:".cbp-lightbox",lightboxGallery:true,lightboxTitleSrc:"data-title",lightboxShowCounter:true,singlePageDelegate:".cbp-singlePage",singlePageDeeplinking:true,singlePageStickyNavigation:true,singlePageShowCounter:true,singlePageCallback:function(e,t){},singlePageInlineDelegate:".cbp-singlePageInline",singlePageInlinePosition:"top",singlePageInlineCallback:function(e,t){}}})(jQuery,window,document); -(function(){var a,b,c,d,e,f=function(a,b){return function(){return a.apply(b,arguments)}},g=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.createEvent=function(a,b,c,d){var e;return null==b&&(b=!1),null==c&&(c=!1),null==d&&(d=null),null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e},a.prototype.emitEvent=function(a,b){return null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)?a["on"+b]():void 0},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.resetAnimation=f(this.resetAnimation,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),this.animationNameCache=new c,this.wowEvent=this.util().createEvent(this.config.boxClass)}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],c=0,d=b.length;d>c;c++)f=b[c],g.push(function(){var a,b,c,d;for(c=f.addedNodes||[],d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(this.doSync(e));return d}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototype.show=function(a){return this.applyStyle(a),a.className=a.className+" "+this.config.animateClass,null!=this.config.callback&&this.config.callback(a),this.util().emitEvent(a,this.wowEvent),this.util().addEvent(a,"animationend",this.resetAnimation),this.util().addEvent(a,"oanimationend",this.resetAnimation),this.util().addEvent(a,"webkitAnimationEnd",this.resetAnimation),this.util().addEvent(a,"MSAnimationEnd",this.resetAnimation),a},e.prototype.applyStyle=function(a,b){var c,d,e;return d=a.getAttribute("data-wow-duration"),c=a.getAttribute("data-wow-delay"),e=a.getAttribute("data-wow-iteration"),this.animate(function(f){return function(){return f.customStyle(a,b,d,c,e)}}(this))},e.prototype.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),e.prototype.resetStyle=function(){var a,b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],e.push(a.style.visibility="visible");return e},e.prototype.resetAnimation=function(a){var b;return a.type.toLowerCase().indexOf("animationend")>=0?(b=a.target||a.srcElement,b.className=b.className.replace(this.config.animateClass,"").trim()):void 0},e.prototype.customStyle=function(a,b,c,d,e){return b&&this.cacheAnimationName(a),a.style.visibility=b?"hidden":"visible",c&&this.vendorSet(a.style,{animationDuration:c}),d&&this.vendorSet(a.style,{animationDelay:d}),e&&this.vendorSet(a.style,{animationIterationCount:e}),this.vendorSet(a.style,{animationName:b?"none":this.cachedAnimationName(a)}),a},e.prototype.vendors=["moz","webkit"],e.prototype.vendorSet=function(a,b){var c,d,e,f;d=[];for(c in b)e=b[c],a[""+c]=e,d.push(function(){var b,d,g,h;for(g=this.vendors,h=[],b=0,d=g.length;d>b;b++)f=g[b],h.push(a[""+f+c.charAt(0).toUpperCase()+c.substr(1)]=e);return h}.call(this));return d},e.prototype.vendorCSS=function(a,b){var c,e,f,g,h,i;for(h=d(a),g=h.getPropertyCSSValue(b),f=this.vendors,c=0,e=f.length;e>c;c++)i=f[c],g=g||h.getPropertyCSSValue("-"+i+"-"+b);return g},e.prototype.animationName=function(a){var b;try{b=this.vendorCSS(a,"animation-name").cssText}catch(c){b=d(a).getPropertyValue("animation-name")}return"none"===b?"":b},e.prototype.cacheAnimationName=function(a){return this.animationNameCache.set(a,this.animationName(a))},e.prototype.cachedAnimationName=function(a){return this.animationNameCache.get(a)},e.prototype.scrollHandler=function(){return this.scrolled=!0},e.prototype.scrollCallback=function(){var a;return!this.scrolled||(this.scrolled=!1,this.boxes=function(){var b,c,d,e;for(d=this.boxes,e=[],b=0,c=d.length;c>b;b++)a=d[b],a&&(this.isVisible(a)?this.show(a):e.push(a));return e}.call(this),this.boxes.length||this.config.live)?void 0:this.stop()},e.prototype.offsetTop=function(a){for(var b;void 0===a.offsetTop;)a=a.parentNode;for(b=a.offsetTop;a=a.offsetParent;)b+=a.offsetTop;return b},e.prototype.isVisible=function(a){var b,c,d,e,f;return c=a.getAttribute("data-wow-offset")||this.config.offset,f=window.pageYOffset,e=f+Math.min(this.element.clientHeight,this.util().innerHeight())-c,d=this.offsetTop(a),b=d+a.clientHeight,e>=d&&b>=f},e.prototype.util=function(){return null!=this._util?this._util:this._util=new b},e.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent)},e}()}).call(this); - -(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){return t.replace(/(:|\.|\/)/g,"\\$1")}var l="1.5.4",o={},n={exclude:[],excludeWithin:[],offset:0,direction:"top",scrollElement:null,scrollTarget:null,beforeScroll:function(){},afterScroll:function(){},easing:"swing",speed:400,autoCoefficient:2,preventDefault:!0},s=function(e){var l=[],o=!1,n=e.dir&&"left"===e.dir?"scrollLeft":"scrollTop";return this.each(function(){if(this!==document&&this!==window){var e=t(this);e[n]()>0?l.push(this):(e[n](1),o=e[n]()>0,o&&l.push(this),e[n](0))}}),l.length||this.each(function(){"BODY"===this.nodeName&&(l=[this])}),"first"===e.el&&l.length>1&&(l=[l[0]]),l};t.fn.extend({scrollable:function(t){var e=s.call(this,{dir:t});return this.pushStack(e)},firstScrollable:function(t){var e=s.call(this,{el:"first",dir:t});return this.pushStack(e)},smoothScroll:function(l,o){if(l=l||{},"options"===l)return o?this.each(function(){var e=t(this),l=t.extend(e.data("ssOpts")||{},o);t(this).data("ssOpts",l)}):this.first().data("ssOpts");var n=t.extend({},t.fn.smoothScroll.defaults,l),s=t.smoothScroll.filterPath(location.pathname);return this.unbind("click.smoothscroll").bind("click.smoothscroll",function(l){var o=this,r=t(this),i=t.extend({},n,r.data("ssOpts")||{}),c=n.exclude,a=i.excludeWithin,f=0,h=0,u=!0,d={},p=location.hostname===o.hostname||!o.hostname,m=i.scrollTarget||t.smoothScroll.filterPath(o.pathname)===s,S=e(o.hash);if(i.scrollTarget||p&&m&&S){for(;u&&c.length>f;)r.is(e(c[f++]))&&(u=!1);for(;u&&a.length>h;)r.closest(a[h++]).length&&(u=!1)}else u=!1;u&&(i.preventDefault&&l.preventDefault(),t.extend(d,i,{scrollTarget:i.scrollTarget||S,link:o}),t.smoothScroll(d))}),this}}),t.smoothScroll=function(e,l){if("options"===e&&"object"==typeof l)return t.extend(o,l);var n,s,r,i,c,a=0,f="offset",h="scrollTop",u={},d={};"number"==typeof e?(n=t.extend({link:null},t.fn.smoothScroll.defaults,o),r=e):(n=t.extend({link:null},t.fn.smoothScroll.defaults,e||{},o),n.scrollElement&&(f="position","static"===n.scrollElement.css("position")&&n.scrollElement.css("position","relative"))),h="left"===n.direction?"scrollLeft":h,n.scrollElement?(s=n.scrollElement,/^(?:HTML|BODY)$/.test(s[0].nodeName)||(a=s[h]())):s=t("html, body").firstScrollable(n.direction),n.beforeScroll.call(s,n),r="number"==typeof e?e:l||t(n.scrollTarget)[f]()&&t(n.scrollTarget)[f]()[n.direction]||0,u[h]=r+a+n.offset,i=n.speed,"auto"===i&&(c=u[h]-s.scrollTop(),0>c&&(c*=-1),i=c/n.autoCoefficient),d={duration:i,easing:n.easing,complete:function(){n.afterScroll.call(n.link,n)}},n.step&&(d.step=n.step),s.length?s.stop().animate(u,d):n.afterScroll.call(n.link,n)},t.smoothScroll.version=l,t.smoothScroll.filterPath=function(t){return t=t||"",t.replace(/^\//,"").replace(/(?:index|default).[a-zA-Z]{3,4}$/,"").replace(/\/$/,"")},t.fn.smoothScroll.defaults=n}); - -!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery); -(function($,window){'$:nomunge';var undefined,aps=Array.prototype.slice,decode=decodeURIComponent,jq_param=$.param,jq_param_fragment,jq_deparam,jq_deparam_fragment,jq_bbq=$.bbq=$.bbq||{},jq_bbq_pushState,jq_bbq_getState,jq_elemUrlAttr,jq_event_special=$.event.special,str_hashchange='hashchange',str_querystring='querystring',str_fragment='fragment',str_elemUrlAttr='elemUrlAttr',str_location='location',str_href='href',str_src='src',re_trim_querystring=/^.*\?|#.*$/g,re_trim_fragment=/^.*\#/,re_no_escape,elemUrlAttr_cache={};function is_string(arg){return typeof arg==='string';};function curry(func){var args=aps.call(arguments,1);return function(){return func.apply(this,args.concat(aps.call(arguments)));};};function get_fragment(url){return url.replace(/^[^#]*#?(.*)$/,'$1');};function get_querystring(url){return url.replace(/(?:^[^?#]*\?([^#]*).*$)?.*/,'$1');};function jq_param_sub(is_fragment,get_func,url,params,merge_mode){var result,qs,matches,url_params,hash;if(params!==undefined){matches=url.match(is_fragment?/^([^#]*)\#?(.*)$/:/^([^#?]*)\??([^#]*)(#?.*)/);hash=matches[3]||'';if(merge_mode===2&&is_string(params)){qs=params.replace(is_fragment?re_trim_fragment:re_trim_querystring,'');}else{url_params=jq_deparam(matches[2]);params=is_string(params)?jq_deparam[is_fragment?str_fragment:str_querystring](params):params;qs=merge_mode===2?params:merge_mode===1?$.extend({},params,url_params):$.extend({},url_params,params);qs=jq_param(qs);if(is_fragment){qs=qs.replace(re_no_escape,decode);}}result=matches[1]+(is_fragment?'#':qs||!matches[1]?'?':'')+qs+hash;}else{result=get_func(url!==undefined?url:window[str_location][str_href]);}return result;};jq_param[str_querystring]=curry(jq_param_sub,0,get_querystring);jq_param[str_fragment]=jq_param_fragment=curry(jq_param_sub,1,get_fragment);jq_param_fragment.noEscape=function(chars){chars=chars||'';var arr=$.map(chars.split(''),encodeURIComponent);re_no_escape=new RegExp(arr.join('|'),'g');};jq_param_fragment.noEscape(',/');$.deparam=jq_deparam=function(params,coerce){var obj={},coerce_types={'true':!0,'false':!1,'null':null};$.each(params.replace(/\+/g,' ').split('&'),function(j,v){var param=v.split('='),key=decode(param[0]),val,cur=obj,i=0,keys=key.split(']['),keys_last=keys.length-1;if(/\[/.test(keys[0])&&/\]$/.test(keys[keys_last])){keys[keys_last]=keys[keys_last].replace(/\]$/,'');keys=keys.shift().split('[').concat(keys);keys_last=keys.length-1;}else{keys_last=0;}if(param.length===2){val=decode(param[1]);if(coerce){val=val&&!isNaN(val)?+val:val==='undefined'?undefined:coerce_types[val]!==undefined?coerce_types[val]:val;}if(keys_last){for(;i<=keys_last;i++){key=keys[i]===''?cur.length:keys[i];cur=cur[key]=i').hide().insertAfter('body')[0].contentWindow;get_history=function(){return get_fragment(iframe.document[str_location][str_href]);};set_history=function(hash,history_hash){if(hash!==history_hash){var doc=iframe.document;doc.open().close();doc[str_location].hash='#'+hash;}};set_history(get_fragment());}};self.start=function(){if(timeout_id){return;}var last_hash=get_fragment();set_history||init();(function loopy(){var hash=get_fragment(),history_hash=get_history(last_hash);if(hash!==last_hash){set_history(last_hash=hash,history_hash);$(window).trigger(str_hashchange);}else if(history_hash!==last_hash){window[str_location][str_href]=window[str_location][str_href].replace(/#.*/,'')+'#'+history_hash;}timeout_id=setTimeout(loopy,$[str_hashchange+'Delay']);})();};self.stop=function(){if(!iframe){timeout_id&&clearTimeout(timeout_id);timeout_id=0;}};return self;})();})(jQuery,this); -window.$body=$('body');window.$window=$(window);window.WAITING=0;window.READY=1;window.BEGUN=2;window.BREAK_SMALL=640;window.BREAK_MEDIUM=1024;window.THEME_URL='';window.BASE_URL='/cache.php?request=';window.NO_CACHE_BASE_URL='';var init_root;init_root=function($scope,$rootScope){var _all_finished_triggered,_all_images_loaded,_all_requests_finished,all_finished,all_requests_finished,execute_lazy_load,outstanding_requests,scheduled_to_load,watch_all_finished,watch_request_finished,watch_requests_finished,watch_window_load,watch_window_resize,watch_window_scroll;$rootScope.lazy_load_state=WAITING;$rootScope.theme_url=THEME_URL;scheduled_to_load=[];outstanding_requests=0;watch_request_finished={};watch_requests_finished=[];watch_all_finished=[];_all_requests_finished=true;_all_images_loaded=true;_all_finished_triggered=false;watch_window_resize=[];watch_window_load=[];watch_window_scroll=[];$rootScope.window_properties={};$rootScope.schedule_lazy_load=function(callback){_all_images_loaded=false;scheduled_to_load.push(callback);if($rootScope.lazy_load_state===READY){return execute_lazy_load();}};execute_lazy_load=function(){var callback;callback=scheduled_to_load.shift();if(callback){$rootScope.lazy_load_state=BEGUN;return callback(function(){return execute_lazy_load();});}else{$rootScope.lazy_load_state=READY;_all_images_loaded=true;return all_finished();}};$rootScope.clear_lazy_load=function(){scheduled_to_load=[];return $rootScope.lazy_load_state=READY;};$rootScope.on_window_load=function(callback){if($rootScope.loaded){return callback();}else{return watch_window_load.push(callback);}};$rootScope.on_window_scroll=function(callback,trigger_immediately){watch_window_scroll.push(callback);if(trigger_immediately){return callback();}};$rootScope.on_window_resize=function(callback,trigger_immediately){watch_window_resize.push(callback);if(trigger_immediately){return callback();}};$rootScope.on_request_finished=function(request_path,callback){return watch_request_finished[request_path]=callback;};$rootScope.on_requests_finished=function(callback){_all_requests_finished=false;return watch_requests_finished.push(callback);};$rootScope.on_all_finished=function(callback){return watch_all_finished.push(callback);};all_requests_finished=function(){angular.forEach(watch_requests_finished,function(callback){return callback();});_all_requests_finished=true;return all_finished();};all_finished=function(){if(_all_finished_triggered){return;}if(_all_requests_finished&&_all_images_loaded){_all_finished_triggered=true;return angular.forEach(watch_all_finished,function(callback){return callback();});}};$rootScope.on_window_resize(function(){var mobile;mobile=$rootScope.window_properties.width');timeout=null;loaded=function(){clearTimeout(timeout);element.css('background-image','url("'+url+'")');setTimeout(function(){element.addClass('loaded');return element.trigger('loaded');},parseInt(attrs.lazyDelay)||0);image.unbind('load');image.remove();return done();};timeout=setTimeout(loaded,1000);image.load(loaded);return image.attr('src',url);});}};});SimpleHelpers.directive("lazyImage",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return $rootScope.schedule_lazy_load(function(done){var loaded,timeout,url;url=attrs.lazyImage;timeout=null;loaded=function(e){clearTimeout(timeout);element.attr('src',url);element.addClass('loaded');element.unbind('load');element.trigger('loaded');return done();};element.load(loaded);return element.attr('src',url);});}};});SimpleHelpers.directive("matchWindowHeight",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){var match_height,mobile_offset,normal_offset,offsets,only_once,ref;only_once=(ref=attrs.matchOnlyOnce!==void 0)!=null?ref:{"true":false};if(attrs.matchWindowHeight.match(/^-?[0-9|-]+$/)){offsets=attrs.matchWindowHeight.split('|');normal_offset=parseInt(offsets[0]);if(offsets[1]){mobile_offset=parseInt(offsets[1]);}}else{normal_offset=-$(attrs.matchWindowHeight).height();}match_height=function(window_properties){var offset;if($rootScope.mobile&&mobile_offset){offset=mobile_offset;}else{offset=normal_offset;}return element.css('height',window_properties.height+offset);};if(only_once){return match_height($rootScope.window_properties);}else{return $rootScope.$watch('window_properties',function(new_value,old_value){return match_height(new_value);},true);}}};});SimpleHelpers.directive("centerHorizontally",function($rootScope,$timeout){return{restrict:"A",link:function(scope,element,attrs){var set_margin;set_margin=function(){if(!$rootScope.window_properties.width){return;}if(element.width()>$rootScope.window_properties.width){return element.css('margin-left',-(element.width()-$rootScope.window_properties.width)/2);}else{return element.css('margin-left',-element.width()/2);}};$rootScope.on_window_resize(set_margin);return $timeout(set_margin);}};});SimpleHelpers.directive("centerVertically",function($rootScope,$timeout){return{restrict:"A",link:function(scope,element,attrs){var set_margin;set_margin=function(){return element.css('marginTop',-element.height()/2);};element.addClass('center-vertically');$rootScope.on_window_resize(set_margin);return $timeout(set_margin);}};});SimpleHelpers.directive("parallax",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){var base,scroll_element,travel,wh;if(!$rootScope.mobile){travel=parseInt(attrs.parallax);base=parseInt(attrs.parallaxBase);scroll_element=element;if(attrs.parallaxContainer){scroll_element=$(attrs.parallaxContainer);}wh=$rootScope.window_properties.height;return $rootScope.on_window_scroll(function(){var current_travel,option,parallax_end,parallax_percent,parallax_start;parallax_start=Math.max(scroll_element.offset().top-wh,0);parallax_end=parallax_start+wh+scroll_element.height();parallax_percent=Math.max($window.scrollTop()-parallax_start,0)/parallax_end;current_travel=base+(travel*parallax_percent-travel/2);option=current_travel+'px';return element.css('top',option);});}}};});SimpleHelpers.directive("onLoaded",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return element.on('loaded',function(){return json_action(eval('('+attrs.onLoaded+')'),element);});}};});SimpleHelpers.directive("onOtherLoaded",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return $(attrs.onOtherLoadedSelector).on('loaded',function(){return json_action(eval('('+attrs.onOtherLoaded+')'),element);});}};});SimpleHelpers.directive("onWindowLoad",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return $rootScope.on_window_load(function(){return json_action(eval('('+attrs.onWindowLoad+')'),element);});}};});SimpleHelpers.directive("onRequestFinished",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return $rootScope.on_request_finished(attrs.onRequestFinished,function(){return json_action(eval('('+attrs.onRequestFinishedAction+')'),element);});}};});SimpleHelpers.directive("onRequestsFinished",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return $rootScope.on_requests_finished(function(){return json_action(eval('('+attrs.onRequestsFinished+')'),element);});}};});SimpleHelpers.directive("onAllFinished",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return $rootScope.on_all_finished(function(){return json_action(eval('('+attrs.onAllFinished+')'),element);});}};});SimpleHelpers.directive("onVisible",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){return setTimeout(function(){var becomes_visible,offset,on_scroll,wh;if(attrs.onVisibleOffset){if(attrs.onVisibleOffset.indexOf('%')>-1){offset=$window.height()*(parseInt(attrs.onVisibleOffset)/100);}else{offset=parseInt(attrs.onVisibleOffset);}}offset=offset||0;wh=$rootScope.window_properties.height;becomes_visible=element.offset().top-wh+offset;on_scroll=function(){if($window.scrollTop()>becomes_visible){json_action(eval('('+attrs.onVisible+')'),element);return $window.unbind('scroll',on_scroll);}};$window.scroll(on_scroll);return $window.trigger('scroll');},100);}};});SimpleHelpers.directive("loadBlock",function($rootScope,$location){return{restrict:"AE",link:function(scope,element,attrs){var menu_path;menu_path=attrs.menuPath||'';if(!menu_path&&attrs.includePath){menu_path=$location.path();}return $rootScope.request(BASE_URL,'/load/blocks/'+attrs.loadBlock,menu_path,function(response){element.html(response);return element.trigger('loaded');});}};});SimpleHelpers.directive("loadJson",function($rootScope){return{restrict:"AE",link:function(scope,element,attrs){return $rootScope.request(BASE_URL,attrs.loadJson,'',function(response){scope.data=JSON.parse(response);scope.$apply();return element.trigger('loaded');});},template:function(tElement,tAttrs){return tElement.html();}};});SimpleHelpers.directive("loadBlockRegion",function($rootScope,$compile,$location){return{restrict:"AE",link:function(scope,element,attrs){var menu_path;menu_path=attrs.menuPath||'';if(!menu_path&&attrs.includePath){menu_path=$location.path();}return $rootScope.request(BASE_URL,'/load/block_region/'+attrs.loadBlockRegion,menu_path,function(response){var template;template=$(response);element.append(template);$compile(template)(scope);element.trigger('loaded');if(attrs.jsScrollbar!==void 0){if(!$rootScope.mobile){return element.parent().nanoScroller({preventPageScrolling:true});}}});}};});SimpleHelpers.directive("loadHtml",function($rootScope,$compile){return{restrict:"AE",link:function(scope,element,attrs){return $rootScope.request(BASE_URL,attrs.loadHtml,false,function(response){var template;template=$(response);element.append(template);$compile(template)(scope);return element.trigger('loaded');});}};});SimpleHelpers.directive("prependTo",function(){return{restrict:"A",link:function(scope,element,attrs){return element.prependTo(attrs.prependTo);}};});SimpleHelpers.filter('classify',function(){return function(input){if(input){return input.toLowerCase().replace(/[^a-z]+/g,'_');}return'';};});SimpleHelpers.directive("portraitOrLandscape",function($rootScope){return{restrict:"A",link:function(scope,element,attrs){var detect,only_once,ref;only_once=(ref=attrs.setOnlyOnce!==void 0)!=null?ref:{"true":false};detect=function(){if($window.height()>$window.width()){element.addClass('portrait');return element.removeClass('landscape');}else{element.addClass('landscape');return element.removeClass('portrait');}};if(only_once){detect($rootScope.window_properties);}else{$rootScope.on_window_resize=function(){return detect();};}return detect();}};});SimpleHelpers.directive("activeTrail",function($location){return{restrict:"A",link:function(scope,element,attrs){var links,set_active_trail;links=element.find('a');set_active_trail=function(){return angular.forEach(links,function(link){var uri;link=$(link);uri=URI();if(link.attr('href')===uri.path()){return link.addClass('active');}else{return link.removeClass('active');}});};set_active_trail();return scope.$on('$routeChangeSuccess',function(current){return set_active_trail();});}};});SimpleHelpers.directive("cycleChildren",function(){return{restrict:"A",link:function(scope,element,attrs){var autoPlay,children,cycleNav,i,navButtons,showSlide,timeout;autoPlay=parseInt(attrs.autoPlay);children=element.find('> *');timeout=null;i=0;if(children.length>1){cycleNav=$('
                    ');angular.forEach(children,function(){return cycleNav.append('
                  • ');});cycleNav.appendTo(element);cycleNav.on('click','li',function(){return showSlide($(this).index());});navButtons=cycleNav.find('li');}showSlide=function(i){if(i>children.length-1){i=0;}clearTimeout(timeout);if(navButtons){navButtons.removeClass('active').eq(i).addClass('active');}children.removeClass('active').eq(i).addClass('active');if(autoPlay&&children.length>1){return timeout=setTimeout(function(){return showSlide(i+1);},autoPlay);}};return children.eq(0).on('loaded',function(){showSlide(i);return element.addClass('active');});}};});SimpleHelpers.directive("tabbedContent",function(){return{restrict:"A",link:function(scope,element,attrs){var links,panels;links=element.find('a');panels=$(attrs.tabbedContent+' [panel]');links.click(function(){links.removeClass('active');$(this).addClass('active');panels.removeClass('active').filter('[panel='+$(this).attr('panel')+']').addClass('active');$window.trigger('resize');return false;});return links.eq(0).trigger('click');}};});SimpleHelpers.directive("osSpecificLink",function(){return{restrict:"A",link:function(scope,element,attrs){return $window.load(function(){var href,os,re;os=platform.os.family.toLowerCase();re=new RegExp("windows|mac|linux","g");href=element.attr('href');if(os.indexOf('windows')>-1){element.attr('href',href.replace(re,'windows'));}if(os.indexOf('mac')>-1){return element.attr('href',href.replace(re,'mac'));}else if(os.indexOf('linux centos debian fedora gentoo gnewsense kubuntu mandriva mageia mandriva red hat slackware suse turbolinux ubuntu limo')>-1){return element.attr('href',href.replace(re,'linux'));}});}};});json_action=function(actions,element){var delay,speed,transition;transition=actions.animate;delay=actions.delay||0;if(transition){speed=transition.speed||700;delete transition.speed;setTimeout(function(){return element.velocity(transition,speed);},delay);}if(actions["class"]){element.addClass(actions["class"]);}if(actions.play_video){return element.get(0).play();}};var Docker;window.Docker=Docker=angular.module('Docker',['SimpleHelpers','ngSanitize','ngAnimate','ngTouch']);Docker.controller('DockerController',function($rootScope,$scope){var getCookie,userName;init_root($scope,$rootScope);$rootScope.on_window_resize(function(){if($('#content').height()+$('footer').height()+20<$window.height()){return $body.addClass('short');}else{return $body.removeClass('short');}},true);getCookie=function(cname){var c,ca,cookie,i,len,name;name=cname+"=";ca=document.cookie.split(';');for(i=0,len=ca.length;ii&&connections<=3){loadIframe();}return iframe.load(function(){connections-=1;if(repos.length>i&&connections<=3){return loadIframe();}});};loadIframe();fuzzyMatch=function(str,pattern){pattern=pattern.split("").reduce(function(a,b){return a+".* "+b;});return(new RegExp(pattern)).test(str);};return $scope.filterRepos=function(){repos.each(function(){if($(this).attr('name').score($scope.searchString)>.2||!$scope.searchString){return $(this).show();}else{return $(this).hide();}});};});Docker.controller('SelectContentController',function($scope,$rootScope,$element,$timeout){$scope.$watch('selectData',function(newValue,oldValue){if(newValue){$scope.selectOptions=newValue.split(',');$scope.displayedContent=$scope.selectOptions[0];return $scope.ChangeContent();}});return $scope.ChangeContent=function(){var i;i=$('option[label="'+this.displayedContent+'"]').index();if($('option[label="'+this.displayedContent+'"]').index()==-1){i=0;}$element.find('.select-content').hide().eq(i).show();};});Docker.controller('TeamController',function($scope,$rootScope,$element,$timeout){var links,select;links=$element.find('a[href^="#"]');select=null;$('#grnhse_iframe').load(function(){return select=$('#grnhse_iframe').contents().find('#departments-select');});return links.click(function(){var evt,team,val;$('html, body').animate({scrollTop:$("#grnhse_iframe").offset().top-100},750);if(select){team=$(this).attr('href').replace('#','');val=select.find('option:contains("'+team+'")').attr('value');select.val(val);if(document.createEvent!=null){evt=document.createEvent("HTMLEvents");evt.initEvent("change",false,true);select.get(0).dispatchEvent(evt);}else{select.get(0).fireEvent("onchange");}}return false;});});Docker.controller('ManagementController',function($scope,$rootScope,$element,$timeout){$(window).on('load resize',function(){if(Modernizr.mq('only screen and (min-width: 58.8125em)')){return $scope.columns=4;}else if(Modernizr.mq('only screen and (min-width: 40.0625em)')){return $scope.columns=3;}else{return $scope.columns=2;}});return $('a.more').click(function(){var columns,details,n,parent_li,parent_ul,row;$('.current').remove();$('.selected').removeClass('selected');parent_ul=$(this).parents('ul');parent_li=$(this).parents('li');details=parent_li.find('.bio-details').clone();n=parent_li.index();columns=$scope.columns;row=Math.floor(n/$scope.columns)+1;$(this).parents('li').addClass('selected');if((parent_ul.find('li').eq(row*columns-1)[0])){return details.insertAfter(parent_ul.find('li').eq(row*columns-1)).addClass('current');}else{return details.insertAfter(parent_ul.find('li:last-child')).addClass('current');}});});Docker.controller('PartnersController',function($scope,$rootScope,$element,$timeout){var content;content=$('.page-content > .row').offset().top-30;return $(window).scroll(function(){if(content<$(window).scrollTop()&&Modernizr.mq('only screen and (min-width: 58.8125em)')){return $('.page-content .large-3 ul').addClass('fixed-bar');}else{return $('.page-content .large-3 ul').removeClass('fixed-bar');}});});Docker.controller('NewsController',function($scope,$rootScope,$timeout){var newsPage;$scope.moreNews=true;newsPage=1;$scope.news=[];return $scope.loadMore=function(type){return $.get('/api/news-and-press?type='+type+'&page='+newsPage,function(response){if(response){newsPage+=1;response=$.parseJSON(response);$scope.moreNews=response.more;$scope.news=$scope.news.concat(response.news);return $scope.$apply();}});};});Docker.controller('SocialCountController',function($scope,$rootScope,$timeout){return $(window).load(function(){return $('.social a').click(function(e){window.social=$(this).attr('class');window.project=$(this).parents('.hack_idea').attr('id');return $.ajax({type:"POST",url:'/count/'+window.project+'/'+window.social,async:true,cache:false,success:function(response){return window.project=window.social='';}});});});}); \ No newline at end of file diff --git a/js/anchorlinks.js b/js/anchorlinks.js deleted file mode 100644 index 8307fe68e3fb..000000000000 --- a/js/anchorlinks.js +++ /dev/null @@ -1,12 +0,0 @@ -(function(d) { - "use strict"; - var hs = d.getElementById("DocumentationText").querySelectorAll("H1, H2, H3"), h; - - for (var i = 0; i < hs.length; i++) { - h = hs[i]; - if (h.id != null && h.id.length > 0) { - h.insertAdjacentHTML('beforeend', '') - } - } - -})(document); diff --git a/js/app.js b/js/app.js deleted file mode 100644 index 549de8b8b6ac..000000000000 --- a/js/app.js +++ /dev/null @@ -1,717 +0,0 @@ -jQuery(document).foundation({ - equalizer : { - equalize_on_stack: true - } -}); -wow = new WOW( - { - boxClass: 'wow', // default - animateClass: 'animated', // default - offset: 200, // default - mobile: false, // default - live: true // default - } -) -$(document).ready(loadRetina); -$(window).resize(loadRetina); -function loadRetina() { - if(window.devicePixelRatio > 1) { - $('html,body').addClass('retina-display'); - } else { - $('html,body').removeClass('retina-display'); - } -} -function isRetina(){ - return ((window.matchMedia && (window.matchMedia('only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx), only screen and (min-resolution: 75.6dpcm)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)').matches)) || (window.devicePixelRatio && window.devicePixelRatio >= 2)) && /(iPad|iPhone|iPod)/g.test(navigator.userAgent); -} -if(isRetina()){ - $('html').addClass('is_retina'); -} -else { - $('html').addClass('is_not_retina'); -} - -wow.init(); -$('section.section h2').each(function() { - if ($(this).siblings('p').size() > 0){ } else { $(this).addClass('marginBottom40'); } -}); -$("div.dockercon16").children().last().append(" "); -if (!$('.dockercon16 section').hasClass('title_section')){ - $('.main-header').addClass('backgroundimage'); -} - if ($('.heronav_section').length > 0) { - $('.heronav_section').affix({ - offset: { - top:$(".heronav_section").offset().top, - bottom: $('footer').outerHeight(true) - } - }); - } - if ($('.sidebarnav_section').length > 0) { - $('.sidebarnav_section').affix({ - offset: { - top:$(".sidebarnav_section").offset().top -25, - bottom: $('footer').outerHeight(true) + $('.sidebarnav_section').outerHeight(true) - } - }); - } -jQuery.each( jQuery.browser, function( i, val ) { - $('html').addClass(i, val); -}); -$('#job-content a.apply_button').on('click', function() { - $.smoothScroll({scrollTarget: '#application'}); - }); -$(document).on('click', 'a[href*="#"]:not(.noanchor , .find_a_partner_section .cbp-caption-defaultWrap, .strategic_alliances_tabs li a, .docker_captian_section .cbp-caption-defaultWrap, .government_partners_tabs li a, #job-content a)', function() { - if ( this.hash && this.pathname === location.pathname ) { - $.bbq.pushState( '#/' + this.hash.slice(1) ); - return false; - } - }).ready(function() { - $(window).bind('hashchange', function(event) { - var tgt = location.hash.replace(/^#\/?/,''); - if ( document.getElementById(tgt) ) { - if ($('body').hasClass('node-type-products') || $('body').hasClass('node-type-product') || $('body').hasClass('node-type-use-cases') || $('body').hasClass('node-type-use-case') || $('body').hasClass('node-type-enterprise') || $('body').hasClass('node-type-government') || $('body').hasClass('node-type-partners') || $('body').hasClass('node-type-partner-programs') || $('body').hasClass('node-type-support-services') || $('body').hasClass('node-type-careers') || $('body').hasClass('node-type-careers-department') || $('body').hasClass('node-type-what-is-docker') || $('body').hasClass('node-type-product-editions') || $('body').hasClass('node-type-projects')) { - if ($(window).width() > 991 ) { - $('html,body').animate({ scrollTop: $('#' + tgt).offset().top - 51}, 'slow'); - } else if($(window).width() > 768 && $(window).width() < 991 ) { - $('html,body').animate({ scrollTop: $('#' + tgt).offset().top - 51}, 'slow'); - } else { - $('html,body').animate({ scrollTop: $('#' + tgt).offset().top - 51}, 'slow'); - } - } else { - $.smoothScroll({scrollTarget: '#' + tgt}); - } - } - }); - $(window).trigger('hashchange'); - }); -(function($) { - $('.bsr-item-detail').hide(); - $('.bsr-item').on('click', function(e) { - e.preventDefault(); - // find the target of the clicked anchor tag - var targetBSR = $(this).find('a')[0].hash; - var parentBSR = $(this); - // hide detail containers, not the the current target - $('.bsr-item-detail').not(targetBSR).hide(); - // toggle current target detail container - $(targetBSR).slideToggle(); - - // toggle parent active class - if (parentBSR.hasClass('is-active')) { - parentBSR.removeClass('is-active'); - } - else { - // wipe out all other active classes - $('.bsr-item').each(function() { - $(this).removeClass('is-active'); - }); - // add active class to the current parent - parentBSR.addClass('is-active'); - } - }); - $('.quotes_slider').flexslider({ - animation: "slide", - directionNav: false - }); - $('.CTA_section').each(function() { - $(this).children('.mheight').matchHeight(); - }); - $('.CTA_section .row').each(function() { - $(this).children('.CTA_item').matchHeight(); - }); - $('.resources_items.row').each(function() { - $(this).children('.resources_link').matchHeight(); - }); - $('.mhp').each(function() { - $(this).children('.mhc').matchHeight(); - }); - $('a[target="_video"]').magnificPopup({ - midClick: true, - type: 'iframe', - mainClass: 'mfp-fade', - removalDelay: 160, - preloader: false, - disableOn: 280, - fixedContentPos: false - }); - $('a[rel="video"]').magnificPopup({ - midClick: true, - type: 'iframe', - mainClass: 'mfp-fade', - removalDelay: 160, - preloader: false, - disableOn: 280, - fixedContentPos: false - }); -$(window).load(function() { - $(window).trigger("resize"); -}); -$(window).resize(function() { - $('body>.off-canvas-wrap').css('min-height', $(window).height() - ($('.main-footer').outerHeight(true) + $('section.title_section').outerHeight(true) + 200)); - var maxHeight_title = -1; - maxHeight_title = maxHeight_title > $(".ibm_solutions .title").height() ? maxHeight_title : $(".ibm_solutions .title").height(); - $(".ibm_solutions .title").height(maxHeight_title); - var maxHeight_body = -1; - - maxHeight_body = maxHeight_body > $(".ibm_solutions .body").height() ? maxHeight_body : $(".ibm_solutions .body").height(); - $(".ibm_solutions .body").height(maxHeight_body); - - var maxHeight_productbox = -1; - $('.docker_solutions_section .media').each(function() { - maxHeight_productbox = maxHeight_productbox > $(this).height() ? maxHeight_productbox : $(this).height(); - }); - $('.docker_solutions_section .media').each(function() { - $(this).height(maxHeight_productbox); - }); - - var maxHeight_productboxul = -1; - $('.docker_solutions_section .body_box ul').each(function() { - maxHeight_productboxul = maxHeight_productboxul > $(this).height() ? maxHeight_productboxul : $(this).height(); - }); - $('.docker_solutions_section .body_box ul').each(function() { - $(this).height(maxHeight_productboxul); - }); - - var maxHeight_productpricing = -1; - $('section.pricing_product_section .plan_box .header').each(function() { - maxHeight_productpricing = maxHeight_productpricing > $(this).height() ? maxHeight_productpricing : $(this).height(); - }); - $('section.pricing_product_section .plan_box .header').each(function() { - $(this).height(maxHeight_productpricing); - }); - - var maxHeight_productdemo = -1; - $('section.demo_product_section .items li .mheight').each(function() { - maxHeight_productdemo = maxHeight_productdemo > $(this).height() ? maxHeight_productdemo : $(this).height(); - }); - $('section.demo_product_section .items li .mheight').each(function() { - $(this).height(maxHeight_productdemo); - }); - - var maxHeight_productuse = -1; - $('section.use_product_section .items li .mheight').each(function() { - maxHeight_productuse = maxHeight_productuse > $(this).height() ? maxHeight_productuse : $(this).height(); - }); - $('section.use_product_section .items li .mheight').each(function() { - $(this).height(maxHeight_productuse); - }); -}).trigger("resize"); - -$(window).load(function() { - var maxHeight_use_cases_overview_h3 = -1; - $('section.use_cases_section .items li .item-link').each(function() { - maxHeight_use_cases_overview_h3 = maxHeight_use_cases_overview_h3 > $(this).height() ? maxHeight_use_cases_overview_h3 : $(this).height(); - }); - $('section.use_cases_section .items li .item-link').each(function() { - $(this).height(maxHeight_use_cases_overview_h3 + 15); - }); - - var maxHeight_use_cases_overview_p = -1; - $('section.use_cases_section .items li p').each(function() { - maxHeight_use_cases_overview_p = maxHeight_use_cases_overview_p > $(this).height() ? maxHeight_use_cases_overview_p : $(this).height(); - }); - $('section.use_cases_section .items li p').each(function() { - $(this).height(maxHeight_use_cases_overview_p); - }); -}); -$(".plans_tabs ul a").click(function(event) { - event.preventDefault(); - var tab = $(this).attr("href"); - $(this).parent().addClass("current").siblings().removeClass("current"); - $(tab).addClass("current").fadeIn().siblings('.plans').removeClass("current").hide(); -}); -$('.faq-body').each(function() { - $(this).parent('.faq').addClass('collapsible'); -}); -$(".faqs-group").on( "click", ".faq-title", function(e) { - e.preventDefault(); - var $FAQ = $(this).parent(".faq"), $FAQz = $(".faq").not($FAQ); - $FAQ.toggleClass("active"); - $(".faq-body",$FAQ).slideToggle(300) - $FAQz.removeClass("active"); - $(".faq-body",$FAQz).slideUp(300); -}); -if ($(window).width() > 1199) { - $(".faqs_section .faqs-group").height($(".faqs-group .col-xs-12").outerHeight(true) + 120); - } else if ($(window).width() < 1200 && $(window).width() > 991) { - $(".faqs_section .faqs-group").height($(".faqs-group .col-xs-12").outerHeight(true) + 180); - } else if ($(window).width() < 992 && $(window).width() > 767) { - $(".faqs_section .faqs-group").height($(".faqs-group .col-xs-12").outerHeight(true) + 190); - } else { - $(".faqs_section .faqs-group").height($(".faqs-group .col-xs-12").outerHeight(true) + $(".faqs-group .col-xs-12").outerHeight(true) + 70); - } - - -var sliderRepoMap = [1, 5, 10, 20, 50, 100, 250] -, RepoSlider = $( "#RepoSlider" ) -, CmSupport = $("#RepoCommercialSupport") -, CrSupport = $("#RepoCriticalSupport") -, BuyButtontxt -, BuyButtonURL -, Repos -, RepoPrice -, RepoPricing -, PricingInfo -, RepoSliderVal; - - RepoSlider.slider({ - value: 3, - min: 0, - max: sliderRepoMap.length-1, - slide: function( event, ui ) { - RepoPlans(ui.value) - CmSupport.prop('checked', false).prop('disabled', false); - CrSupport.prop('checked', false); - $.bbq.pushState( '#/repo-' + sliderRepoMap[ui.value] ); - }, - change :function( event, ui ) { - RepoPlans(RepoSlider.slider('value')) - $.bbq.pushState( '#/repo-' + sliderRepoMap[RepoSlider.slider('value')] ); - } - }).slider("pips", { - rest: "label", - labels: sliderRepoMap - }); -$("#RepoSlider.ui-slider-pips .ui-slider-label").on( "click", function(e) { - CmSupport.prop('checked', false).prop('disabled', false); - CrSupport.prop('checked', false); -}); -/* SVEN SAYS NO -$(window).on('load', RepoPlans(RepoSlider.slider('value'))); -function RepoPlans(RepoSliderValue) { - RepoSliderVal = RepoSliderValue; - if(RepoSliderVal == 0){ - RepoPrice = 0; - RepoPricing = RepoPricing_free; - BuyButtontxt = buybuttontxt_signup; - } else if(RepoSliderVal < 4) { - RepoPrice = parseFloat(sliderRepoMap[RepoSliderVal]) + 2; - RepoPricing = '$ ' + RepoPrice + ' / month'; - BuyButtontxt = BuyButtontxt_buy; - } else { - RepoPrice = parseFloat(sliderRepoMap[RepoSliderVal]); - RepoPricing = '$ ' + RepoPrice + ' / month'; - BuyButtontxt = BuyButtontxt_buy; - } - if(RepoSliderVal == 0) { - BuyButtonURL = BuyButtonURL_0; - } else if(RepoSliderVal == 1) { - BuyButtonURL = BuyButtonURL_1; - } else if(RepoSliderVal == 2) { - BuyButtonURL = BuyButtonURL_2; - } else if(RepoSliderVal == 3) { - BuyButtonURL = BuyButtonURL_3; - } else if(RepoSliderVal == 4) { - BuyButtonURL = BuyButtonURL_4; - } else if(RepoSliderVal == 5) { - BuyButtonURL = BuyButtonURL_5; - } else if(RepoSliderVal == 6) { - BuyButtonURL = BuyButtonURL_6; - } else { - BuyButtonURL = BuyButtonURL_0; - } - Repos = sliderRepoMap[RepoSliderVal]; - if(RepoSliderVal == 0) { - PricingInfo = '
                  • '+Repos+PricingInfo_freeText+'
                  • '; - } else { - PricingInfo = '
                  • '+Repos+PricingInfo_Text+'
                  • '; - } - $('#PricingInfo').html(PricingInfo); - $('#RepoBuyButton').text(BuyButtontxt); - $('#RepoBuyButton').attr('href', BuyButtonURL); - $('#RepoPricing').html(RepoPricing); -} - -$(CmSupport).on('change', RepoCommercialSupport); -function RepoCommercialSupport() { - RepoSliderVal = RepoSlider.slider('value'); - RepoSlider.slider('value', 3); - if((CmSupport).is(':checked')) { - Repos = sliderRepoMap[RepoSliderVal]; - RepoPrice = 150; - RepoPricing = '$ ' + RepoPrice + ' / month'; - BuyButtontxt = BuyButtontxt_buy; - BuyButtonURL = BuyButtonURL_cloud_starter; - PricingInfo = '
                  • '+Repos+PricingInfo_CommercialSupportText+'
                  • '; - $('#PricingInfo').html(PricingInfo); - $('#RepoBuyButton').text(BuyButtontxt); - $('#RepoBuyButton').attr('href', BuyButtonURL); - $('#RepoPricing').html(RepoPricing); - $.bbq.pushState( '#/repo-commercial-support' ); - } else { - RepoPlans(RepoSlider.slider('value')); - RepoSlider.slider('enable'); - $.bbq.pushState( '#/repo-' + sliderRepoMap[RepoSlider.slider('value')] ); - } -} - -$(CrSupport).on('change', RepoCriticalSupport); -function RepoCriticalSupport() { - RepoSliderVal = RepoSlider.slider('value'); - RepoSlider.slider('value', 3); - if((CrSupport).is(':checked')) { - CmSupport.prop('checked', true).prop('disabled', true); - Repos = sliderRepoMap[RepoSliderVal]; - RepoPricing = RepoPricing_CriticalSupport; - BuyButtontxt = buybuttontxt_quote; - BuyButtonURL = BuyButtonURL_inquiry; - PricingInfo = '
                  • '+Repos+PricingInfo_CriticalSupportText+'
                  • '; - $('#PricingInfo').html(PricingInfo); - $('#RepoBuyButton').text(BuyButtontxt); - $('#RepoBuyButton').attr('href', BuyButtonURL); - $('#RepoPricing').html(RepoPricing); - $.bbq.pushState( '#/repo-critical-support' ); - } else { - CmSupport.prop('disabled', false); - RepoCommercialSupport(); - } -} -if(window.location.hash.match('repo-') != null) { - var repopkg = location.hash.replace(/^#\/repo-?/,''); -// alert(repopkg); - if(repopkg == 'commercial-support') { - $('a[href*="#tab-cloud"]').parent().addClass("current").siblings().removeClass("current"); - $('#tab-cloud').addClass("current").fadeIn().siblings('.plans').removeClass("current").hide(); - CmSupport.prop('checked', true); - RepoCommercialSupport(); - } else if (repopkg == 'critical-support') { - $('a[href*="#tab-cloud"]').parent().addClass("current").siblings().removeClass("current"); - $('#tab-cloud').addClass("current").fadeIn().siblings('.plans').removeClass("current").hide(); - CrSupport.prop('checked', true); - RepoCriticalSupport(); - } else { - repopkg = jQuery.inArray( parseFloat(repopkg), sliderRepoMap ); - $('a[href*="#tab-cloud"]').parent().addClass("current").siblings().removeClass("current"); - $('#tab-cloud').addClass("current").fadeIn().siblings('.plans').removeClass("current").hide(); - RepoSlider.slider('value', repopkg); - } -} - -if(window.location.hash === "#/forcloud" || window.location.hash === "#forcloud" || window.location.hash === "#/forserver" || window.location.hash === "#forserver") { - var tab = location.hash.replace(/^#\/for?/,'#tab-'); - $('a[href*="'+tab+'"]').parent().addClass("current").siblings().removeClass("current"); - $(tab).addClass("current").fadeIn().siblings('.plans').removeClass("current").hide(); -} - -$('.products-items').each(function() { - $(this).children('li').matchHeight(); - }); -$(".nolinkhere").on('click', function(e) { - e.preventDefault(); -}); -$('.ibm_solutions').each(function() { - $(this).children('.ibm_solution').matchHeight(); - }); - -$(window).load(function() { - var isoOptions = { - itemSelector : '.events_region', - masonry: { - columnWidth: '.col-md-6' - } - }; - var $grid = $('.events_section .events_regions').isotope( isoOptions ); - $('.event-search input.ng-valid').on('keyup', function() { - if ($(".events_regions .events_region").siblings().size() > 1) { - $('.events_regions .events_region').removeClass('row'); - $('.events_regions .events_region').addClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .media.events_item').removeClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .events_region_name').removeClass('col-xs-12 col-md-12'); - $('.events_regions').removeClass('margintop55'); - $grid.isotope('destroy'); - // $grid.isotope('reloadItems') - $grid.isotope({ - itemSelector : '.events_region', - masonry: { - columnWidth: '.col-md-6' - } - }); - } else { - $('.events_regions .events_region').addClass('row'); - $('.events_regions .events_region').removeClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .media.events_item').addClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .events_region_name').addClass('col-xs-12 col-md-12'); - $('.events_regions').addClass('margintop55'); - $grid.isotope('destroy'); - $grid.isotope({ - itemSelector : '.events_region .events_item', - masonry: { - columnWidth: '.col-md-6' - } - }); - } - - setTimeout(function(){ $grid.isotope('layout'); }, 2000); - }); - $('.event-search select.ng-valid').on('change', function() { - if ($(".events_regions .events_region").siblings().size() > 1) { - $('.events_regions .events_region').removeClass('row'); - $('.events_regions .events_region').addClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .media.events_item').removeClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .events_region_name').removeClass('col-xs-12 col-md-12'); - $('.events_regions').removeClass('margintop55'); - $grid.isotope('destroy'); - $grid.isotope({ - itemSelector : '.events_region', - masonry: { - columnWidth: '.col-md-6' - } - }); - - } else { - $('.events_regions .events_region').addClass('row'); - $('.events_regions .events_region').removeClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .media.events_item').addClass('col-xs-12 col-sm-6 col-md-6'); - $('.events_regions .events_region .events_region_name').addClass('col-xs-12 col-md-12'); - $('.events_regions').addClass('margintop55'); - $grid.isotope('destroy'); - $grid.isotope({ - itemSelector : '.events_region .events_item', - masonry: { - columnWidth: '.col-md-6' - } - }); - - } - - setTimeout(function(){ $grid.isotope('layout'); }, 2000); - }); -}); -$('a[href="#toptop"]').click(function () { - $('body,html').animate({ - scrollTop: 0 - }, 800); - return false; - }); - -$(window).load(function() { - $('.resources_video_slider , .demo_product_section, .rest_apis_product_section, .customer_spotlight_section ').flexslider({ - selector: ".slides > .slide", - animation: "fade", - controlNav: true, - directionNav: false - }); - $('.technology_partners_section, .program_benefits_section').each(function() { - $(this).children('li').matchHeight(); - }); -}); -$('.products_items').each(function() { - $(this).children('li').matchHeight(); - }); -$('.product_features_product_section ul.items ').each(function() { - $(this).children('li').matchHeight(); - }); -$('.pricing_product_section .plan_boxes').each(function() { - $(this).children('.plan_box').matchHeight(); - }); -$('.GenericDev .items').each(function() { - $(this).children('li').matchHeight(); - }); -$('.quotes_use_cases_slider').flexslider({ - animation: "slide", - directionNav: true, - controlNav: false - }); -$('.quotes_2_slider').flexslider({ - animation: "slide", - directionNav: true, - controlNav: false - }); -$('.off-canvas-list li.has-submenu').prepend(''); - -$(".strategic_alliances_tabs ul a").click(function(event) { - event.preventDefault(); - var tab = $(this).attr("href"); - $(this).parent().addClass("current").siblings().removeClass("current"); - $(tab).addClass("current").fadeIn().siblings('.strategic_alliances').removeClass("current").hide(); - }); -$(".government_partners_tabs ul a").click(function(event) { - event.preventDefault(); - var tab = $(this).attr("href"); - $(this).parent().addClass("current").siblings().removeClass("current"); - $(tab).addClass("current").fadeIn().siblings('.government_partners').removeClass("current").hide(); - }); -*/ - /* ===================== 1 Mar =====================*/ -$(".find_a_partner_section ul.partners_list li.no_info a.cbp-singlePageInline.cbp-nocontent").click(function() { - var asdasd= $(this); - $(asdasd).parents('#grid-container').addClass('nomore').removeClass('nomore2'); - }); - $(".find_a_partner_section ul.partners_list li a.cbp-singlePageInline.cbp-hascontent").click(function() { - var qweqwe= $(this); - $(qweqwe).parents('#grid-container').addClass('nomore2').removeClass('nomore'); - }); - -$(window).load(function() { - - $('.scoopit-fulltheme-col1').masonry({ - columnWidth: '.scoopit-fulltheme-scoop-wrapper', - itemSelector: '.scoopit-fulltheme-scoop-wrapper' - }); - -}); -function getUrlVars() -{ - var vars = [], hash; - var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); - for(var i = 0; i < hashes.length; i++) - { - hash = hashes[i].split('='); - vars.push(hash[0]); - vars[hash[0]] = hash[1]; - } - return vars; -} -var captains_page = getUrlVars()["page"]; -var captains_id = getUrlVars()["id"]; -if(captains_id){ - var captains_item = captains_id.replace("info", "item"); -} -$(window).load(function() { - if (captains_page == 'captains'){ - $('#' + captains_id).click(); - $('html,body').animate({ scrollTop: $('#' + captains_item).offset().top - 20}, 'slow'); - } -}); - -})(jQuery); -(function ($, window, document, undefined) { - - var gridContainer = $('#grid-container,#grid-container2'); - var captiansContainer = $('#captians-container'); - - // init cubeportfolio - gridContainer.cubeportfolio({ - - animationType: 'rotateSides', - - gapHorizontal: 30, - - gapVertical: 30, - - gridAdjustment: 'responsive', - - caption: '', - - displayType: 'sequentially', - - displayTypeSpeed: 100, - - // lightbox - lightboxDelegate: '.cbp-lightbox', - lightboxGallery: true, - lightboxTitleSrc: 'data-title', - lightboxShowCounter: true, - - // singlePage popup - singlePageDelegate: '.cbp-singlePage', - singlePageDeeplinking: true, - singlePageStickyNavigation: true, - singlePageShowCounter: true, - singlePageCallback: function (url, element) { - // to update singlePage content use the following method: this.updateSinglePage(yourContent) - }, - - // singlePageInline - singlePageInlineDelegate: '.cbp-singlePageInline', - singlePageInlinePosition: 'below', - singlePageInlineShowCounter: true, - singlePageInlineCallback: function(url, element) { - - // to update singlePageInline content use the following method: this.updateSinglePageInline(yourContent) - var t = this; - if($(url).length == 0) { - return false; - } else { - var cont = $(url).html(); - t.updateSinglePageInline(cont); - } - - } - }); - - captiansContainer.cubeportfolio({ - - animationType: 'rotateSides', - - gapHorizontal: 30, - - gapVertical: 12, - - gridAdjustment: 'responsive', - - caption: '', - - displayType: 'sequentially', - - displayTypeSpeed: 100, - - // lightbox - lightboxDelegate: '.cbp-lightbox', - lightboxGallery: true, - lightboxTitleSrc: 'data-title', - lightboxShowCounter: true, - - // singlePage popup - singlePageDelegate: '.cbp-singlePage', - singlePageDeeplinking: true, - singlePageStickyNavigation: true, - singlePageShowCounter: true, - singlePageCallback: function (url, element) { - // to update singlePage content use the following method: this.updateSinglePage(yourContent) - }, - - // singlePageInline - singlePageInlineDelegate: '.cbp-singlePageInline', - singlePageInlinePosition: 'below', - singlePageInlineShowCounter: true, - singlePageInlineCallback: function(url, element) { - - // to update singlePageInline content use the following method: this.updateSinglePageInline(yourContent) - var t = this; - if($(url).length == 0) { - return false; - } else { - var cont = $(url).html(); - t.updateSinglePageInline(cont); - } - - } - - }); - - $('#media_viewmore').on('click', function(e) { - e.preventDefault(); - var offset = $('#data_offset').text() - , list_length = $('#data_list_length').text() - , nxtoffset = parseFloat(offset) + 10 - , url = '/api/docker_captains/'+offset; - $.get(url).done(function( result ) { - var items, itemsNext; - // find current container - items = $(result).filter( function () { - return $(this).is('ul.cbp-loadMore-loop'); - }); - bios = $(result).filter( function () { - return $(this).is('div.cbp-loadMore-bio'); - }); - captiansContainer.cubeportfolio('appendItems', items.html(), - function () { - // check if we have more works - /* - itemsNext = $(result).filter( function () { - return $(this).is('ul' + '.cbp-loadMore'); - }); - */ - }); - $('#cbp-loadMore-bio').append(bios.html()); - // $('#media-library-loop').append(result); - $('#data_offset').text(nxtoffset); - if(nxtoffset >= list_length) { - $('#media_viewmore').hide(); - } - }); - }); - -})(jQuery, window, document); diff --git a/js/bootstrap.min.js b/js/bootstrap.min.js deleted file mode 100644 index e79c065134f2..000000000000 --- a/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.6 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
                    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/js/echo.515e8809.js b/js/echo.515e8809.js deleted file mode 100644 index 2517d3526081..000000000000 --- a/js/echo.515e8809.js +++ /dev/null @@ -1 +0,0 @@ -!function(t){function r(o){if(c[o])return c[o].exports;var e=c[o]={exports:{},id:o,loaded:!1};return t[o].call(e.exports,e,e.exports,r),e.loaded=!0,e.exports}var c={};return r.m=t,r.c=c,r.p="https://js.intercomcdn.com/",r(0)}([function(t,r){"use strict";function c(t){o&&o[t]&&o[t]()}var o=window.parent;try{c("intercomEchoSuccess")}catch(e){c("intercomEchoFailure")}}]); \ No newline at end of file diff --git a/js/fbevents.js b/js/fbevents.js deleted file mode 100644 index 7bdd76aafd86..000000000000 --- a/js/fbevents.js +++ /dev/null @@ -1,9 +0,0 @@ -/*1465437918,,JIT Construction: v2382617,en_US*/ - -/** - * Copyright Facebook Inc. - * - * Licensed under the Apache License, Version 2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - */ -try {(function(a,b,c,d){'use strict';var e="2.5.0",f='https://www.facebook.com/tr/',g='/fbevents.',h={IDENTITY:'plugins.identity.js'},i={},j=[],k=null,l=null,m=/^\d+$/,n={allowDuplicatePageViews:false},o=function(ra){var sa={exports:ra};'use strict';var ta='deep',ua='shallow';function va(){this.list=[];}va.prototype={append:function(xa,ya){this._append(encodeURIComponent(xa),ya,ta);},_append:function(xa,ya,za){if(Object(ya)!==ya){this._appendPrimitive(xa,ya);}else if(za===ta){this._appendObject(xa,ya);}else this._appendPrimitive(xa,wa(ya));},_appendPrimitive:function(xa,ya){if(ya!=null)this.list.push([xa,ya]);},_appendObject:function(xa,ya){for(var za in ya)if(ya.hasOwnProperty(za)){var ab=xa+'['+encodeURIComponent(za)+']';this._append(ab,ya[za],ua);}},each:function(xa){var ya=this.list;for(var za=0,ab=ya.length;za(f+'?'+wa).length){la(f,wa);}else ma(f,ua);}function la(ra,sa){var ta=new Image();ta.src=ra+'?'+sa;}function ma(ra,sa){var ta='fb'+Math.random().toString().replace('.',''),ua=b.createElement('form');ua.method='post';ua.action=ra;ua.target=ta;ua.acceptCharset='utf-8';ua.style.display='none';var va=!!(a.attachEvent&&!a.addEventListener),wa=va?'