diff --git a/contrib/build_docs.sh b/contrib/build_docs.sh index 5fd2621..8df370c 100755 --- a/contrib/build_docs.sh +++ b/contrib/build_docs.sh @@ -1,9 +1,9 @@ #!/usr/bin/bash DOCS=${1:-$HOME/podman-docs} -HTML=${2:-/tmp/html} -DOCS_TMP=${3:-/tmp/docs} - +COLL_DIR="/tmp/docs_new_path/ansible_collections/containers/podman" +DOCS_TMP="${COLL_DIR}/tmpdocs" +HTML="${DOCS_TMP}/build/html" # Build current collection rm -rf /tmp/docs_new_collection @@ -15,11 +15,14 @@ pushd /tmp/docs_new_path/ansible_collections/containers/podman mkdir -p $DOCS_TMP chmod g-w $DOCS_TMP -ANSIBLE_COLLECTIONS_PATH=../../../ antsibull-docs collection --use-current --squash-hierarchy --dest-dir $DOCS_TMP containers.podman +ANSIBLE_COLLECTIONS_PATH=../../../ antsibull-docs sphinx-init --use-current --dest-dir $DOCS_TMP containers.podman cd $DOCS_TMP -echo "extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx_antsibull_ext']" > conf.py -sphinx-build . $HTML +python -m venv .env +source .env/bin/activate +pip install -r requirements.txt +./build.sh rm -rf "$HTML/_sources" "$HTML/.buildinfo" "$HTML/.doctrees" -popd cp -r $HTML/* $DOCS/ +popd + diff --git a/docs/_static/_sphinx_javascript_frameworks_compat.js b/docs/_static/_sphinx_javascript_frameworks_compat.js index 8549469..8141580 100644 --- a/docs/_static/_sphinx_javascript_frameworks_compat.js +++ b/docs/_static/_sphinx_javascript_frameworks_compat.js @@ -1,20 +1,9 @@ -/* - * _sphinx_javascript_frameworks_compat.js - * ~~~~~~~~~~ - * - * Compatability shim for jQuery and underscores.js. - * - * WILL BE REMOVED IN Sphinx 6.0 - * xref RemovedInSphinx60Warning +/* Compatability shim for jQuery and underscores.js. * + * Copyright Sphinx contributors + * Released under the two clause BSD licence */ -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - - /** * small helper function to urldecode strings * diff --git a/docs/_static/antsibull-minimal.css b/docs/_static/antsibull-minimal.css index 3b17984..5298b2b 100644 --- a/docs/_static/antsibull-minimal.css +++ b/docs/_static/antsibull-minimal.css @@ -1,3 +1,4 @@ @charset "UTF-8"; /* Copyright (c) Ansible and contributors */ -/* GNU General Public License v3.0+ (see https://www.gnu.org/licenses/gpl-3.0.txt) */.ansible-links{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ansible-links>*{margin:2px 4px!important}.ansible-links>li{list-style:none!important}.ansible-links>li>p{display:inline}.ansible-links a{display:block;padding:4px 12px;cursor:pointer;border-radius:3px;background-color:#5bbdbf;color:#fff}.ansible-links a:active,.ansible-links a:focus,.ansible-links a:hover{background-color:#91d9db}.ansible-links a:focus{outline:3px solid #204748}table.documentation-table{border-bottom:1px solid #000;border-right:1px solid #000}table.documentation-table th{background-color:#6ab0de}table.documentation-table td,table.documentation-table th{padding:4px;border-left:1px solid #000;border-top:1px solid #000}table.documentation-table td.elbow-placeholder{border-top:0;width:30px;min-width:30px}table.documentation-table td{vertical-align:top}table.documentation-table td:first-child{white-space:nowrap}table.documentation-table tr .ansibleOptionLink{display:inline-block}table.documentation-table tr .ansibleOptionLink:after{content:"🔗";opacity:0}table.documentation-table tr:hover .ansibleOptionLink:after{opacity:1}table.documentation-table tr:nth-child(odd){background-color:#fff}table.documentation-table tr:nth-child(2n){background-color:#e7f2fa}table.ansible-option-table{display:table;border-color:#000!important;height:1px}table.ansible-option-table tr{height:100%}table.ansible-option-table td,table.ansible-option-table th{border-color:#000!important;border-bottom:none!important;vertical-align:top!important}table.ansible-option-table th>p{font-size:medium!important}table.ansible-option-table thead tr{background-color:#6ab0de}table.ansible-option-table tbody .row-odd td{background-color:#fff!important}table.ansible-option-table tbody .row-even td{background-color:#e7f2fa!important}table.ansible-option-table ul>li>p{margin:0!important}table.ansible-option-table ul>li>div[class^=highlight]{margin-bottom:4px!important}table.ansible-option-table p.ansible-option-title{display:inline}table.ansible-option-table .ansible-option-type-line{font-size:small;margin-bottom:0}table.ansible-option-table .ansible-option-elements,table.ansible-option-table .ansible-option-type{color:purple}table.ansible-option-table .ansible-option-required{color:red}table.ansible-option-table .ansible-option-versionadded{font-size:small;color:#006400}table.ansible-option-table .ansible-option-aliases{color:#006400;white-space:normal}table.ansible-option-table .ansible-option-line{margin-top:8px}table.ansible-option-table .ansible-option-choices-default-mark,table.ansible-option-table .ansible-option-default,table.ansible-option-table .ansible-option-default-bold{color:#00f}table.ansible-option-table .ansible-option-sample{color:#00f;word-wrap:break-word;word-break:break-all}table.ansible-option-table .ansible-option-sample-bold{color:#000}table.ansible-option-table .ansible-attribute-support-none{color:red}table.ansible-option-table .ansible-attribute-support-partial{color:#a5a500}table.ansible-option-table .ansible-attribute-support-full{color:green}table.ansible-option-table .ansibleOptionLink{display:inline-block}table.ansible-option-table .ansibleOptionLink:after{content:"🔗";opacity:0}table.ansible-option-table p{margin:0 0 8px}table.ansible-option-table tr:hover .ansibleOptionLink:after{opacity:1}table.ansible-option-table td{padding:0!important;white-space:normal}table.ansible-option-table td>div.ansible-option-cell{padding:8px 16px;border-top:1px solid #000}table.ansible-option-table td:first-child{height:inherit;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}table.ansible-option-table td:first-child>div.ansible-option-cell{height:inherit;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;white-space:nowrap;max-width:100%}table.ansible-option-table .ansible-option-indent{margin-left:2em;border-right:1px solid #000}table.ansible-option-table .ansible-attribute-support-label{display:none}@media (max-width:1200px){table.ansible-option-table{display:block;height:unset;border:none!important}table.ansible-option-table thead{display:none}table.ansible-option-table tbody,table.ansible-option-table td,table.ansible-option-table tr{display:block;border:none!important}table.ansible-option-table tbody .row-even td,table.ansible-option-table tbody .row-odd td{background-color:unset!important}table.ansible-option-table td>div.ansible-option-cell{border-top:none}table.ansible-option-table td:first-child>div.ansible-option-cell{background-color:#e7f2fa!important}table.ansible-option-table td:not(:first-child){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}table.ansible-option-table td:not(:first-child)>div.ansible-option-cell{margin-left:1em}table.ansible-option-table .ansible-option-indent,table.ansible-option-table .ansible-option-indent-desc{margin-left:1em;border:none;border-right:3px solid #e7f2fa}table.ansible-option-table .ansible-attribute-support-label{display:unset}}.ansible-version-added{font-style:italic}.ansible-option-value a.reference.external,.ansible-option-value a.reference.external:hover,.ansible-option-value a.reference.internal,.ansible-option-value a.reference.internal:hover,.ansible-option a.reference.external,.ansible-option a.reference.external:hover,.ansible-option a.reference.internal,.ansible-option a.reference.internal:hover,.ansible-return-value a.reference.external,.ansible-return-value a.reference.external:hover,.ansible-return-value a.reference.internal,.ansible-return-value a.reference.internal:hover{color:unset} \ No newline at end of file +/* GNU General Public License v3.0+ (see https://www.gnu.org/licenses/gpl-3.0.txt) */ +:root{--antsibull-links-background:#5bbdbf;--antsibull-links-background-active:#91d9db;--antsibull-links-focus-outline:#204748;--antsibull-links-text:#fff;--antsibull-table-background-header:#6ab0de;--antsibull-table-background-even:#e7f2fa;--antsibull-table-background-odd:#fff;--antsibull-table-border:#000;--antsibull-narrowtable-background:#e7f2fa;--antsibull-option-type:purple;--antsibull-option-elements:purple;--antsibull-option-required:red;--antsibull-option-version-added:#006400;--antsibull-option-aliases:#006400;--antsibull-option-default:blue;--antsibull-option-sample:blue;--antsibull-option-sample-header:#000;--antsibull-attribute-support-none:red;--antsibull-attribute-support-partial:#a5a500;--antsibull-attribute-support-full:green;--antsibull-attribute-support-na:inherit;--antsibull-deprecation-border:#000;--antsibull-deprecation-background:#eee;--antsibull-deprecation-color:#000}.ansible-links{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;justify-content:flex-start}.ansible-links>*{margin:2px 4px!important}.ansible-links>li{list-style:none!important}.ansible-links>li>p{display:inline}.ansible-links a{background-color:var(--antsibull-links-background);border-radius:3px;color:var(--antsibull-links-text);cursor:pointer;display:block;padding:4px 12px}.ansible-links a:active,.ansible-links a:focus,.ansible-links a:hover{background-color:var(--antsibull-links-background-active)}.ansible-links a:focus{outline:3px solid var(--antsibull-links-focus-outline)}table.documentation-table{border-bottom:1px solid var(--antsibull-table-border);border-right:1px solid var(--antsibull-table-border)}table.documentation-table th{background-color:var(--antsibull-table-background-header)}table.documentation-table td,table.documentation-table th{border-left:1px solid var(--antsibull-table-border);border-top:1px solid var(--antsibull-table-border);padding:4px}table.documentation-table td.elbow-placeholder{border-top:0;min-width:30px;width:30px}table.documentation-table td{vertical-align:top}table.documentation-table td:first-child{white-space:nowrap}table.documentation-table tr .ansibleOptionLink{display:inline-block}table.documentation-table tr .ansibleOptionLink:after{content:"🔗";opacity:0}table.documentation-table tr:hover .ansibleOptionLink:after{opacity:1}table.documentation-table tr:nth-child(odd){background-color:var(--antsibull-table-background-odd)}table.documentation-table tr:nth-child(2n){background-color:var(--antsibull-table-background-even)}table.ansible-option-table{border-color:var(--antsibull-table-border)!important;display:table;height:1px}table.ansible-option-table tr{height:100%}table.ansible-option-table td,table.ansible-option-table th{border-color:var(--antsibull-table-border)!important;border-bottom:none!important;vertical-align:top!important}table.ansible-option-table th>p{font-size:medium!important}table.ansible-option-table thead tr{background-color:var(--antsibull-table-background-header)}table.ansible-option-table tbody .row-odd td{background-color:var(--antsibull-table-background-odd)!important}table.ansible-option-table tbody .row-even td{background-color:var(--antsibull-table-background-even)!important}table.ansible-option-table ul>li>p{margin:0!important}table.ansible-option-table ul>li>div[class^=highlight]{margin-bottom:4px!important}table.ansible-option-table p.ansible-option-title{display:inline}table.ansible-option-table .ansible-option-type-line{font-size:small;margin-bottom:0}table.ansible-option-table .ansible-option-type{color:var(--antsibull-option-type)}table.ansible-option-table .ansible-option-elements{color:var(--antsibull-option-elements)}table.ansible-option-table .ansible-option-required{color:var(--antsibull-option-required)}table.ansible-option-table .ansible-option-versionadded{color:var(--antsibull-option-version-added);font-size:small}table.ansible-option-table .ansible-option-aliases{color:var(--antsibull-option-aliases);white-space:normal}table.ansible-option-table .ansible-option-line{margin-top:8px}table.ansible-option-table .ansible-option-choices-default-mark,table.ansible-option-table .ansible-option-default,table.ansible-option-table .ansible-option-default-bold{color:var(--antsibull-option-default)}table.ansible-option-table .ansible-option-sample{color:var(--antsibull-option-sample);word-wrap:break-word;word-break:break-all}table.ansible-option-table .ansible-option-sample-bold{color:var(--antsibull-option-sample-header)}table.ansible-option-table .ansible-attribute-support-none{color:var(--antsibull-attribute-support-none)}table.ansible-option-table .ansible-attribute-support-partial{color:var(--antsibull-attribute-support-partial)}table.ansible-option-table .ansible-attribute-support-full{color:var(--antsibull-attribute-support-full)}table.ansible-option-table .ansible-attribute-support-na{color:var(--antsibull-attribute-support-na)}table.ansible-option-table .ansibleOptionLink{display:inline-block}table.ansible-option-table .ansibleOptionLink:after{content:"🔗";opacity:0}table.ansible-option-table p{margin:0 0 8px}table.ansible-option-table tr:hover .ansibleOptionLink:after{opacity:1}table.ansible-option-table td{padding:0!important;white-space:normal}table.ansible-option-table td>div.ansible-option-cell{border-top:1px solid var(--antsibull-table-border);padding:8px 16px}table.ansible-option-table td:first-child{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:inherit;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}table.ansible-option-table td:first-child>div.ansible-option-cell{height:inherit;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:100%;white-space:nowrap}table.ansible-option-table .ansible-option-indent{border-right:1px solid var(--antsibull-table-border);margin-left:2em}table.ansible-option-table .ansible-attribute-support-label{display:none}@media (max-width:1200px){table.ansible-option-table{border:none!important;display:block;height:unset}table.ansible-option-table thead{display:none}table.ansible-option-table tbody,table.ansible-option-table td,table.ansible-option-table tr{border:none!important;display:block}table.ansible-option-table tbody .row-even td,table.ansible-option-table tbody .row-odd td{background-color:unset!important}table.ansible-option-table td>div.ansible-option-cell{border-top:none}table.ansible-option-table td:first-child>div.ansible-option-cell{background-color:var(--antsibull-narrowtable-background)!important}table.ansible-option-table td:not(:first-child){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}table.ansible-option-table td:not(:first-child)>div.ansible-option-cell{margin-left:1em}table.ansible-option-table .ansible-option-indent,table.ansible-option-table .ansible-option-indent-desc{border:none;border-right:3px solid var(--antsibull-narrowtable-background);margin-left:1em}table.ansible-option-table .ansible-attribute-support-label{display:unset}}.ansible-version-added{font-style:italic}.ansible-option a.reference.external,.ansible-option a.reference.external:hover,.ansible-option a.reference.internal,.ansible-option a.reference.internal:hover,.ansible-option-value a.reference.external,.ansible-option-value a.reference.external:hover,.ansible-option-value a.reference.internal,.ansible-option-value a.reference.internal:hover,.ansible-return-value a.reference.external,.ansible-return-value a.reference.external:hover,.ansible-return-value a.reference.internal,.ansible-return-value a.reference.internal:hover{color:unset}.ansible-deprecation-marker{background-color:var(--antsibull-deprecation-background);border:2px solid var(--antsibull-deprecation-border);border-radius:1em;color:var(--antsibull-deprecation-color);padding:.2em .4em} \ No newline at end of file diff --git a/docs/_static/basic.css b/docs/_static/basic.css index 7577acb..4738b2e 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -1,12 +1,5 @@ /* - * basic.css - * ~~~~~~~~~ - * * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * */ /* -- main layout ----------------------------------------------------------- */ @@ -115,15 +108,11 @@ img { /* -- search page ----------------------------------------------------------- */ ul.search { - margin: 10px 0 0 20px; - padding: 0; + margin-top: 10px; } ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; + padding: 5px 0; } ul.search li a { @@ -237,6 +226,10 @@ a.headerlink { visibility: hidden; } +a:visited { + color: #551A8B; +} + h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -670,6 +663,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; diff --git a/docs/_static/css/ansible.css b/docs/_static/css/ansible.css new file mode 100644 index 0000000..8ecc337 --- /dev/null +++ b/docs/_static/css/ansible.css @@ -0,0 +1,491 @@ +@import 'theme.css'; +/*! minified with http://css-minify.online-domain-tools.com/ - all comments + * must have ! to preserve during minifying with that tool */ +/*! Fix for read the docs theme: + * https://rackerlabs.github.io/docs-rackspace/tools/rtd-tables.html + */ +/*! override table width restrictions */ +@media screen and (min-width: 767px) { + /*! If we ever publish to read the docs, we need to use !important for + * these two styles as read the docs itself loads their theme in a way that + * we can't otherwise override it. + */ + .wy-table-responsive table td { + white-space: normal; + } + .wy-table-responsive { + overflow: visible; + } +} +/*! + * We use the class documentation-table for attribute tables where the first + * column is the name of an attribute and the second column is the description. + */ +/*! These tables look like this: + * + * Attribute Name Description + * -------------- ----------- + * **NAME** This is a multi-line description + * str/required that can span multiple lines + * added in x.y + * With multiple paragraphs + * -------------- ----------- + * + * **NAME** is given the class .value-name + * str is given the class .value-type + * / is given the class .value-separator + * required is given the class .value-required + * added in x.y is given the class .value-added-in + */ +/*! The extra .rst-content is so this will override rtd theme */ +.rst-content table.documentation-table td { + vertical-align: top; +} +table.documentation-table td:first-child { + white-space: nowrap; + vertical-align: top; +} +table.documentation-table td:first-child p:first-child { + font-weight: 700; + display: inline; +} +/*! This is now redundant with above position-based styling */ +/*! +table.documentation-table .value-name { + font-weight: bold; + display: inline; +} +*/ +table.documentation-table .value-type { + font-size: x-small; + color: purple; + display: inline; +} +table.documentation-table .value-separator { + font-size: x-small; + display: inline; +} +table.documentation-table .value-required { + font-size: x-small; + color: red; + display: inline; +} +.value-added-in { + font-size: x-small; + font-style: italic; + color: green; + display: inline; +} +/*! Ansible-specific CSS pulled out of rtd theme for 2.9 */ +.DocSiteProduct-header { + flex: 1; + -webkit-flex: 1; + padding: 10px 20px 20px; + display: flex; + display: -webkit-flex; + flex-direction: column; + -webkit-flex-direction: column; + align-items: center; + -webkit-align-items: center; + justify-content: flex-start; + -webkit-justify-content: flex-start; + margin-left: 20px; + margin-right: 20px; + text-decoration: none; + font-weight: 400; + font-family: "Open Sans", sans-serif; +} +.DocSiteProduct-header:active, +.DocSiteProduct-header:focus, +.DocSiteProduct-header:visited { + color: #fff; +} +.DocSiteProduct-header--core { + font-size: 25px; + background-color: #5bbdbf; + border: 2px solid #5bbdbf; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + color: #fff; + padding-left: 2px; + margin-left: 2px; +} +.DocSiteProduct-headerAlign { + width: 100%; +} +.DocSiteProduct-logo { + width: 60px; + height: 60px; + margin-bottom: -9px; +} +.DocSiteProduct-logoText { + margin-top: 6px; + font-size: 25px; + text-align: left; +} +.DocSiteProduct-CheckVersionPara { + margin-left: 2px; + padding-bottom: 4px; + margin-right: 2px; + margin-bottom: 10px; +} +/*! Ansible color scheme */ +.wy-nav-top, +.wy-side-nav-search { + background-color: #5bbdbf; +} +.wy-menu-vertical header, +.wy-menu-vertical p.caption { + color: #5bbdbf; +} +.wy-menu-vertical a { + padding: 0; +} +.wy-menu-vertical a.reference.internal { + padding: 0.4045em 1.618em; +} +/*! Override sphinx rtd theme max-with of 800px */ +.wy-nav-content { + max-width: 100%; +} +/*! + * Override sphinx_rtd_theme - keeps left-nav from overwriting + * Documentation title + **/ +.wy-nav-side { + top: 45px; +} +/*! + * Ansible - changed absolute to relative to remove extraneous side scroll bar + **/ +.wy-grid-for-nav { + position: relative; +} +/*! Ansible narrow the search box */ +.wy-side-nav-search input[type="text"] { + width: 90%; + padding-left: 24px; +} +/*! Ansible - remove so highlight indenting is correct */ +.rst-content .highlighted { + padding: 0; +} +.DocSiteBanner { + display: flex; + display: -webkit-flex; + justify-content: center; + -webkit-justify-content: center; + flex-wrap: wrap; + -webkit-flex-wrap: wrap; + margin-bottom: 25px; +} +.DocSiteBanner-imgWrapper { + max-width: 100%; +} +td, +th { + min-width: 100px; +} +table { + overflow-x: auto; + max-width: 100%; +} +.documentation-table td, +.documentation-table th { + padding: 4px; + border-left: 1px solid #000; + border-top: 1px solid #000; +} +.documentation-table { + border-right: 1px solid #000; + border-bottom: 1px solid #000; +} +@media print { + * { + background: 0 0 !important; + color: #000 !important; + text-shadow: none !important; + filter: none !important; + -ms-filter: none !important; + } + #nav, + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + /*! Don't show links for images, or javascript/internal links */ + pre, + blockquote { + border: 0 solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + /*! h5bp.com/t */ + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 0.5cm; + } + h2, + h3, + p { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + #google_image_div, + .DocSiteBanner { + display: none !important; + } +} +#sideBanner, +.DocSite-globalNav { + display: none; +} +.DocSite-sideNav { + display: block; + margin-bottom: 40px; +} +.DocSite-nav { + display: none; +} +.ansibleNav { + background: #000; + padding: 0 20px; + width: auto; + border-bottom: 1px solid #444; + font-size: 14px; + z-index: 1; +} +.ansibleNav ul { + list-style: none; + padding-left: 0; + margin-top: 0; +} +.ansibleNav ul li { + padding: 7px 0; + border-bottom: 1px solid #444; +} +.ansibleNav ul li:last-child { + border: none; +} +.ansibleNav ul li a { + color: #fff; + text-decoration: none; + text-transform: uppercase; + padding: 6px 0; +} +.ansibleNav ul li a:hover { + color: #5bbdbf; + background: 0 0; +} +h4 { + font-size: 105%; +} +h5 { + font-size: 90%; +} +h6 { + font-size: 80%; +} +@media screen and (min-width: 768px) { + .DocSite-globalNav { + display: block; + position: fixed; + } + #sideBanner { + display: block; + } + .DocSite-sideNav { + display: none; + } + .DocSite-nav { + flex: initial; + -webkit-flex: initial; + display: flex; + display: -webkit-flex; + flex-direction: row; + -webkit-flex-direction: row; + justify-content: flex-start; + -webkit-justify-content: flex-start; + padding: 15px; + background-color: #000; + text-decoration: none; + font-family: "Open Sans", sans-serif; + } + .DocSiteNav-logo { + width: 28px; + height: 28px; + margin-right: 8px; + margin-top: -6px; + position: fixed; + z-index: 1; + } + .DocSiteNav-title { + color: #fff; + font-size: 20px; + position: fixed; + margin-left: 40px; + margin-top: -4px; + z-index: 1; + } + .ansibleNav { + height: 45px; + width: 100%; + font-size: 13px; + padding: 0 60px 0 0; + } + .ansibleNav ul { + float: right; + display: flex; + flex-wrap: nowrap; + margin-top: 13px; + } + .ansibleNav ul li { + padding: 0; + border-bottom: none; + } + .ansibleNav ul li a { + color: #fff; + text-decoration: none; + text-transform: uppercase; + padding: 8px 13px; + } + h4 { + font-size: 105%; + } + h5 { + font-size: 90%; + } + h6 { + font-size: 80%; + } +} +@media screen and (min-width: 768px) { + #sideBanner, + .DocSite-globalNav { + display: block; + } + .DocSite-sideNav { + display: none; + } + .DocSite-nav { + flex: initial; + -webkit-flex: initial; + display: flex; + display: -webkit-flex; + flex-direction: row; + -webkit-flex-direction: row; + justify-content: flex-start; + -webkit-justify-content: flex-start; + padding: 15px; + background-color: #000; + text-decoration: none; + font-family: "Open Sans", sans-serif; + } + .DocSiteNav-logo { + width: 28px; + height: 28px; + margin-right: 8px; + margin-top: -6px; + position: fixed; + } + .DocSiteNav-title { + color: #fff; + font-size: 20px; + position: fixed; + margin-left: 40px; + margin-top: -4px; + } + .ansibleNav { + height: 45px; + font-size: 13px; + padding: 0 60px 0 0; + } + .ansibleNav ul { + float: right; + display: flex; + flex-wrap: nowrap; + margin-top: 13px; + } + .ansibleNav ul li { + padding: 0; + border-bottom: none; + } + .ansibleNav ul li a { + color: #fff; + text-decoration: none; + text-transform: uppercase; + padding: 8px 13px; + } + h4 { + font-size: 105%; + } + h5 { + font-size: 90%; + } + h6 { + font-size: 80%; + } +} +/* ansibleOptionLink is adapted from h1 .headerlink in sphinx_rtd_theme */ +/* This definition lives in the antsibull Sphinx extension; we update it here to use the icon from FontAwesome */ +/* https://github.com/ansible-community/antsibull-docs/blob/main/src/sphinx_antsibull_ext/css/antsibull-minimal.scss */ +tr .ansibleOptionLink::after { + content: "" !important; + font-family: FontAwesome; +} +tr .ansibleOptionLink { + font: normal normal normal 14px/1 FontAwesome; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +@media screen and (min-width: 767px) { + /* Move anchors a bit up so that they aren't hidden by the header bar */ + section [id] { + padding-top: 45px; + margin-top: -45px; + } + /* + * Without this, + * for example most links in the page's TOC aren't usable anymore, and tables + * sometimes overlap the text above + * */ + section a[id], section table[id] { + padding-top: 0; + margin-top: 0; + } +} + +/* Assure reading examples does not require horizontal scrolling */ +.rst-content div[class^="highlight"] pre { + white-space: pre-wrap; +} + +.rst-content dl dt { margin-bottom: 0; } + +/*! Make sure that environment variable links are blue */ +.rst-content code.xref.std-envvar { color: #2980b9; } diff --git a/docs/_static/css/badge_only.css b/docs/_static/css/badge_only.css new file mode 100644 index 0000000..88ba55b --- /dev/null +++ b/docs/_static/css/badge_only.css @@ -0,0 +1 @@ +.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px} \ No newline at end of file diff --git a/docs/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/_static/css/fonts/Roboto-Slab-Bold.woff new file mode 100644 index 0000000..6cb6000 Binary files /dev/null and b/docs/_static/css/fonts/Roboto-Slab-Bold.woff differ diff --git a/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 b/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 new file mode 100644 index 0000000..7059e23 Binary files /dev/null and b/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 differ diff --git a/docs/_static/css/fonts/Roboto-Slab-Regular.woff b/docs/_static/css/fonts/Roboto-Slab-Regular.woff new file mode 100644 index 0000000..f815f63 Binary files /dev/null and b/docs/_static/css/fonts/Roboto-Slab-Regular.woff differ diff --git a/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 b/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 new file mode 100644 index 0000000..f2c76e5 Binary files /dev/null and b/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.eot b/docs/_static/css/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/docs/_static/css/fonts/fontawesome-webfont.eot differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.svg b/docs/_static/css/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/docs/_static/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/_static/css/fonts/fontawesome-webfont.ttf b/docs/_static/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/docs/_static/css/fonts/fontawesome-webfont.ttf differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.woff b/docs/_static/css/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/docs/_static/css/fonts/fontawesome-webfont.woff differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.woff2 b/docs/_static/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/docs/_static/css/fonts/fontawesome-webfont.woff2 differ diff --git a/docs/_static/css/fonts/lato-bold-italic.woff b/docs/_static/css/fonts/lato-bold-italic.woff new file mode 100644 index 0000000..88ad05b Binary files /dev/null and b/docs/_static/css/fonts/lato-bold-italic.woff differ diff --git a/docs/_static/css/fonts/lato-bold-italic.woff2 b/docs/_static/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 0000000..c4e3d80 Binary files /dev/null and b/docs/_static/css/fonts/lato-bold-italic.woff2 differ diff --git a/docs/_static/css/fonts/lato-bold.woff b/docs/_static/css/fonts/lato-bold.woff new file mode 100644 index 0000000..c6dff51 Binary files /dev/null and b/docs/_static/css/fonts/lato-bold.woff differ diff --git a/docs/_static/css/fonts/lato-bold.woff2 b/docs/_static/css/fonts/lato-bold.woff2 new file mode 100644 index 0000000..bb19504 Binary files /dev/null and b/docs/_static/css/fonts/lato-bold.woff2 differ diff --git a/docs/_static/css/fonts/lato-normal-italic.woff b/docs/_static/css/fonts/lato-normal-italic.woff new file mode 100644 index 0000000..76114bc Binary files /dev/null and b/docs/_static/css/fonts/lato-normal-italic.woff differ diff --git a/docs/_static/css/fonts/lato-normal-italic.woff2 b/docs/_static/css/fonts/lato-normal-italic.woff2 new file mode 100644 index 0000000..3404f37 Binary files /dev/null and b/docs/_static/css/fonts/lato-normal-italic.woff2 differ diff --git a/docs/_static/css/fonts/lato-normal.woff b/docs/_static/css/fonts/lato-normal.woff new file mode 100644 index 0000000..ae1307f Binary files /dev/null and b/docs/_static/css/fonts/lato-normal.woff differ diff --git a/docs/_static/css/fonts/lato-normal.woff2 b/docs/_static/css/fonts/lato-normal.woff2 new file mode 100644 index 0000000..3bf9843 Binary files /dev/null and b/docs/_static/css/fonts/lato-normal.woff2 differ diff --git a/docs/_static/css/rtd-ethical-ads.css b/docs/_static/css/rtd-ethical-ads.css new file mode 100644 index 0000000..a146003 --- /dev/null +++ b/docs/_static/css/rtd-ethical-ads.css @@ -0,0 +1,4 @@ +.ethical-sidebar, +.ethical-footer { + border-radius: 0 !important; +} diff --git a/docs/_static/css/theme.css b/docs/_static/css/theme.css new file mode 100644 index 0000000..0f14f10 --- /dev/null +++ b/docs/_static/css/theme.css @@ -0,0 +1,4 @@ +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search .wy-dropdown>aactive,.wy-side-nav-search .wy-dropdown>afocus,.wy-side-nav-search>a:hover,.wy-side-nav-search>aactive,.wy-side-nav-search>afocus{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon,.wy-side-nav-search>a.icon{display:block}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.switch-menus{position:relative;display:block;margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-side-nav-search>div.switch-menus>div.language-switch,.wy-side-nav-search>div.switch-menus>div.version-switch{display:inline-block;padding:.2em}.wy-side-nav-search>div.switch-menus>div.language-switch select,.wy-side-nav-search>div.switch-menus>div.version-switch select{display:inline-block;margin-right:-2rem;padding-right:2rem;max-width:240px;text-align-last:center;background:none;border:none;border-radius:0;box-shadow:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:400;color:hsla(0,0%,100%,.3);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.wy-side-nav-search>div.switch-menus>div.language-switch select:active,.wy-side-nav-search>div.switch-menus>div.language-switch select:focus,.wy-side-nav-search>div.switch-menus>div.language-switch select:hover,.wy-side-nav-search>div.switch-menus>div.version-switch select:active,.wy-side-nav-search>div.switch-menus>div.version-switch select:focus,.wy-side-nav-search>div.switch-menus>div.version-switch select:hover{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.wy-side-nav-search>div.switch-menus>div.language-switch select option,.wy-side-nav-search>div.switch-menus>div.version-switch select option{color:#000}.wy-side-nav-search>div.switch-menus>div.language-switch:has(>select):after,.wy-side-nav-search>div.switch-menus>div.version-switch:has(>select):after{display:inline-block;width:1.5em;height:100%;padding:.1em;content:"\f0d7";font-size:1em;line-height:1.2em;font-family:FontAwesome;text-align:center;pointer-events:none;box-sizing:border-box}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js index d06a71d..0398ebb 100644 --- a/docs/_static/doctools.js +++ b/docs/_static/doctools.js @@ -1,12 +1,5 @@ /* - * doctools.js - * ~~~~~~~~~~~ - * * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * */ "use strict"; diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index b57ae3b..1823c1b 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,12 +1,11 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), +const DOCUMENTATION_OPTIONS = { VERSION: '', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', FILE_SUFFIX: '.html', LINK_SUFFIX: '.html', - HAS_SOURCE: true, + HAS_SOURCE: false, SOURCELINK_SUFFIX: '.txt', NAVIGATION_WITH_KEYS: false, SHOW_SEARCH_SUMMARY: true, diff --git a/docs/_static/fonts/Lato/lato-bold.eot b/docs/_static/fonts/Lato/lato-bold.eot new file mode 100644 index 0000000..3361183 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bold.eot differ diff --git a/docs/_static/fonts/Lato/lato-bold.ttf b/docs/_static/fonts/Lato/lato-bold.ttf new file mode 100644 index 0000000..29f691d Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bold.ttf differ diff --git a/docs/_static/fonts/Lato/lato-bold.woff b/docs/_static/fonts/Lato/lato-bold.woff new file mode 100644 index 0000000..c6dff51 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bold.woff differ diff --git a/docs/_static/fonts/Lato/lato-bold.woff2 b/docs/_static/fonts/Lato/lato-bold.woff2 new file mode 100644 index 0000000..bb19504 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bold.woff2 differ diff --git a/docs/_static/fonts/Lato/lato-bolditalic.eot b/docs/_static/fonts/Lato/lato-bolditalic.eot new file mode 100644 index 0000000..3d41549 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bolditalic.eot differ diff --git a/docs/_static/fonts/Lato/lato-bolditalic.ttf b/docs/_static/fonts/Lato/lato-bolditalic.ttf new file mode 100644 index 0000000..f402040 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bolditalic.ttf differ diff --git a/docs/_static/fonts/Lato/lato-bolditalic.woff b/docs/_static/fonts/Lato/lato-bolditalic.woff new file mode 100644 index 0000000..88ad05b Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bolditalic.woff differ diff --git a/docs/_static/fonts/Lato/lato-bolditalic.woff2 b/docs/_static/fonts/Lato/lato-bolditalic.woff2 new file mode 100644 index 0000000..c4e3d80 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-bolditalic.woff2 differ diff --git a/docs/_static/fonts/Lato/lato-italic.eot b/docs/_static/fonts/Lato/lato-italic.eot new file mode 100644 index 0000000..3f82642 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-italic.eot differ diff --git a/docs/_static/fonts/Lato/lato-italic.ttf b/docs/_static/fonts/Lato/lato-italic.ttf new file mode 100644 index 0000000..b4bfc9b Binary files /dev/null and b/docs/_static/fonts/Lato/lato-italic.ttf differ diff --git a/docs/_static/fonts/Lato/lato-italic.woff b/docs/_static/fonts/Lato/lato-italic.woff new file mode 100644 index 0000000..76114bc Binary files /dev/null and b/docs/_static/fonts/Lato/lato-italic.woff differ diff --git a/docs/_static/fonts/Lato/lato-italic.woff2 b/docs/_static/fonts/Lato/lato-italic.woff2 new file mode 100644 index 0000000..3404f37 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-italic.woff2 differ diff --git a/docs/_static/fonts/Lato/lato-regular.eot b/docs/_static/fonts/Lato/lato-regular.eot new file mode 100644 index 0000000..11e3f2a Binary files /dev/null and b/docs/_static/fonts/Lato/lato-regular.eot differ diff --git a/docs/_static/fonts/Lato/lato-regular.ttf b/docs/_static/fonts/Lato/lato-regular.ttf new file mode 100644 index 0000000..74decd9 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-regular.ttf differ diff --git a/docs/_static/fonts/Lato/lato-regular.woff b/docs/_static/fonts/Lato/lato-regular.woff new file mode 100644 index 0000000..ae1307f Binary files /dev/null and b/docs/_static/fonts/Lato/lato-regular.woff differ diff --git a/docs/_static/fonts/Lato/lato-regular.woff2 b/docs/_static/fonts/Lato/lato-regular.woff2 new file mode 100644 index 0000000..3bf9843 Binary files /dev/null and b/docs/_static/fonts/Lato/lato-regular.woff2 differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot new file mode 100644 index 0000000..79dc8ef Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf new file mode 100644 index 0000000..df5d1df Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff new file mode 100644 index 0000000..6cb6000 Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 new file mode 100644 index 0000000..7059e23 Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot new file mode 100644 index 0000000..2f7ca78 Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf new file mode 100644 index 0000000..eb52a79 Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff new file mode 100644 index 0000000..f815f63 Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff differ diff --git a/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 new file mode 100644 index 0000000..f2c76e5 Binary files /dev/null and b/docs/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 differ diff --git a/docs/_static/images/Ansible-Mark-RGB_Black.png b/docs/_static/images/Ansible-Mark-RGB_Black.png new file mode 100644 index 0000000..0b4e721 Binary files /dev/null and b/docs/_static/images/Ansible-Mark-RGB_Black.png differ diff --git a/docs/_static/images/Ansible-Mark-RGB_Black.svg b/docs/_static/images/Ansible-Mark-RGB_Black.svg new file mode 100644 index 0000000..c600b6e --- /dev/null +++ b/docs/_static/images/Ansible-Mark-RGB_Black.svg @@ -0,0 +1,14 @@ + + + diff --git a/docs/_static/images/Ansible-Mark-RGB_White.png b/docs/_static/images/Ansible-Mark-RGB_White.png new file mode 100644 index 0000000..5754701 Binary files /dev/null and b/docs/_static/images/Ansible-Mark-RGB_White.png differ diff --git a/docs/_static/images/Ansible-Mark-RGB_White.svg b/docs/_static/images/Ansible-Mark-RGB_White.svg new file mode 100644 index 0000000..2275aec --- /dev/null +++ b/docs/_static/images/Ansible-Mark-RGB_White.svg @@ -0,0 +1 @@ + diff --git a/docs/_static/js/badge_only.js b/docs/_static/js/badge_only.js new file mode 100644 index 0000000..526d723 --- /dev/null +++ b/docs/_static/js/badge_only.js @@ -0,0 +1 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}}); \ No newline at end of file diff --git a/docs/_static/js/theme.js b/docs/_static/js/theme.js new file mode 100644 index 0000000..1fddb6e --- /dev/null +++ b/docs/_static/js/theme.js @@ -0,0 +1 @@ +!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t a.language.name.localeCompare(b.language.name)); + + const languagesHTML = ` +
+
Languages
+ ${languages + .map( + (translation) => ` +
+ ${translation.language.code} +
+ `, + ) + .join("\n")} +
+ `; + return languagesHTML; + } + + function renderVersions(config) { + if (!config.versions.active.length) { + return ""; + } + const versionsHTML = ` +
+
Versions
+ ${config.versions.active + .map( + (version) => ` +
+ ${version.slug} +
+ `, + ) + .join("\n")} +
+ `; + return versionsHTML; + } + + function renderDownloads(config) { + if (!Object.keys(config.versions.current.downloads).length) { + return ""; + } + const downloadsNameDisplay = { + pdf: "PDF", + epub: "Epub", + htmlzip: "HTML", + }; + + const downloadsHTML = ` +
+
Downloads
+ ${Object.entries(config.versions.current.downloads) + .map( + ([name, url]) => ` +
+ ${downloadsNameDisplay[name]} +
+ `, + ) + .join("\n")} +
+ `; + return downloadsHTML; + } + + document.addEventListener("readthedocs-addons-data-ready", function (event) { + const config = event.detail.data(); + + const flyout = ` +
+ + Read the Docs + v: ${config.versions.current.slug} + + +
+
+ ${renderLanguages(config)} + ${renderVersions(config)} + ${renderDownloads(config)} +
+
On Read the Docs
+
+ Project Home +
+
+ Builds +
+
+ Downloads +
+
+
+
Search
+
+
+ +
+
+
+
+ + Hosted by Read the Docs + +
+
+ `; + + // Inject the generated flyout into the body HTML element. + document.body.insertAdjacentHTML("beforeend", flyout); + + // Trigger the Read the Docs Addons Search modal when clicking on the "Search docs" input from inside the flyout. + document + .querySelector("#flyout-search-form") + .addEventListener("focusin", () => { + const event = new CustomEvent("readthedocs-search-show"); + document.dispatchEvent(event); + }); + }) +} + +if (themeLanguageSelector || themeVersionSelector) { + function onSelectorSwitch(event) { + const option = event.target.selectedIndex; + const item = event.target.options[option]; + window.location.href = item.dataset.url; + } + + document.addEventListener("readthedocs-addons-data-ready", function (event) { + const config = event.detail.data(); + + const versionSwitch = document.querySelector( + "div.switch-menus > div.version-switch", + ); + if (themeVersionSelector) { + let versions = config.versions.active; + if (config.versions.current.hidden || config.versions.current.type === "external") { + versions.unshift(config.versions.current); + } + const versionSelect = ` + + `; + + versionSwitch.innerHTML = versionSelect; + versionSwitch.firstElementChild.addEventListener("change", onSelectorSwitch); + } + + const languageSwitch = document.querySelector( + "div.switch-menus > div.language-switch", + ); + + if (themeLanguageSelector) { + if (config.projects.translations.length) { + // Add the current language to the options on the selector + let languages = config.projects.translations.concat( + config.projects.current, + ); + languages = languages.sort((a, b) => + a.language.name.localeCompare(b.language.name), + ); + + const languageSelect = ` + + `; + + languageSwitch.innerHTML = languageSelect; + languageSwitch.firstElementChild.addEventListener("change", onSelectorSwitch); + } + else { + languageSwitch.remove(); + } + } + }); +} + +document.addEventListener("readthedocs-addons-data-ready", function (event) { + // Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav. + document + .querySelector("[role='search'] input") + .addEventListener("focusin", () => { + const event = new CustomEvent("readthedocs-search-show"); + document.dispatchEvent(event); + }); +}); \ No newline at end of file diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js index 250f566..c7fe6c6 100644 --- a/docs/_static/language_data.js +++ b/docs/_static/language_data.js @@ -1,19 +1,12 @@ /* - * language_data.js - * ~~~~~~~~~~~~~~~~ - * * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * */ var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; -/* Non-minified version is copied as a separate JS file, is available */ +/* Non-minified version is copied as a separate JS file, if available */ /** * Porter Stemmer diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css index 9abe04b..fe39d08 100644 --- a/docs/_static/pygments.css +++ b/docs/_static/pygments.css @@ -3,81 +3,79 @@ td.linenos .normal { color: inherit; background-color: transparent; padding-left span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } +.highlight .hll { background-color: #ffffcc; border: 1px solid #edff00; padding-top: 2px; border-radius: 3px; display: block } .highlight { background: #f8f8f8; } -.highlight .c { color: #8f5902; font-style: italic } /* Comment */ -.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ -.highlight .g { color: #000000 } /* Generic */ -.highlight .k { color: #004461; font-weight: bold } /* Keyword */ -.highlight .l { color: #000000 } /* Literal */ -.highlight .n { color: #000000 } /* Name */ -.highlight .o { color: #582800 } /* Operator */ -.highlight .x { color: #000000 } /* Other */ -.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ -.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #8f5902 } /* Comment.Preproc */ -.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #a40000 } /* Generic.Deleted */ -.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #ef2929 } /* Generic.Error */ +.highlight .c { color: #6A737D; font-style: italic } /* Comment */ +.highlight .err { color: #A61717; background-color: #E3D2D2; border: 1px solid #F00 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .l { color: #032F62 } /* Literal */ +.highlight .n { color: #333 } /* Name */ +.highlight .o { color: #666; font-weight: bold } /* Operator */ +.highlight .p { font-weight: bold } /* Punctuation */ +.highlight .ch { color: #6A737D; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #6A737D; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #6A737D; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #6A737D; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999; font-weight: bold; font-style: italic; background-color: #FFF0F0 } /* Comment.Special */ +.highlight .gd { color: #A00000; background-color: #FDD } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #A00 } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #745334 } /* Generic.Prompt */ -.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ +.highlight .gi { color: #00A000; background-color: #DFD } /* Generic.Inserted */ +.highlight .go { color: #333 } /* Generic.Output */ +.highlight .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ -.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */ -.highlight .ld { color: #000000 } /* Literal.Date */ -.highlight .m { color: #990000 } /* Literal.Number */ -.highlight .s { color: #4e9a06 } /* Literal.String */ -.highlight .na { color: #c4a000 } /* Name.Attribute */ -.highlight .nb { color: #004461 } /* Name.Builtin */ -.highlight .nc { color: #000000 } /* Name.Class */ -.highlight .no { color: #000000 } /* Name.Constant */ -.highlight .nd { color: #888888 } /* Name.Decorator */ -.highlight .ni { color: #ce5c00 } /* Name.Entity */ -.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #000000 } /* Name.Function */ -.highlight .nl { color: #f57900 } /* Name.Label */ -.highlight .nn { color: #000000 } /* Name.Namespace */ -.highlight .nx { color: #000000 } /* Name.Other */ -.highlight .py { color: #000000 } /* Name.Property */ -.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #000000 } /* Name.Variable */ -.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */ -.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ -.highlight .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */ -.highlight .mb { color: #990000 } /* Literal.Number.Bin */ -.highlight .mf { color: #990000 } /* Literal.Number.Float */ -.highlight .mh { color: #990000 } /* Literal.Number.Hex */ -.highlight .mi { color: #990000 } /* Literal.Number.Integer */ -.highlight .mo { color: #990000 } /* Literal.Number.Oct */ -.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ -.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ -.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ -.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ -.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ -.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ -.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ -.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ -.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ -.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ -.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ -.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ -.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #000000 } /* Name.Function.Magic */ -.highlight .vc { color: #000000 } /* Name.Variable.Class */ -.highlight .vg { color: #000000 } /* Name.Variable.Global */ -.highlight .vi { color: #000000 } /* Name.Variable.Instance */ -.highlight .vm { color: #000000 } /* Name.Variable.Magic */ -.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */ \ No newline at end of file +.highlight .gt { color: #0040D0 } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000; font-weight: bold } /* Keyword.Type */ +.highlight .ld { color: #032F62 } /* Literal.Date */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070A0 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #458; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .nd { color: #555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #800080; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #900; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #900; font-weight: bold } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #555; font-weight: bold } /* Name.Namespace */ +.highlight .nx { color: #333 } /* Name.Other */ +.highlight .py { color: #333 } /* Name.Property */ +.highlight .nt { color: #22863A; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #9960B5; font-weight: bold } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .pm { font-weight: bold } /* Punctuation.Marker */ +.highlight .w { color: #BBB } /* Text.Whitespace */ +.highlight .mb { color: #099 } /* Literal.Number.Bin */ +.highlight .mf { color: #099 } /* Literal.Number.Float */ +.highlight .mh { color: #099 } /* Literal.Number.Hex */ +.highlight .mi { color: #099 } /* Literal.Number.Integer */ +.highlight .mo { color: #099 } /* Literal.Number.Oct */ +.highlight .sa { color: #D14 } /* Literal.String.Affix */ +.highlight .sb { color: #D14 } /* Literal.String.Backtick */ +.highlight .sc { color: #D14 } /* Literal.String.Char */ +.highlight .dl { color: #D14 } /* Literal.String.Delimiter */ +.highlight .sd { color: #D14; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #D14 } /* Literal.String.Double */ +.highlight .se { color: #D14; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #D14 } /* Literal.String.Heredoc */ +.highlight .si { color: #D14; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #D14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #D14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #06287E; font-weight: bold } /* Name.Function.Magic */ +.highlight .vc { color: #008080; font-weight: bold } /* Name.Variable.Class */ +.highlight .vg { color: #008080; font-weight: bold } /* Name.Variable.Global */ +.highlight .vi { color: #008080; font-weight: bold } /* Name.Variable.Instance */ +.highlight .vm { color: #BB60D5; font-weight: bold } /* Name.Variable.Magic */ +.highlight .il { color: #099 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js index 97d56a7..91f4be5 100644 --- a/docs/_static/searchtools.js +++ b/docs/_static/searchtools.js @@ -1,12 +1,5 @@ /* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * */ "use strict"; @@ -20,7 +13,7 @@ if (typeof Scorer === "undefined") { // and returns the new score. /* score: result => { - const [docname, title, anchor, descr, score, filename] = result + const [docname, title, anchor, descr, score, filename, kind] = result return score }, */ @@ -47,6 +40,14 @@ if (typeof Scorer === "undefined") { }; } +// Global search result kind enum, used by themes to style search results. +class SearchResultKind { + static get index() { return "index"; } + static get object() { return "object"; } + static get text() { return "text"; } + static get title() { return "title"; } +} + const _removeChildren = (element) => { while (element && element.lastChild) element.removeChild(element.lastChild); }; @@ -57,16 +58,20 @@ const _removeChildren = (element) => { const _escapeRegExp = (string) => string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -const _displayItem = (item, searchTerms) => { +const _displayItem = (item, searchTerms, highlightTerms) => { const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; - const [docName, title, anchor, descr, score, _filename] = item; + const [docName, title, anchor, descr, score, _filename, kind] = item; let listItem = document.createElement("li"); + // Add a class representing the item's type: + // can be used by a theme's CSS selector for styling + // See SearchResultKind for the class names. + listItem.classList.add(`kind-${kind}`); let requestUrl; let linkUrl; if (docBuilder === "dirhtml") { @@ -75,28 +80,35 @@ const _displayItem = (item, searchTerms) => { if (dirname.match(/\/index\/$/)) dirname = dirname.substring(0, dirname.length - 6); else if (dirname === "index/") dirname = ""; - requestUrl = docUrlRoot + dirname; + requestUrl = contentRoot + dirname; linkUrl = requestUrl; } else { // normal html builders - requestUrl = docUrlRoot + docName + docFileSuffix; + requestUrl = contentRoot + docName + docFileSuffix; linkUrl = docName + docLinkSuffix; } let linkEl = listItem.appendChild(document.createElement("a")); linkEl.href = linkUrl + anchor; linkEl.dataset.score = score; linkEl.innerHTML = title; - if (descr) + if (descr) { listItem.appendChild(document.createElement("span")).innerHTML = " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } else if (showSearchSummary) fetch(requestUrl) .then((responseData) => responseData.text()) .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) + Search.makeSearchSummary(data, searchTerms, anchor) ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); }); Search.output.appendChild(listItem); }; @@ -108,27 +120,46 @@ const _finishSearch = (resultCount) => { "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." ); else - Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); + Search.status.innerText = Documentation.ngettext( + "Search finished, found one page matching the search query.", + "Search finished, found ${resultCount} pages matching the search query.", + resultCount, + ).replace('${resultCount}', resultCount); }; const _displayNextItem = ( results, resultCount, - searchTerms + searchTerms, + highlightTerms, ) => { // results left, load the summary and display it // this is intended to be dynamic (don't sub resultsCount) if (results.length) { - _displayItem(results.pop(), searchTerms); + _displayItem(results.pop(), searchTerms, highlightTerms); setTimeout( - () => _displayNextItem(results, resultCount, searchTerms), + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), 5 ); } // search finished, update title and status message else _finishSearch(resultCount); }; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; /** * Default splitQuery function. Can be overridden in ``sphinx.search`` with a @@ -152,13 +183,26 @@ const Search = { _queued_query: null, _pulse_status: -1, - htmlToText: (htmlString) => { + htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; + if (docContent) return docContent.textContent; + console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." ); return ""; }, @@ -211,6 +255,7 @@ const Search = { searchSummary.classList.add("search-summary"); searchSummary.innerText = ""; const searchList = document.createElement("ul"); + searchList.setAttribute("role", "list"); searchList.classList.add("search"); const out = document.getElementById("search-results"); @@ -231,16 +276,7 @@ const Search = { else Search.deferQuery(query); }, - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - + _parseQuery: (query) => { // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -276,22 +312,40 @@ const Search = { // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); - // array of [docname, title, anchor, descr, score, filename] - let results = []; + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename, kind]. + const normalResults = []; + const nonMainIndexResults = []; + _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase(); + const queryLower = query.toLowerCase().trim(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", null, - score, + score + boost, filenames[file], + SearchResultKind.title, ]); } } @@ -300,46 +354,48 @@ const Search = { // search for explicit entries in index directives for (const [entry, foundEntries] of Object.entries(indexEntries)) { if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ docNames[file], titles[file], id ? "#" + id : "", null, score, filenames[file], - ]); + SearchResultKind.index, + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } } } } // lookup as object objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) + normalResults.push(...Search.performObjectSearch(term, objectTerms)) ); // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; // remove duplicate search results // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept @@ -353,14 +409,19 @@ const Search = { return acc; }, []); - results = results.reverse(); + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); // for debugging //Search.lastresults = results.slice(); // a copy // console.info("search results:", Search.lastresults); // print the results - _displayNextItem(results, results.length, searchTerms); + _displayNextItem(results, results.length, searchTerms, highlightTerms); }, /** @@ -424,6 +485,7 @@ const Search = { descr, score, filenames[match[0]], + SearchResultKind.object, ]); }; Object.keys(objects).forEach((prefix) => @@ -451,21 +513,27 @@ const Search = { // perform the search on the required terms searchTerms.forEach((word) => { const files = []; + // find documents, if any, containing the query word in their text/title term indices + // use Object.hasOwnProperty to avoid mismatching against prototype properties const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, + { files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term }, + { files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title }, ]; // add support for partial matches if (word.length > 2) { const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } } // no match but word was a required one @@ -481,16 +549,16 @@ const Search = { // set score for the word in each file recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; + if (!scoreMap.has(file)) scoreMap.set(file, new Map()); + const fileScores = scoreMap.get(file); + fileScores.set(word, record.score); }); }); // create the mapping files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); }); }); @@ -522,7 +590,7 @@ const Search = { break; // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w))); // add result to the result list results.push([ docNames[file], @@ -531,6 +599,7 @@ const Search = { null, score, filenames[file], + SearchResultKind.text, ]); } return results; @@ -541,8 +610,8 @@ const Search = { * search summary for a given text. keywords is a list * of stemmed words. */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); if (text === "") return null; const textLower = text.toLowerCase(); diff --git a/docs/_static/sphinx_highlight.js b/docs/_static/sphinx_highlight.js index aae669d..8a96c69 100644 --- a/docs/_static/sphinx_highlight.js +++ b/docs/_static/sphinx_highlight.js @@ -29,14 +29,19 @@ const _highlight = (node, addItems, text, className) => { } span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); parent.insertBefore( span, parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), + rest, node.nextSibling ) ); node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); if (isInSVG) { const rect = document.createElementNS( @@ -140,5 +145,10 @@ const SphinxHighlight = { }, }; -_ready(SphinxHighlight.highlightSearchWords); -_ready(SphinxHighlight.initEscapeListener); +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/docs/buildah_connection.html b/docs/buildah_connection.html deleted file mode 100644 index 836dc3d..0000000 --- a/docs/buildah_connection.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.buildah connection — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.buildah connection

-

The documentation for the connection plugin, containers.podman.buildah, was malformed.

-

The errors were:

-
    -
  • 1 validation error for PluginDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/buildah_containers_inventory.html b/docs/buildah_containers_inventory.html deleted file mode 100644 index 175c9e5..0000000 --- a/docs/buildah_containers_inventory.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.buildah_containers inventory — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.buildah_containers inventory

-

The documentation for the inventory plugin, containers.podman.buildah_containers, was malformed.

-

The errors were:

-
    -
  • 1 validation error for PluginDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/collections/containers/index.html b/docs/collections/containers/index.html new file mode 100644 index 0000000..2f8cc92 --- /dev/null +++ b/docs/collections/containers/index.html @@ -0,0 +1,166 @@ + + + + + + + + + + Collections in the Containers Namespace — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

Collections in the Containers Namespace

+

These are the collections documented here in the containers namespace.

+ +
+
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/buildah_connection.html b/docs/collections/containers/podman/buildah_connection.html new file mode 100644 index 0000000..fe6c48f --- /dev/null +++ b/docs/collections/containers/podman/buildah_connection.html @@ -0,0 +1,249 @@ + + + + + + + + + + containers.podman.buildah connection – Interact with an existing buildah container — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.buildah connection – Interact with an existing buildah container

+
+

Note

+

This connection plugin is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.buildah.

+
+ +
+

Synopsis

+
    +
  • Run commands or put/fetch files to an existing container using buildah tool.

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

remote_addr

+

string

+

The ID of the container you want to access.

+

Default: "inventory_hostname"

+

Configuration:

+
    +
  • Variable: ansible_host

  • +
  • Variable: inventory_hostname

  • +
+
+

remote_user

+

string

+

User specified via name or ID which is used to execute commands inside the container.

+

Configuration:

+
    +
  • INI entry:

    +
    [defaults]
    +remote_user = VALUE
    +
    +
    +
  • +
  • Environment variable: ANSIBLE_REMOTE_USER

  • +
  • Variable: ansible_user

  • +
+
+
+

Note

+

Configuration entries listed above for each entry type (Ansible variable, environment variable, and so on) have a low to high priority order. +For example, a variable that is lower in the list will override a variable that is higher up. +The entry types are also ordered by precedence from low to high priority order. +For example, an ansible.cfg entry (further up in the list) is overwritten by an Ansible variable (further down in the list).

+
+
+

Authors

+
    +
  • Tomas Tomecek (@TomasTomecek)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/buildah_containers_inventory.html b/docs/collections/containers/podman/buildah_containers_inventory.html new file mode 100644 index 0000000..8d06c5e --- /dev/null +++ b/docs/collections/containers/podman/buildah_containers_inventory.html @@ -0,0 +1,262 @@ + + + + + + + + + + containers.podman.buildah_containers inventory – Inventory plugin that discovers Buildah working containers as hosts — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.buildah_containers inventory – Inventory plugin that discovers Buildah working containers as hosts

+
+

Note

+

This inventory plugin is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.buildah_containers.

+
+

New in containers.podman 1.18.0

+ +
+

Synopsis

+
    +
  • Discover Buildah working containers on the local host and add them as inventory hosts.

  • +
  • Each discovered host is assigned the Buildah connection plugin so tasks execute inside the working container.

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

connection_plugin

+

string

+

Fully-qualified connection plugin to use for discovered hosts.

+

Default: "containers.podman.buildah"

+
+

executable

+

string

+

Path to the buildah executable.

+

Default: "buildah"

+

Configuration:

+ +
+

name_patterns

+

list / elements=string

+

Glob patterns to match working container names or IDs; empty means include all.

+

Default: []

+
+

plugin

+

string / required

+

Token that ensures this is a source file for the ‘containers.podman.buildah_containers’ inventory plugin.

+

Choices:

+
    +
  • "containers.podman.buildah_containers"

  • +
+
+
+
+

Examples

+
plugin: containers.podman.buildah_containers
+connection_plugin: containers.podman.buildah
+name_patterns:
+  - my-build-*
+
+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/index.html b/docs/collections/containers/podman/index.html new file mode 100644 index 0000000..7a06b5c --- /dev/null +++ b/docs/collections/containers/podman/index.html @@ -0,0 +1,261 @@ + + + + + + + + + + Containers.Podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

Containers.Podman

+

Collection version 1.17.0

+ +
+

Description

+

Podman container Ansible modules

+

Authors:

+ +

Supported ansible-core versions:

+
    +
  • 2.8 or newer

  • +
+ +
+
+
+
+

Plugin Index

+

These are the plugins in the containers.podman collection:

+
+

Modules

+ +
+
+
+
+

Become Plugins

+ +
+
+
+
+

Connection Plugins

+ +
+
+
+
+

Inventory Plugins

+ +
+
+
+

See also

+

List of collections with docs hosted here.

+
+
+
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_connection.html b/docs/collections/containers/podman/podman_connection.html new file mode 100644 index 0000000..9cba196 --- /dev/null +++ b/docs/collections/containers/podman/podman_connection.html @@ -0,0 +1,282 @@ + + + + + + + + + + containers.podman.podman connection – Interact with an existing podman container — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman connection – Interact with an existing podman container

+
+

Note

+

This connection plugin is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman.

+
+ +
+

Synopsis

+
    +
  • Run commands or put/fetch files to an existing container using podman tool.

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

podman_executable

+

string

+

Executable for podman command.

+

Default: "podman"

+

Configuration:

+ +
+

podman_extra_args

+

string

+

Extra arguments to pass to the podman command line.

+

Default: ""

+

Configuration:

+
    +
  • INI entry:

    +
    [defaults]
    +podman_extra_args = ""
    +
    +
    +
  • +
  • Environment variable: ANSIBLE_PODMAN_EXTRA_ARGS

  • +
  • Variable: ansible_podman_extra_args

  • +
+
+

remote_addr

+

string

+

The ID of the container you want to access.

+

Default: "inventory_hostname"

+

Configuration:

+
    +
  • Variable: ansible_host

  • +
  • Variable: inventory_hostname

  • +
  • Variable: ansible_podman_host

  • +
+
+

remote_user

+

string

+

User specified via name or UID which is used to execute commands inside the container. If you specify the user via UID, you must set ANSIBLE_REMOTE_TMP to a path that exits inside the container and is writable by Ansible.

+

Configuration:

+
    +
  • INI entry:

    +
    [defaults]
    +remote_user = VALUE
    +
    +
    +
  • +
  • Environment variable: ANSIBLE_REMOTE_USER

  • +
  • Variable: ansible_user

  • +
+
+
+

Note

+

Configuration entries listed above for each entry type (Ansible variable, environment variable, and so on) have a low to high priority order. +For example, a variable that is lower in the list will override a variable that is higher up. +The entry types are also ordered by precedence from low to high priority order. +For example, an ansible.cfg entry (further up in the list) is overwritten by an Ansible variable (further down in the list).

+
+
+

Authors

+
    +
  • Tomas Tomecek (@TomasTomecek)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_container_copy_module.html b/docs/collections/containers/podman/podman_container_copy_module.html new file mode 100644 index 0000000..5c43701 --- /dev/null +++ b/docs/collections/containers/podman/podman_container_copy_module.html @@ -0,0 +1,303 @@ + + + + + + + + + + containers.podman.podman_container_copy module – Copy file to/from a container — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_container_copy module – Copy file to/from a container

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman_container_copy.

+
+ +
+

Synopsis

+
    +
  • Copy file or folder from the host to a container and vice-versa.

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

archive

+

boolean

+

Chown copied files to the primary uid/gid of the destination container.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

container

+

string / required

+

Name/ID of the container to copy from/to

+
+

dest

+

string / required

+

Path of the destination file/folder to copy from/to the container

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

from_container

+

boolean

+

Specify whether or not the file must be copied from the container to the host

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

overwrite

+

boolean

+

Allow to overwrite directories with non-directories and vice versa

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

src

+

string / required

+

Path of the file/folder to copy from/to the container

+
+
+
+

Notes

+
+

Note

+
    +
  • Podman may required elevated privileges in order to run properly.

  • +
+
+
+
+

Examples

+
- name: Copy file "test.yml" on the host to the "apache" container's root folder
+  containers.podman.podman_container_copy:
+    src: test.yml
+    dest: /
+    container: apache
+- name: Copy file "test.yml" in the "apache" container's root folder to the playbook's folder
+  containers.podman.podman_container_copy:
+    src: /test.yml
+    dest: ./
+    container: apache
+    from_container: True
+
+
+
+

Authors

+
    +
  • Alessandro Rossi (@kubealex)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_container_exec_module.html b/docs/collections/containers/podman/podman_container_exec_module.html new file mode 100644 index 0000000..7bf4d16 --- /dev/null +++ b/docs/collections/containers/podman/podman_container_exec_module.html @@ -0,0 +1,397 @@ + + + + + + + + + + containers.podman.podman_container_exec module – Executes a command in a running container. — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_container_exec module – Executes a command in a running container.

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_container_exec.

+
+ +
+

Synopsis

+
    +
  • Executes a command in a running container.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

argv

+

list / elements=string

+

Passes the command as a list rather than a string.

+

One of the command or args is required.

+
+

command

+

string

+

The command to run in the container.

+

One of the command or args is required.

+
+

detach

+

boolean

+

If true, the command runs in the background.

+

The exec session is automatically removed when it completes.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

env

+

dictionary

+

Set environment variables.

+
+

executable

+

string

+

The path to the podman executable.

+

Default: "podman"

+
+

name

+

string / required

+

Name of the container where the command is executed.

+
+

privileged

+

boolean

+

Give extended privileges to the container.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

tty

+

boolean

+

Allocate a pseudo-TTY.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

user

+

string

+

The username or UID used and, optionally, the groupname or GID for the specified command.

+

Both user and group may be symbolic or numeric.

+
+

workdir

+

string

+

Working directory inside the container.

+
+
+
+

Notes

+
+

Note

+ +
+
+
+

Examples

+
- name: Execute a command with workdir
+  containers.podman.podman_container_exec:
+    name: ubi8
+    command: "cat redhat-release"
+    workdir: /etc
+
+- name: Execute a command with a list of args and environment variables
+  containers.podman.podman_container_exec:
+    name: test_container
+    argv:
+      - /bin/sh
+      - -c
+      - echo $HELLO $BYE
+    env:
+      HELLO: hello world
+      BYE: goodbye world
+
+- name: Execute command in background by using detach
+  containers.podman.podman_container_exec:
+    name: detach_container
+    command: "cat redhat-release"
+    detach: true
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + + + + + + + + + + +

Key

Description

+

exec_id

+

string

+

The ID of the exec session.

+

Returned: success and detach=true

+

Sample: "f99002e34c1087fd1aa08d5027e455bf7c2d6b74f019069acf6462a96ddf2a47"

+
+

rc

+

integer

+

The exit code of the command executed in the container.

+

Returned: success

+

Sample: 0

+
+

stderr

+

string

+

The standard output of the command executed in the container.

+

Returned: success

+
+

stdout

+

string

+

The standard output of the command executed in the container.

+

Returned: success

+
+
+

Authors

+
    +
  • Takuya Nishimura (@nishipy)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_container_info_module.html b/docs/collections/containers/podman/podman_container_info_module.html new file mode 100644 index 0000000..88ecfe6 --- /dev/null +++ b/docs/collections/containers/podman/podman_container_info_module.html @@ -0,0 +1,295 @@ + + + + + + + + + + containers.podman.podman_container_info module – Gather facts about containers using podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_container_info module – Gather facts about containers using podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_container_info.

+
+ +
+

Synopsis

+
    +
  • Gather facts about containers using podman

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

name

+

list / elements=string

+

List of container names to gather facts about. If no name is given return facts about all containers.

+
+

podman_socket

+

string

+

Unix socket address for API connection. If API is not available, the module will fail.

+
+
+
+

Notes

+
+

Note

+
    +
  • Podman may require elevated privileges in order to run properly.

  • +
+
+
+
+

Examples

+
- name: Gather facts for all containers
+  containers.podman.podman_container_info:
+
+- name: Gather facts on a specific container
+  containers.podman.podman_container_info:
+    name: web1
+
+- name: Gather facts on several containers
+  containers.podman.podman_container_info:
+    name:
+      - redis
+      - web1
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

containers

+

list / elements=dictionary

+

Facts from all or specified containers

+

Returned: always

+

Sample: [{"AppArmorProfile": "", "Args": ["/entrypoint.sh"], "BoundingCaps": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_KILL", "CAP_NET_BIND_SERVICE", "CAP_SETFCAP", "CAP_SETGID", "CAP_SETPCAP", "CAP_SETUID", "CAP_SYS_CHROOT"], "Config": {"Annotations": {"io.container.manager": "libpod", "org.opencontainers.image.stopSignal": "15"}, "AttachStderr": false, "AttachStdin": false, "AttachStdout": false, "Cmd": null, "CreateCommand": ["podman", "run", "-d", "--name", "test", "-p", "8888:80", "registry/org/image:latest"], "Domainname": "", "Entrypoint": "/entrypoint.sh", "Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "container=podman", "HOME=/root", "HOSTNAME=444a8274863a"], "HealthcheckOnFailureAction": "none", "Hostname": "444a8274863a", "Image": "registry/org/image:latest", "Labels": {"io.buildah.version": "1.31.2"}, "OnBuild": null, "OpenStdin": false, "Passwd": true, "StdinOnce": false, "StopSignal": 15, "StopTimeout": 10, "Timeout": 0, "Tty": false, "Umask": "0022", "User": "", "Volumes": null, "WorkingDir": "/", "sdNotifyMode": "container"}, "ConmonPidFile": "/run/user/1000/containers/overlay-containers/d38a.../userdata/conmon.pid", "Created": "2024-08-14T00:04:33.127266655+03:00", "Dependencies": [], "Driver": "overlay", "EffectiveCaps": ["CAP_CHOWN", "CAP_DAC_OVERRIDE", "CAP_FOWNER", "CAP_FSETID", "CAP_KILL", "CAP_NET_BIND_SERVICE", "CAP_SETFCAP", "CAP_SETGID", "CAP_SETPCAP", "CAP_SETUID", "CAP_SYS_CHROOT"], "ExecIDs": [], "GraphDriver": {"Data": {"LowerDir": "/home/podman/.local/share/containers/storage/overlay/29e2.../diff:...", "MergedDir": "/home/podman/.local/share/containers/storage/overlay/865909.../merged", "UpperDir": "/home/podman/.local/share/containers/storage/overlay/865909.../diff", "WorkDir": "/home/podman/.local/share/containers/storage/overlay/865909.../work"}, "Name": "overlay"}, "HostConfig": {"AutoRemove": false, "Binds": [], "BlkioDeviceReadBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceWriteIOps": null, "BlkioWeight": 0, "BlkioWeightDevice": null, "CapAdd": [], "CapDrop": [], "Cgroup": "", "CgroupConf": null, "CgroupManager": "systemd", "CgroupMode": "private", "CgroupParent": "user.slice", "Cgroups": "default", "ConsoleSize": [0, 0], "ContainerIDFile": "", "CpuCount": 0, "CpuPercent": 0, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpuShares": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": [], "DiskQuota": 0, "Dns": [], "DnsOptions": [], "DnsSearch": [], "ExtraHosts": [], "GroupAdd": [], "IOMaximumBandwidth": 0, "IOMaximumIOps": 0, "IpcMode": "shareable", "Isolation": "", "KernelMemory": 0, "Links": null, "LogConfig": {"Config": null, "Path": "", "Size": "0B", "Tag": "", "Type": "journald"}, "Memory": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": 0, "NanoCpus": 0, "NetworkMode": "slirp4netns", "OomKillDisable": false, "OomScoreAdj": 0, "PidMode": "private", "PidsLimit": 2048, "PortBindings": {"80/tcp": [{"HostIp": "", "HostPort": "8888"}]}, "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "RestartPolicy": {"MaximumRetryCount": 0, "Name": ""}, "Runtime": "oci", "SecurityOpt": [], "ShmSize": 65536000, "Tmpfs": {}, "UTSMode": "private", "Ulimits": [{"Hard": 524288, "Name": "RLIMIT_NOFILE", "Soft": 524288}, {"Hard": 256018, "Name": "RLIMIT_NPROC", "Soft": 256018}], "UsernsMode": "", "VolumeDriver": "", "VolumesFrom": null}, "HostnamePath": "/run/user/1000/containers/overlay-containers/d38a.../userdata/hostname", "HostsPath": "/run/user/1000/containers/overlay-containers/d38a.../userdata/hosts", "Id": "d38a8fcd61ab7e0754355e8fb3acc201e07770f3d1fd8fed36556941ac458ce", "Image": "fe2ba3a8ede60e5938e666b483c3a812ba902dac2303341930fbadc0482592b7", "ImageDigest": "sha256:1222865ed7489298ee28414ddedb63a0c6405938c3a38adf21c8656d7f532271", "ImageName": "registry/org/image:latest", "IsInfra": false, "IsService": false, "KubeExitCodePropagation": "invalid", "MountLabel": "system_u:object_r:container_file_t:s0:c493,c986", "Mounts": [], "Name": "costapp", "Namespace": "", "NetworkSettings": {"Bridge": "", "EndpointID": "", "Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "HairpinMode": false, "IPAddress": "", "IPPrefixLen": 0, "IPv6Gateway": "", "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "MacAddress": "", "Ports": {"80/tcp": [{"HostIp": "", "HostPort": "8888"}]}, "SandboxID": "", "SandboxKey": "/run/user/1000/netns/netns-2343321-795a-8289-14c0-77ee2556ebf1"}, "OCIConfigPath": "/home/podman/.local/share/containers/....json", "OCIRuntime": "crun", "Path": "/entrypoint.sh", "PidFile": "/run/user/1000/containers/overlay-containers/d38a.../userdata/pidfile", "Pod": "", "ProcessLabel": "system_u:system_r:container_t:s0:c493,c986", "ResolvConfPath": "/run/user/1000/containers/overlay-containers/d38a.../userdata/resolv.conf", "RestartCount": 0, "Rootfs": "", "State": {"CgroupPath": "/user.slice/user-1000.slice/user@1000.service/user.slice/libpod-d38a....scope", "CheckpointedAt": "0001-01-01T00:00:00Z", "ConmonPid": 2434162, "Dead": false, "Error": "", "ExitCode": 0, "FinishedAt": "0001-01-01T00:00:00Z", "Health": {"FailingStreak": 0, "Log": null, "Status": ""}, "OOMKilled": false, "OciVersion": "1.1.0+dev", "Paused": false, "Pid": 2434164, "Restarting": false, "RestoredAt": "0001-01-01T00:00:00Z", "Running": true, "StartedAt": "2024-08-14T00:04:33.237286439+03:00", "Status": "running"}, "StaticDir": "/home/podman/.local/share/containers/storage/overlay-containers/d38a.../userdata", "lockNumber": 1417}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@podman)

  • +
  • Emilien Macchi (@EmilienM)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_container_module.html b/docs/collections/containers/podman/podman_container_module.html new file mode 100644 index 0000000..5f38cf6 --- /dev/null +++ b/docs/collections/containers/podman/podman_container_module.html @@ -0,0 +1,1941 @@ + + + + + + + + + + containers.podman.podman_container module – Manage podman containers — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_container module – Manage podman containers

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_container.

+
+

New in containers.podman 1.0.0

+ +
+

Synopsis

+
    +
  • Start, stop, restart and manage Podman containers

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

annotation

+

dictionary

+

Add an annotation to the container. The format is key value, multiple times.

+
+

arch

+

string

+

Set the architecture for the container. Override the architecture, defaults to hosts, of the image to be pulled. For example, arm.

+
+

attach

+

list / elements=string

+

Attach to STDIN, STDOUT or STDERR. The default in Podman is false.

+

Choices:

+
    +
  • "stdin"

  • +
  • "stdout"

  • +
  • "stderr"

  • +
+
+

authfile

+

path

+

Path of the authentication file. Default is ``${XDG_RUNTIME_DIR}/containers/auth.json`` (Not available for remote commands) You can also override the default path of the authentication file by setting the ``REGISTRY_AUTH_FILE`` environment variable. ``export REGISTRY_AUTH_FILE=path``

+
+

blkio_weight

+

integer

+

Block IO weight (relative weight) accepts a weight value between 10 and 1000

+
+

blkio_weight_device

+

dictionary

+

Block IO weight (relative device weight, format DEVICE_NAME[:]WEIGHT).

+
+
+

cap_add

+

aliases: capabilities

+

list / elements=string

+

List of capabilities to add to the container.

+
+

cap_drop

+

list / elements=string

+

List of capabilities to drop from the container.

+
+

cgroup_conf

+

dictionary

+

When running on cgroup v2, specify the cgroup file to write to and its value.

+
+

cgroup_parent

+

path

+

Path to cgroups under which the cgroup for the container will be created. If the path is not absolute, the path is considered to be relative to the cgroups path of the init process. Cgroups will be created if they do not already exist.

+
+

cgroupns

+

string

+

Path to cgroups under which the cgroup for the container will be created.

+
+

cgroups

+

string

+

Determines whether the container will create CGroups. Valid values are enabled and disabled, which the default being enabled. The disabled option will force the container to not create CGroups, and thus conflicts with CGroup options cgroupns and cgroup-parent.

+
+

chrootdirs

+

string

+

Path to a directory inside the container that is treated as a chroot directory.

+
+

cidfile

+

path

+

Write the container ID to the file

+
+

cmd_args

+

list / elements=string

+

Any additional command options you want to pass to podman command itself, for example --log-level=debug or --syslog. This is NOT command to run in container, but rather options for podman itself. For container command please use command option.

+
+

command

+

any

+

Override command of container. Can be a string or a list.

+
+

conmon_pidfile

+

path

+

Write the pid of the conmon process to a file. conmon runs in a separate process than Podman, so this is necessary when using systemd to restart Podman containers.

+
+

cpu_period

+

integer

+

Limit the CPU CFS (Completely Fair Scheduler) period

+
+

cpu_quota

+

integer

+

Limit the CPU CFS (Completely Fair Scheduler) quota

+
+

cpu_rt_period

+

integer

+

Limit the CPU real-time period in microseconds. Limit the container’s Real Time CPU usage. This flag tell the kernel to restrict the container’s Real Time CPU usage to the period you specify.

+
+

cpu_rt_runtime

+

integer

+

Limit the CPU real-time runtime in microseconds. This flag tells the kernel to limit the amount of time in a given CPU period Real Time tasks may consume.

+
+

cpu_shares

+

integer

+

CPU shares (relative weight)

+
+

cpus

+

string

+

Number of CPUs. The default is 0.0 which means no limit.

+
+

cpuset_cpus

+

string

+

CPUs in which to allow execution (0-3, 0,1)

+
+

cpuset_mems

+

string

+

Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems.

+
+

debug

+

boolean

+

Return additional information which can be helpful for investigations.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

decryption_key

+

string

+

The “key-passphrase” to be used for decryption of images. Key can point to keys and/or certificates.

+
+

delete_depend

+

boolean

+

Remove selected container and recursively remove all containers that depend on it. Applies to “delete” command.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

delete_time

+

string

+

Seconds to wait before forcibly stopping the container. Use -1 for infinite wait. Applies to “delete” command.

+
+

delete_volumes

+

boolean

+

Remove anonymous volumes associated with the container. This does not include named volumes created with podman volume create, or the –volume option of podman run and podman create.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

detach

+

boolean

+

Run container in detach mode

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

detach_keys

+

string

+

Override the key sequence for detaching a container. Format is a single character or ctrl-value

+
+

device

+

list / elements=string

+

Add a host device to the container. The format is <device-on-host>[:<device-on-container>][:<permissions>] (e.g. device /dev/sdc:/dev/xvdc:rwm)

+
+

device_cgroup_rule

+

string

+

Add a rule to the cgroup allowed devices list. The rule is expected to be in the format specified in the Linux kernel documentation admin-guide/cgroup-v1/devices.

+
+

device_read_bps

+

list / elements=string

+

Limit read rate (bytes per second) from a device (e.g. device-read-bps /dev/sda:1mb)

+
+

device_read_iops

+

list / elements=string

+

Limit read rate (IO per second) from a device (e.g. device-read-iops /dev/sda:1000)

+
+

device_write_bps

+

list / elements=string

+

Limit write rate (bytes per second) to a device (e.g. device-write-bps /dev/sda:1mb)

+
+

device_write_iops

+

list / elements=string

+

Limit write rate (IO per second) to a device (e.g. device-write-iops /dev/sda:1000)

+
+
+

dns

+

aliases: dns_servers

+

list / elements=string

+

Set custom DNS servers

+
+
+

dns_option

+

aliases: dns_opts

+

string

+

Set custom DNS options

+
+ +

dns_search

+

aliases: dns_search_domains

+

list / elements=string

+

Set custom DNS search domains (Use dns_search with ‘’ if you don’t wish to set the search domain)

+
+

entrypoint

+

string

+

Overwrite the default ENTRYPOINT of the image

+
+

env

+

dictionary

+

Set environment variables. This option allows you to specify arbitrary environment variables that are available for the process that will be launched inside of the container.

+
+
+

env_file

+

aliases: env_files

+

list / elements=path

+

Read in a line delimited file of environment variables. Doesn’t support idempotency. If users changes the file with environment variables it’s on them to recreate the container. The file must be present on the REMOTE machine where actual podman is running, not on the controller machine where Ansible is executing. If you need to copy the file from controller to remote machine, use the copy or slurp module.

+
+

env_host

+

boolean

+

Use all current host environment variables in container. Defaults to false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

env_merge

+

dictionary

+

Preprocess default environment variables for the containers

+
+
+

etc_hosts

+

aliases: add_hosts

+

dictionary

+

Dict of host-to-IP mappings, where each host name is a key in the dictionary. Each host name will be added to the container’s ``/etc/hosts`` file.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+
+
+

expose

+

aliases: exposed, exposed_ports

+

list / elements=string

+

Expose a port, or a range of ports (e.g. expose “3300-3310”) to set up port redirection on the host system.

+
+

force_delete

+

boolean

+

Force deletion of container when it’s being deleted.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+
+

force_restart

+

aliases: restart

+

boolean

+

Force restart of container.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

generate_systemd

+

dictionary

+

Generate systemd unit file for container.

+

Default: {}

+
+

after

+

list / elements=string

+

Add the systemd unit after (After=) option, that ordering dependencies between the list of dependencies and this service.

+
+

container_prefix

+

string

+

Set the systemd unit name prefix for containers. The default is “container”.

+
+

names

+

boolean

+

Use names of the containers for the start, stop, and description in the unit file. Default is true.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

new

+

boolean

+

Create containers and pods when the unit is started instead of expecting them to exist. The default is “false”. Refer to podman-generate-systemd(1) for more information.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

no_header

+

boolean

+

Do not generate the header including meta data such as the Podman version and the timestamp. From podman version 3.1.0.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

path

+

string

+

Specify a path to the directory where unit files will be generated. Required for this option. If it doesn’t exist, the directory will be created.

+
+

pod_prefix

+

string

+

Set the systemd unit name prefix for pods. The default is “pod”.

+
+

requires

+

list / elements=string

+

Set the systemd unit requires (Requires=) option. Similar to wants, but declares a stronger requirement dependency.

+
+

restart_policy

+

string

+

Specify a restart policy for the service. The restart-policy must be one of “no”, “on-success”, “on-failure”, “on-abnormal”, “on-watchdog”, “on-abort”, or “always”. The default policy is “on-failure”.

+

Choices:

+
    +
  • "no"

  • +
  • "on-success"

  • +
  • "on-failure"

  • +
  • "on-abnormal"

  • +
  • "on-watchdog"

  • +
  • "on-abort"

  • +
  • "always"

  • +
+
+

restart_sec

+

integer

+

Set the systemd service restartsec value.

+
+

separator

+

string

+

Set the systemd unit name separator between the name/id of a container/pod and the prefix. The default is “-” (dash).

+
+

start_timeout

+

integer

+

Override the default start timeout for the container with the given value.

+
+
+

stop_timeout

+

aliases: time

+

integer

+

Override the default stop timeout for the container with the given value. Called `time` before version 4.

+
+

wants

+

list / elements=string

+

Add the systemd unit wants (Wants=) option, that this service is (weak) dependent on.

+
+

gidmap

+

list / elements=string

+

Run the container in a new user namespace using the supplied mapping.

+
+

gpus

+

string

+

GPU devices to add to the container.

+
+
+

group_add

+

aliases: groups

+

list / elements=string

+

Add additional groups to run as

+
+

group_entry

+

string

+

Customize the entry that is written to the /etc/group file within the container when –user is used.

+
+

health_startup_cmd

+

string

+

Set a startup healthcheck command for a container.

+
+

health_startup_interval

+

string

+

Set an interval for the startup healthcheck.

+
+

health_startup_retries

+

integer

+

The number of attempts allowed before the startup healthcheck restarts the container. If set to 0, the container is never restarted. The default is 0.

+
+

health_startup_success

+

integer

+

The number of successful runs required before the startup healthcheck succeeds and the regular healthcheck begins. A value of 0 means that any success begins the regular healthcheck. The default is 0.

+
+

health_startup_timeout

+

string

+

The maximum time a startup healthcheck command has to complete before it is marked as failed.

+
+
+

healthcheck

+

aliases: health_cmd

+

string

+

Set or alter a healthcheck command for a container.

+
+
+

healthcheck_failure_action

+

aliases: health_on_failure

+

string

+

The action to be taken when the container is considered unhealthy. The action must be one of “none”, “kill”, “restart”, or “stop”. The default policy is “none”.

+

Choices:

+
    +
  • "none"

  • +
  • "kill"

  • +
  • "restart"

  • +
  • "stop"

  • +
+
+
+

healthcheck_interval

+

aliases: health_interval

+

string

+

Set an interval for the healthchecks (a value of disable results in no automatic timer setup) (default “30s”)

+
+
+

healthcheck_retries

+

aliases: health_retries

+

integer

+

The number of retries allowed before a healthcheck is considered to be unhealthy. The default value is 3.

+
+
+

healthcheck_start_period

+

aliases: health_start_period

+

string

+

The initialization time needed for a container to bootstrap. The value can be expressed in time format like 2m3s. The default value is 0s

+
+
+

healthcheck_timeout

+

aliases: health_timeout

+

string

+

The maximum time allowed to complete the healthcheck before an interval is considered failed. Like start-period, the value can be expressed in a time format such as 1m22s. The default value is 30s

+
+

hooks_dir

+

list / elements=string

+

Each .json file in the path configures a hook for Podman containers. For more details on the syntax of the JSON files and the semantics of hook injection, see oci-hooks(5). Can be set multiple times.

+
+

hostname

+

string

+

Container host name. Sets the container host name that is available inside the container.

+
+

hostuser

+

string

+

Add a user account to /etc/passwd from the host to the container. The Username or UID must exist on the host system.

+
+

http_proxy

+

boolean

+

By default proxy environment variables are passed into the container if set for the podman process. This can be disabled by setting the http_proxy option to false. The environment variables passed in include http_proxy, https_proxy, ftp_proxy, no_proxy, and also the upper case versions of those. Defaults to true

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

image

+

string

+

Repository path (or image name) and tag used to create the container. If an image is not found, the image will be pulled from the registry. If no tag is included, latest will be used.

+

Can also be an image ID. If this is the case, the image is assumed to be available locally.

+
+

image_strict

+

boolean

+

Whether to compare images in idempotency by taking into account a full name with registry and namespaces.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

image_volume

+

string

+

Tells podman how to handle the builtin image volumes. The options are bind, tmpfs, or ignore (default bind)

+

Choices:

+
    +
  • "bind"

  • +
  • "tmpfs"

  • +
  • "ignore"

  • +
+
+

init

+

boolean

+

Run an init inside the container that forwards signals and reaps processes. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

init_ctr

+

string

+

(Pods only). When using pods, create an init style container, which is run after the infra container is started but before regular pod containers are started.

+

Choices:

+
    +
  • "once"

  • +
  • "always"

  • +
+
+

init_path

+

string

+

Path to the container-init binary.

+
+

interactive

+

boolean

+

Keep STDIN open even if not attached. The default is false. When set to true, keep stdin open even if not attached. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

ip

+

string

+

Specify a static IP address for the container, for example ‘10.88.64.128’. Can only be used if no additional CNI networks to join were specified via ‘network:’, and if the container is not joining another container’s network namespace via ‘network container:<name|id>’. The address must be within the default CNI network’s pool (default 10.88.0.0/16).

+
+

ip6

+

string

+

Specify a static IPv6 address for the container

+
+
+

ipc

+

aliases: ipc_mode

+

string

+

Default is to create a private IPC namespace (POSIX SysV IPC) for the container

+
+

kernel_memory

+

string

+

Kernel memory limit (format <number>[<unit>], where unit = b, k, m or g) Note - idempotency is supported for integers only.

+
+
+

label

+

aliases: labels

+

dictionary

+

Add metadata to a container, pass dictionary of label names and values

+
+

label_file

+

string

+

Read in a line delimited file of labels

+
+

log_driver

+

string

+

Logging driver. Used to set the log driver for the container. For example log_driver “k8s-file”.

+

Choices:

+
    +
  • "k8s-file"

  • +
  • "journald"

  • +
  • "json-file"

  • +
+
+

log_level

+

string

+

Logging level for Podman. Log messages above specified level (“debug”|”info”|”warn”|”error”|”fatal”|”panic”) (default “error”)

+

Choices:

+
    +
  • "debug"

  • +
  • "info"

  • +
  • "warn"

  • +
  • "error"

  • +
  • "fatal"

  • +
  • "panic"

  • +
+
+
+

log_opt

+

aliases: log_options

+

dictionary

+

Logging driver specific options. Used to set the path to the container log file.

+
+
+

max_size

+

string

+

Specify a max size of the log file (e.g 10mb).

+
+
+

path

+

string

+

Specify a path to the log file (e.g. /var/log/container/mycontainer.json).

+
+
+

tag

+

string

+

Specify a custom log tag for the container.

+
+

mac_address

+

string

+

Specify a MAC address for the container, for example ‘92:d0:c6:0a:29:33’. Don’t forget that it must be unique within one Ethernet network.

+
+

memory

+

string

+

Memory limit (format 10k, where unit = b, k, m or g) Note - idempotency is supported for integers only.

+
+

memory_reservation

+

string

+

Memory soft limit (format 100m, where unit = b, k, m or g) Note - idempotency is supported for integers only.

+
+

memory_swap

+

string

+

A limit value equal to memory plus swap. Must be used with the -m (–memory) flag. The swap LIMIT should always be larger than -m (–memory) value. By default, the swap LIMIT will be set to double the value of –memory Note - idempotency is supported for integers only.

+
+

memory_swappiness

+

integer

+

Tune a container’s memory swappiness behavior. Accepts an integer between 0 and 100.

+
+
+

mount

+

aliases: mounts

+

list / elements=string

+

Attach a filesystem mount to the container. bind or tmpfs For example mount “type=bind,source=/path/on/host,destination=/path/in/container”

+
+

name

+

string / required

+

Name of the container

+
+
+
+

network

+

aliases: net, network_mode

+

list / elements=string

+

Set the Network mode for the container.

+

bridge - create a network stack on the default bridge.

+

none - no networking.

+

container:<name|id> - reuse another container’s network stack.

+

host - use the podman host network stack.

+

<network-name>|<network-id> - connect to a user-defined network.

+

ns:<path> - path to a network namespace to join.

+

slirp4netns - use slirp4netns to create a user network stack. This is the default for rootless containers.

+
+
+

network_aliases

+

aliases: network_alias

+

list / elements=string

+

Add network-scoped alias for the container. A container will only have access to aliases on the first network that it joins. This is a limitation that will be removed in a later release.

+
+

no_healthcheck

+

boolean

+

Disable any defined healthchecks for container.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

no_hosts

+

boolean

+

Do not create /etc/hosts for the container Default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

oom_kill_disable

+

boolean

+

Whether to disable OOM Killer for the container or not. Default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

oom_score_adj

+

integer

+

Tune the host’s OOM preferences for containers (accepts -1000 to 1000)

+
+

os

+

string

+

Override the OS, defaults to hosts, of the image to be pulled. For example, windows.

+
+

passwd

+

boolean

+

Allow Podman to add entries to /etc/passwd and /etc/group when used in conjunction with the –user option. This is used to override the Podman provided user setup in favor of entrypoint configurations such as libnss-extrausers.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

passwd_entry

+

string

+

Customize the entry that is written to the /etc/passwd file within the container when –passwd is used.

+
+

personality

+

string

+

Personality sets the execution domain via Linux personality(2).

+
+
+

pid

+

aliases: pid_mode

+

string

+

Set the PID mode for the container

+
+

pid_file

+

path

+

When the pidfile location is specified, the container process’ PID is written to the pidfile.

+
+

pids_limit

+

string

+

Tune the container’s PIDs limit. Set -1 to have unlimited PIDs for the container.

+
+

platform

+

string

+

Specify the platform for selecting the image.

+
+

pod

+

string

+

Run container in an existing pod. If you want podman to make the pod for you, prefix the pod name with “new:”

+
+

pod_id_file

+

path

+

Run container in an existing pod and read the pod’s ID from the specified file. When a container is run within a pod which has an infra-container, the infra-container starts first.

+
+

podman_socket

+

string

+

Unix socket address for API connection. If API is not available, the module will fail.

+
+

preserve_fd

+

list / elements=string

+

Pass down to the process the additional file descriptors specified in the comma separated list.

+
+

preserve_fds

+

string

+

Pass down to the process N additional file descriptors (in addition to 0, 1, 2). The total FDs are 3\+N.

+
+

privileged

+

boolean

+

Give extended privileges to this container. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+
+
+
+

publish

+

aliases: ports, published, published_ports

+

list / elements=string

+

Publish a container’s port, or range of ports, to the host. Format - ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort In case of only containerPort is set, the hostPort will chosen randomly by Podman.

+
+

publish_all

+

boolean

+

Publish all exposed ports to random ports on the host interfaces. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

pull

+

string

+

Pull image policy. The default is ‘missing’.

+

Choices:

+
    +
  • "missing"

  • +
  • "always"

  • +
  • "never"

  • +
  • "newer"

  • +
+
+

quadlet_dir

+

path

+

Path to the directory to write quadlet file in. By default, it will be set as /etc/containers/systemd/ for root user, ~/.config/containers/systemd/ for non-root users.

+
+

quadlet_file_mode

+

any

+

The permissions of the quadlet file.

+

The quadlet_file_mode can be specied as octal numbers or as a symbolic mode (for example, u+rwx or u=rw,g=r,o=r). For octal numbers format, you must either add a leading zero so that Ansible’s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like '644' or '1777') so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results.

+

If quadlet_file_mode is not specified and the quadlet file does not exist, the default '0640' mask will be used when setting the mode for the newly created file.

+

If quadlet_file_mode is not specified and the quadlet file does exist, the mode of the existing file will be used.

+

Specifying quadlet_file_mode is the best way to ensure files are created with the correct permissions.

+
+

quadlet_filename

+

string

+

Name of quadlet file to write. By default it takes name value.

+
+

quadlet_options

+

list / elements=string

+

Options for the quadlet file. Provide missing in usual container args options as a list of lines to add.

+
+

rdt_class

+

string

+

Rdt-class sets the class of service (CLOS or COS) for the container to run in. Requires root.

+
+

read_only

+

boolean

+

Mount the container’s root filesystem as read only. Default is false

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

read_only_tmpfs

+

boolean

+

If container is running in –read-only mode, then mount a read-write tmpfs on /run, /tmp, and /var/tmp. The default is true

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

recreate

+

boolean

+

Use with present and started states to force the re-creation of an existing container.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

requires

+

list / elements=string

+

Specify one or more requirements. A requirement is a dependency container that will be started before this container. Containers can be specified by name or ID.

+
+

restart_policy

+

string

+

Restart policy to follow when containers exit. Restart policy will not take effect if a container is stopped via the podman kill or podman stop commands. Valid values are * no - Do not restart containers on exit * on-failure[:max_retries] - Restart containers when they exit with a non-0 exit code, retrying indefinitely or until the optional max_retries count is hit * always - Restart containers when they exit, regardless of status, retrying indefinitely

+
+

restart_time

+

string

+

Seconds to wait before forcibly stopping the container when restarting. Use -1 for infinite wait. Applies to “restarted” status.

+
+

retry

+

integer

+

Number of times to retry pulling or pushing images between the registry and local storage in case of failure. Default is 3.

+
+

retry_delay

+

string

+

Duration of delay between retry attempts when pulling or pushing images between the registry and local storage in case of failure.

+
+
+
+

rm

+

aliases: remove, auto_remove

+

boolean

+

Automatically remove the container when it exits. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

rmi

+

boolean

+

After exit of the container, remove the image unless another container is using it. Implies –rm on the new container. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

rootfs

+

boolean

+

If true, the first argument refers to an exploded container on the file system. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

sdnotify

+

string

+

Determines how to use the NOTIFY_SOCKET, as passed with systemd and Type=notify. Can be container, conmon, ignore. For quadlets it can also be healthy to use the built in health checks, see documentation for more details.

+
+

seccomp_policy

+

string

+

Specify the policy to select the seccomp profile.

+
+

secrets

+

list / elements=string

+

Add the named secrets into the container. The format is secret[,opt=opt...], see documentation for more details.

+
+

security_opt

+

list / elements=string

+

Security Options. For example security_opt “seccomp=unconfined”

+
+

shm_size

+

string

+

Size of /dev/shm. The format is <number><unit>. number must be greater than 0. Unit is optional and can be b (bytes), k (kilobytes), m(megabytes), or g (gigabytes). If you omit the unit, the system uses bytes. If you omit the size entirely, the system uses 64m

+
+

shm_size_systemd

+

string

+

Size of systemd-specific tmpfs mounts such as /run, /run/lock, /var/log/journal and /tmp.

+
+

sig_proxy

+

boolean

+

Proxy signals sent to the podman run command to the container process. SIGCHLD, SIGSTOP, and SIGKILL are not proxied. The default is true.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

state

+

string

+

absent - A container matching the specified name will be stopped and removed.

+

present - Asserts the existence of a container matching the name and any provided configuration parameters. If no container matches the name, a container will be created. If a container matches the name but the provided configuration does not match, the container will be updated, if it can be. If it cannot be updated, it will be removed and re-created with the requested config. Image version will be taken into account when comparing configuration. Use the recreate option to force the re-creation of the matching container.

+

started - Asserts there is a running container matching the name and any provided configuration. If no container matches the name, a container will be created and started. Use recreate to always re-create a matching container, even if it is running. Use force_restart to force a matching container to be stopped and restarted.

+

stopped - Asserts that the container is first present, and then if the container is running moves it to a stopped state.

+

created - Asserts that the container exists with given configuration. If container doesn’t exist, the module creates it and leaves it in ‘created’ state. If configuration doesn’t match or ‘recreate’ option is set, the container will be recreated

+

quadlet - Write a quadlet file with the specified configuration.

+

Choices:

+
    +
  • "absent"

  • +
  • "present"

  • +
  • "stopped"

  • +
  • "started" ← (default)

  • +
  • "created"

  • +
  • "quadlet"

  • +
+
+

stop_signal

+

integer

+

Signal to stop a container. Default is SIGTERM.

+
+

stop_time

+

string

+

Seconds to wait before forcibly stopping the container. Use -1 for infinite wait. Applies to “stopped” status.

+
+

stop_timeout

+

integer

+

Timeout (in seconds) to stop a container. Default is 10.

+
+

subgidname

+

string

+

Run the container in a new user namespace using the map with ‘name’ in the /etc/subgid file.

+
+

subuidname

+

string

+

Run the container in a new user namespace using the map with ‘name’ in the /etc/subuid file.

+
+

sysctl

+

dictionary

+

Configure namespaced kernel parameters at runtime

+
+

systemd

+

string

+

Run container in systemd mode. The default is true.

+
+

timeout

+

integer

+

Maximum time (in seconds) a container is allowed to run before conmon sends it the kill signal. By default containers run until they exit or are stopped by “podman stop”.

+
+

timezone

+

string

+

Set timezone in container. This flag takes area-based timezones, GMT time, as well as local, which sets the timezone in the container to match the host machine. See /usr/share/zoneinfo/ for valid timezones. Remote connections use local containers.conf for defaults.

+
+

tls_verify

+

boolean

+

Require HTTPS and verify certificates when pulling images.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

tmpfs

+

dictionary

+

Create a tmpfs mount. For example tmpfs “/tmp” “rw,size=787448k,mode=1777”

+
+

tty

+

boolean

+

Allocate a pseudo-TTY. The default is false.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

uidmap

+

list / elements=string

+

Run the container in a new user namespace using the supplied mapping.

+
+
+

ulimit

+

aliases: ulimits

+

list / elements=string

+

Ulimit options

+
+

umask

+

string

+

Set the umask inside the container. Defaults to 0022. Remote connections use local containers.conf for defaults.

+
+

unsetenv

+

list / elements=string

+

Unset default environment variables for the container.

+
+

unsetenv_all

+

boolean

+

Unset all default environment variables for the container.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

user

+

string

+

Sets the username or UID used and optionally the groupname or GID for the specified command.

+
+
+

userns

+

aliases: userns_mode

+

string

+

Set the user namespace mode for the container. It defaults to the PODMAN_USERNS environment variable. An empty value means user namespaces are disabled.

+
+

uts

+

string

+

Set the UTS mode for the container

+
+

variant

+

string

+

Use VARIANT instead of the default architecture variant of the container image.

+
+
+

volume

+

aliases: volumes

+

list / elements=string

+

Create a bind mount. If you specify, volume /HOST-DIR:/CONTAINER-DIR, podman bind mounts /HOST-DIR in the host to /CONTAINER-DIR in the podman container.

+
+

volumes_from

+

list / elements=string

+

Mount volumes from the specified container(s).

+
+
+

workdir

+

aliases: working_dir

+

string

+

Working directory inside the container. The default working directory for running binaries within a container is the root directory (/).

+
+
+
+

Examples

+
- name: Run container
+  containers.podman.podman_container:
+    name: container
+    image: quay.io/bitnami/wildfly
+    state: started
+
+- name: Create a data container
+  containers.podman.podman_container:
+    name: mydata
+    image: busybox
+    volume:
+      - /tmp/data
+
+- name: Re-create a redis container with systemd service file generated in /tmp/
+  containers.podman.podman_container:
+    name: myredis
+    image: redis
+    command: redis-server --appendonly yes
+    state: present
+    recreate: true
+    expose:
+      - 6379
+    volumes_from:
+      - mydata
+    generate_systemd:
+      path: /tmp/
+      restart_policy: always
+      stop_timeout: 120
+      names: true
+      container_prefix: ainer
+
+- name: Restart a container
+  containers.podman.podman_container:
+    name: myapplication
+    image: redis
+    state: started
+    restart: true
+    etc_hosts:
+        other: "127.0.0.1"
+    restart_policy: "no"
+    device: "/dev/sda:/dev/xvda:rwm"
+    ports:
+        - "8080:9000"
+        - "127.0.0.1:8081:9001/udp"
+    env:
+        SECRET_KEY: "ssssh"
+        BOOLEAN_KEY: "yes"
+
+- name: Container present
+  containers.podman.podman_container:
+    name: mycontainer
+    state: present
+    image: ubuntu:14.04
+    command: "sleep 1d"
+
+- name: Stop a container
+  containers.podman.podman_container:
+    name: mycontainer
+    state: stopped
+
+- name: Start 4 load-balanced containers
+  containers.podman.podman_container:
+    name: "container{{ item }}"
+    recreate: true
+    image: someuser/anotherappimage
+    command: sleep 1d
+  with_sequence: count=4
+
+- name: remove container
+  containers.podman.podman_container:
+    name: ohno
+    state: absent
+
+- name: Writing output
+  containers.podman.podman_container:
+    name: myservice
+    image: busybox
+    log_options: path=/var/log/container/mycontainer.json
+    log_driver: k8s-file
+
+- name: Run container with complex command with quotes
+  containers.podman.podman_container:
+    name: mycontainer
+    image: certbot/certbot
+    command:
+      - renew
+      - --deploy-hook
+      - "echo 1 > /var/lib/letsencrypt/complete"
+
+- name: Create a Quadlet file
+  containers.podman.podman_container:
+    name: quadlet-container
+    image: nginx
+    state: quadlet
+    quadlet_filename: custome-container
+    quadlet_file_mode: '0640'
+    device: "/dev/sda:/dev/xvda:rwm"
+    ports:
+      - "8080:80"
+    volumes:
+      - "/var/www:/usr/share/nginx/html"
+    quadlet_options:
+      - "AutoUpdate=registry"
+      - "Pull=newer"
+      - |
+        [Install]
+        WantedBy=default.target
+
+- name: Run container with Podman API
+  containers.podman.podman_container:
+    name: my_api_container
+    image: docker.io/library/busybox:latest
+    state: started
+    podman_socket: /var/run/podman/podman.sock
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

container

+

dictionary

+

Facts representing the current state of the container. Matches the podman inspection output.

+

Note that facts are part of the registered vars since Ansible 2.8. For compatibility reasons, the facts are also accessible directly as podman_container. Note that the returned fact will be removed in Ansible 2.12.

+

Empty if state is absent.

+

Returned: always

+

Sample: "{ \"Id\": \"d38a8fcd61ab7e0754355e8fb3acc201e07770f3d1fd8fed36556941ac458ce\", \"Created\": \"2024-08-14T00:04:33.127266655+03:00\", \"Path\": \"/entrypoint.sh\", \"Args\": [ \"/entrypoint.sh\" ], \"State\": { \"OciVersion\": \"1.1.0+dev\", \"Status\": \"running\", \"Running\": true, \"Paused\": false, \"Restarting\": false, \"OOMKilled\": false, \"Dead\": false, \"Pid\": 2434164, \"ConmonPid\": 2434162, \"ExitCode\": 0, \"Error\": \"\", \"StartedAt\": \"2024-08-14T00:04:33.237286439+03:00\", \"FinishedAt\": \"0001-01-01T00:00:00Z\", \"Health\": { \"Status\": \"\", \"FailingStreak\": 0, \"Log\": null }, \"CgroupPath\": \"/user.slice/user-1000.slice/user@1000.service/user.slice/libpod-d38a....scope\", \"CheckpointedAt\": \"0001-01-01T00:00:00Z\", \"RestoredAt\": \"0001-01-01T00:00:00Z\" }, \"Image\": \"fe2ba3a8ede60e5938e666b483c3a812ba902dac2303341930fbadc0482592b7\", \"ImageDigest\": \"sha256:1222865ed7489298ee28414ddedb63a0c6405938c3a38adf21c8656d7f532271\", \"ImageName\": \"registry/org/image:latest\", \"Rootfs\": \"\", \"Pod\": \"\", \"ResolvConfPath\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/resolv.conf\", \"HostnamePath\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/hostname\", \"HostsPath\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/hosts\", \"StaticDir\": \"/home/podman/.local/share/containers/storage/overlay-containers/d38a.../userdata\", \"OCIConfigPath\": \"/home/podman/.local/share/containers/....json\", \"OCIRuntime\": \"crun\", \"ConmonPidFile\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/conmon.pid\", \"PidFile\": \"/run/user/1000/containers/overlay-containers/d38a.../userdata/pidfile\", \"Name\": \"costapp\", \"RestartCount\": 0, \"Driver\": \"overlay\", \"MountLabel\": \"system_u:object_r:container_file_t:s0:c493,c986\", \"ProcessLabel\": \"system_u:system_r:container_t:s0:c493,c986\", \"AppArmorProfile\": \"\", \"EffectiveCaps\": [ \"CAP_CHOWN\", \"CAP_DAC_OVERRIDE\", \"CAP_FOWNER\", \"CAP_FSETID\", \"CAP_KILL\", \"CAP_NET_BIND_SERVICE\", \"CAP_SETFCAP\", \"CAP_SETGID\", \"CAP_SETPCAP\", \"CAP_SETUID\", \"CAP_SYS_CHROOT\" ], \"BoundingCaps\": [ \"CAP_CHOWN\", \"CAP_DAC_OVERRIDE\", \"CAP_FOWNER\", \"CAP_FSETID\", \"CAP_KILL\", \"CAP_NET_BIND_SERVICE\", \"CAP_SETFCAP\", \"CAP_SETGID\", \"CAP_SETPCAP\", \"CAP_SETUID\", \"CAP_SYS_CHROOT\" ], \"ExecIDs\": [], \"GraphDriver\": { \"Name\": \"overlay\", \"Data\": { \"LowerDir\": \"/home/podman/.local/share/containers/storage/overlay/29e2.../diff:...\", \"MergedDir\": \"/home/podman/.local/share/containers/storage/overlay/865909.../merged\", \"UpperDir\": \"/home/podman/.local/share/containers/storage/overlay/865909.../diff\", \"WorkDir\": \"/home/podman/.local/share/containers/storage/overlay/865909.../work\" } }, \"Mounts\": [], \"Dependencies\": [], \"NetworkSettings\": { \"EndpointID\": \"\", \"Gateway\": \"\", \"IPAddress\": \"\", \"IPPrefixLen\": 0, \"IPv6Gateway\": \"\", \"GlobalIPv6Address\": \"\", \"GlobalIPv6PrefixLen\": 0, \"MacAddress\": \"\", \"Bridge\": \"\", \"SandboxID\": \"\", \"HairpinMode\": false, \"LinkLocalIPv6Address\": \"\", \"LinkLocalIPv6PrefixLen\": 0, \"Ports\": { \"80/tcp\": [ { \"HostIp\": \"\", \"HostPort\": \"8888\" } ] }, \"SandboxKey\": \"/run/user/1000/netns/netns-2343321-795a-8289-14c0-77ee2556ebf1\" }, \"Namespace\": \"\", \"IsInfra\": false, \"IsService\": false, \"KubeExitCodePropagation\": \"invalid\", \"lockNumber\": 1417, \"Config\": { \"Hostname\": \"444a8274863a\", \"Domainname\": \"\", \"User\": \"\", \"AttachStdin\": false, \"AttachStdout\": false, \"AttachStderr\": false, \"Tty\": false, \"OpenStdin\": false, \"StdinOnce\": false, \"Env\": [ \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\", \"container=podman\", \"HOME=/root\", \"HOSTNAME=444a8274863a\" ], \"Cmd\": null, \"Image\": \"registry/org/image:latest\", \"Volumes\": null, \"WorkingDir\": \"/\", \"Entrypoint\": \"/entrypoint.sh\", \"OnBuild\": null, \"Labels\": { \"io.buildah.version\": \"1.31.2\" }, \"Annotations\": { \"io.container.manager\": \"libpod\", \"org.opencontainers.image.stopSignal\": \"15\" }, \"StopSignal\": 15, \"HealthcheckOnFailureAction\": \"none\", \"CreateCommand\": [ \"podman\", \"run\", \"-d\", \"--name\", \"test\", \"-p\", \"8888:80\", \"registry/org/image:latest\" ], \"Umask\": \"0022\", \"Timeout\": 0, \"StopTimeout\": 10, \"Passwd\": true, \"sdNotifyMode\": \"container\" }, \"HostConfig\": { \"Binds\": [], \"CgroupManager\": \"systemd\", \"CgroupMode\": \"private\", \"ContainerIDFile\": \"\", \"LogConfig\": { \"Type\": \"journald\", \"Config\": null, \"Path\": \"\", \"Tag\": \"\", \"Size\": \"0B\" }, \"NetworkMode\": \"slirp4netns\", \"PortBindings\": { \"80/tcp\": [ { \"HostIp\": \"\", \"HostPort\": \"8888\" } ] }, \"RestartPolicy\": { \"Name\": \"\", \"MaximumRetryCount\": 0 }, \"AutoRemove\": false, \"VolumeDriver\": \"\", \"VolumesFrom\": null, \"CapAdd\": [], \"CapDrop\": [], \"Dns\": [], \"DnsOptions\": [], \"DnsSearch\": [], \"ExtraHosts\": [], \"GroupAdd\": [], \"IpcMode\": \"shareable\", \"Cgroup\": \"\", \"Cgroups\": \"default\", \"Links\": null, \"OomScoreAdj\": 0, \"PidMode\": \"private\", \"Privileged\": false, \"PublishAllPorts\": false, \"ReadonlyRootfs\": false, \"SecurityOpt\": [], \"Tmpfs\": {}, \"UTSMode\": \"private\", \"UsernsMode\": \"\", \"ShmSize\": 65536000, \"Runtime\": \"oci\", \"ConsoleSize\": [ 0, 0 ], \"Isolation\": \"\", \"CpuShares\": 0, \"Memory\": 0, \"NanoCpus\": 0, \"CgroupParent\": \"user.slice\", \"BlkioWeight\": 0, \"BlkioWeightDevice\": null, \"BlkioDeviceReadBps\": null, \"BlkioDeviceWriteBps\": null, \"BlkioDeviceReadIOps\": null, \"BlkioDeviceWriteIOps\": null, \"CpuPeriod\": 0, \"CpuQuota\": 0, \"CpuRealtimePeriod\": 0, \"CpuRealtimeRuntime\": 0, \"CpusetCpus\": \"\", \"CpusetMems\": \"\", \"Devices\": [], \"DiskQuota\": 0, \"KernelMemory\": 0, \"MemoryReservation\": 0, \"MemorySwap\": 0, \"MemorySwappiness\": 0, \"OomKillDisable\": false, \"PidsLimit\": 2048, \"Ulimits\": [ { \"Name\": \"RLIMIT_NOFILE\", \"Soft\": 524288, \"Hard\": 524288 }, { \"Name\": \"RLIMIT_NPROC\", \"Soft\": 256018, \"Hard\": 256018 } ], \"CpuCount\": 0, \"CpuPercent\": 0, \"IOMaximumIOps\": 0, \"IOMaximumBandwidth\": 0, \"CgroupConf\": null, }"

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_containers_inventory.html b/docs/collections/containers/podman/podman_containers_inventory.html new file mode 100644 index 0000000..0f9bbb4 --- /dev/null +++ b/docs/collections/containers/podman/podman_containers_inventory.html @@ -0,0 +1,351 @@ + + + + + + + + + + containers.podman.podman_containers inventory – Inventory plugin that discovers Podman containers as hosts — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_containers inventory – Inventory plugin that discovers Podman containers as hosts

+
+

Note

+

This inventory plugin is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman_containers.

+
+

New in containers.podman 1.18.0

+ +
+

Synopsis

+
    +
  • Discover running (and optionally stopped) Podman containers on the local host and add them as inventory hosts.

  • +
  • Each discovered host is assigned an Ansible connection plugin so tasks execute inside the container without SSH.

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

connection_plugin

+

string

+

Fully-qualified connection plugin to use for discovered hosts.

+

Default: "containers.podman.podman"

+
+

executable

+

string

+

Path to the podman executable.

+

Default: "podman"

+

Configuration:

+ +
+

filters

+

dictionary

+

Include/exclude selection by attributes - name, id, image, status, or label.<key>.

+

Default: {}

+
+

group_by_image

+

boolean

+

Add containers to a group derived from image name (e.g., image_node_14).

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

group_by_label

+

list / elements=string

+

Label keys to group containers by (label_<key>_<value>).

+

Default: []

+
+

groups

+

dictionary

+

Add hosts to groups based on Jinja2 conditionals.

+

Default: {}

+
+

include_stopped

+

boolean

+

Whether to include stopped/exited containers.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

keyed_groups

+

list / elements=dictionary

+

Create groups based on hostvars/labels.

+

Default: []

+
+

label_selectors

+

dictionary

+

Key/value labels that must match (all) for a container to be included.

+

Default: {}

+
+

name_patterns

+

list / elements=string

+

Glob patterns to match container names or IDs; empty means include all.

+

Default: []

+
+

plugin

+

string / required

+

Token that ensures this is a source file for the ‘containers.podman.podman_containers’ inventory plugin.

+

Choices:

+
    +
  • "containers.podman.podman_containers"

  • +
+
+

strict

+

boolean

+

Fail when keyed/composed grouping references missing data.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

verbose_output

+

boolean

+

When true, store raw podman ps --format json entry under podman_ps host var.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+
+
+

Examples

+
plugin: containers.podman.podman_containers
+include_stopped: false
+label_selectors:
+  role: api
+connection_plugin: containers.podman.podman
+
+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_containers_module.html b/docs/collections/containers/podman/podman_containers_module.html new file mode 100644 index 0000000..6719dd1 --- /dev/null +++ b/docs/collections/containers/podman/podman_containers_module.html @@ -0,0 +1,258 @@ + + + + + + + + + + containers.podman.podman_containers module – Manage podman containers in a batch — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_containers module – Manage podman containers in a batch

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_containers.

+
+

New in containers.podman 1.4.0

+ +
+

Synopsis

+
    +
  • Manage groups of podman containers

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

containers

+

list / elements=dictionary / required

+

List of dictionaries with data for running containers for podman_container module.

+
+

debug

+

boolean

+

Return additional information which can be helpful for investigations.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+
+
+

Examples

+
- name: Run three containers at once
+  podman_containers:
+    containers:
+      - name: alpine
+        image: alpine
+        command: sleep 1d
+      - name: web
+        image: nginx
+      - name: test
+        image: python:3.10-alpine
+        command: python -V
+
+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_export_module.html b/docs/collections/containers/podman/podman_export_module.html new file mode 100644 index 0000000..39d45c5 --- /dev/null +++ b/docs/collections/containers/podman/podman_export_module.html @@ -0,0 +1,275 @@ + + + + + + + + + + containers.podman.podman_export module – Export a podman container — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_export module – Export a podman container

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_export.

+
+ +
+

Synopsis

+
    +
  • podman export exports the filesystem of a container and saves it as a tarball on the local machine

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

container

+

string

+

Container to export.

+
+

dest

+

string / required

+

Path to export container to.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

force

+

boolean

+

Force saving to file even if it exists.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

volume

+

string

+

Volume to export.

+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_export:
+    dest: /path/to/tar/file
+    container: container-name
+- containers.podman.podman_export:
+    dest: /path/to/tar/file
+    volume: volume-name
+
+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_generate_systemd_module.html b/docs/collections/containers/podman/podman_generate_systemd_module.html new file mode 100644 index 0000000..2e575ea --- /dev/null +++ b/docs/collections/containers/podman/podman_generate_systemd_module.html @@ -0,0 +1,517 @@ + + + + + + + + + + containers.podman.podman_generate_systemd module – Generate systemd unit from a pod or a container — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_generate_systemd module – Generate systemd unit from a pod or a container

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_generate_systemd.

+
+ +
+

Synopsis

+
    +
  • Generate systemd .service unit file(s) from a pod or a container

  • +
  • Support Ansible check mode

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on target host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

after

+

list / elements=string

+

Add the systemd unit after (After=) option, that ordering dependencies between the list of dependencies and this service.

+

This option may be specified more than once.

+

User-defined dependencies will be appended to the generated unit file

+

But any existing options such as needed or defined by default (e.g. online.target) will not be removed or overridden.

+

Only with Podman 4.0.0 and above

+
+

container_prefix

+

string

+

Set the systemd unit name prefix for containers.

+

If not set, use the default defined by podman, container.

+

Refer to podman-generate-systemd(1) man page for more information.

+
+

dest

+

path

+

Destination of the generated systemd unit file(s).

+

Use /etc/systemd/system for the system-wide systemd instance.

+

Use /etc/systemd/user or ~/.config/systemd/user for use with per-user instances of systemd.

+
+

env

+

dictionary

+

Set environment variables to the systemd unit files.

+

Keys are the environment variable names, and values are the environment variable values

+

Only with Podman 4.3.0 and above

+
+

executable

+

string

+

Podman executable name or full path

+

Default: "podman"

+
+

force

+

boolean

+

Replace the systemd unit file(s) even if it already exists.

+

This works with dest option.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

name

+

string / required

+

Name of the pod or container to export

+
+

new

+

boolean

+

Generate unit files that create containers and pods, not only start them.

+

Refer to podman-generate-systemd(1) man page for more information.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

no_header

+

boolean

+

Do not generate the header including meta data such as the Podman version and the timestamp.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

pod_prefix

+

string

+

Set the systemd unit name prefix for pods.

+

If not set, use the default defined by podman, pod.

+

Refer to podman-generate-systemd(1) man page for more information.

+
+

requires

+

list / elements=string

+

Set the systemd unit requires (Requires=) option.

+

Similar to wants, but declares a stronger requirement dependency.

+

Only with Podman 4.0.0 and above

+
+

restart_policy

+

string

+

Restart policy of the service

+

Choices:

+
    +
  • "no-restart"

  • +
  • "on-success"

  • +
  • "on-failure"

  • +
  • "on-abnormal"

  • +
  • "on-watchdog"

  • +
  • "on-abort"

  • +
  • "always"

  • +
+
+

restart_sec

+

integer

+

Configures the time to sleep before restarting a service (as configured with restart-policy).

+

Takes a value in seconds.

+

Only with Podman 4.0.0 and above

+
+

separator

+

string

+

Systemd unit name separator between the name/id of a container/pod and the prefix.

+

If not set, use the default defined by podman, -.

+

Refer to podman-generate-systemd(1) man page for more information.

+
+

start_timeout

+

integer

+

Override the default start timeout for the container with the given value in seconds.

+

Only with Podman 4.0.0 and above

+
+

stop_timeout

+

integer

+

Override the default stop timeout for the container with the given value in seconds.

+
+

use_names

+

boolean

+

Use name of the containers for the start, stop, and description in the unit file.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

wants

+

list / elements=string

+

Add the systemd unit wants (Wants=) option, that this service is (weak) dependent on.

+

This option may be specified more than once.

+

This option does not influence the order in which services are started or stopped.

+

User-defined dependencies will be appended to the generated unit file

+

But any existing options such as needed or defined by default (e.g. online.target) will not be removed or overridden.

+

Only with Podman 4.0.0 and above

+
+
+
+

Notes

+
+

Note

+
    +
  • If you indicate a pod, the systemd units for it and all its containers will be generated

  • +
  • Create all your pods, containers and their dependencies before generating the systemd files

  • +
  • If a container or pod is already started before you do a systemctl daemon-reload, systemd will not see the container or pod as started

  • +
  • Stop your container or pod before you do a systemctl daemon-reload, then you can start them with systemctl start my_container.service

  • +
+
+
+
+

Examples

+
# Example of creating a container and systemd unit file.
+# When using podman_generate_systemd with new:true then
+# the container needs rm:true for idempotence.
+- name: Create postgres container
+  containers.podman.podman_container:
+    name: postgres
+    image: docker.io/library/postgres:latest
+    rm: true
+    state: created
+
+- name: Generate systemd unit file for postgres container
+  containers.podman.podman_generate_systemd:
+    name: postgres
+    new: true
+    no_header: true
+    dest: /etc/systemd/system
+
+- name: Ensure postgres container is started and enabled
+  ansible.builtin.systemd:
+    name: container-postgres
+    daemon_reload: true
+    state: started
+    enabled: true
+
+
+# Example of creating a container and integrate it into systemd
+- name: A postgres container must exist, stopped
+  containers.podman.podman_container:
+    name: postgres_local
+    image: docker.io/library/postgres:latest
+    state: stopped
+
+- name: Systemd unit files for postgres container must exist
+  containers.podman.podman_generate_systemd:
+    name: postgres_local
+    dest: ~/.config/systemd/user/
+
+- name: Postgres container must be started and enabled on systemd
+  ansible.builtin.systemd:
+    name: container-postgres_local
+    scope: user
+    daemon_reload: true
+    state: started
+    enabled: true
+
+
+# Generate the unit files, but store them on an Ansible variable
+# instead of writing them on target host
+- name: Systemd unit files for postgres container must be generated
+  containers.podman.podman_generate_systemd:
+    name: postgres_local
+  register: postgres_local_systemd_unit
+
+# Generate the unit files with environment variables sets
+- name: Systemd unit files for postgres container must be generated
+  containers.podman.podman_generate_systemd:
+    name: postgres_local
+    env:
+      POSTGRES_USER: my_app
+      POSTGRES_PASSWORD: example
+  register: postgres_local_systemd_unit
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + + + + +

Key

Description

+

podman_command

+

string

+

A copy of the podman command used to generate the systemd unit(s)

+

Returned: always

+

Sample: "podman generate systemd my_webapp"

+
+

systemd_units

+

dictionary

+

A copy of the generated systemd .service unit(s)

+

Returned: always

+

Sample: {"container-postgres_local": " #Content of the systemd .servec unit for postgres_local container", "pod-my_webapp": " #Content of the systemd .servec unit for my_webapp pod"}

+
+
+

Authors

+
    +
  • Sébastien Gendre (@CyberFox001)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_image_info_module.html b/docs/collections/containers/podman/podman_image_info_module.html new file mode 100644 index 0000000..0956433 --- /dev/null +++ b/docs/collections/containers/podman/podman_image_info_module.html @@ -0,0 +1,277 @@ + + + + + + + + + + containers.podman.podman_image_info module – Gather info about images using podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_image_info module – Gather info about images using podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman_image_info.

+
+ +
+

Synopsis

+
    +
  • Gather info about images using podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

name

+

list / elements=string

+

List of tags or UID to gather info about. If no name is given return info about all images.

+
+
+
+

Notes

+
+

Note

+
    +
  • Podman may required elevated privileges in order to run properly.

  • +
+
+
+
+

Examples

+
- name: Gather info for all images
+  containers.podman.podman_image_info:
+
+- name: Gather info on a specific image
+  containers.podman.podman_image_info:
+    name: nginx
+
+- name: Gather info on several images
+  containers.podman.podman_image_info:
+    name:
+      - redis
+      - quay.io/bitnami/wildfly
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

images

+

list / elements=string

+

info from all or specified images

+

Returned: always

+

Sample: [{"Annotations": {}, "Architecture": "amd64", "Author": "", "Comment": "", "Config": {"Cmd": ["/bin/sh"], "Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"]}, "Created": "2023-06-14T20:42:13.993588153Z", "Digest": "sha256:3362f865019db5f14ac5154cb0db2c3741ad1cce0416045be422ad4de441b081", "GraphDriver": {"Data": {"UpperDir": "/home/podman/.local/share/containers/storage/overlay/579b.../diff", "WorkDir": "/home/podman/.local/share/containers/storage/overlay/579b.../work"}, "Name": "overlay"}, "History": [{"created": "2023-06-14T20:42:13.893052319Z", "created_by": "/bin/sh -c #(nop) ADD file:234234234 in / "}, {"created": "2023-06-14T20:42:13.993588153Z", "created_by": "/bin/sh -c #(nop)  CMD [\"/bin/sh\"]", "empty_layer": true}], "Id": "029bed813f07be84fae0344cbf8076ced5ea3c929d5f064ba617ac7d8c610a4b", "Labels": null, "ManifestType": "application/vnd.docker.distribution.manifest.v2+json", "NamesHistory": ["quay.io/podman/alpine:3.15", "quay.io/podman/alpine:3.15", "docker.io/library/alpine:3.15"], "Os": "linux", "Parent": "", "RepoDigests": ["docker.io/library/alpine@sha256:3362f865019db5f14ac5154cb0db2c3741ad1cce0416045be422ad4de441b081", "docker.io/library/alpine@sha256:c58a2fce65cb3487f965d2fb08eec4843384dbe29264f427b665421db1aabef2", "quay.io/podman/alpine@sha256:3362f865019db5f14ac5154cb0db2c3741ad1cce0416045be422ad4de441b081", "quay.io/podman/alpine@sha256:c58a2fce65cb3487f965d2fb08eec4843384dbe29264f427b665421db1aabef2", "quay.io/podman/alpine@sha256:3362f865019db5f14ac5154cb0db2c3741ad1cce0416045be422ad4de441b081", "quay.io/podman/alpine@sha256:c58a2fce65cb3487f965d2fb08eec4843384dbe29264f427b665421db1aabef2"], "RepoTags": ["docker.io/library/alpine:3.15", "quay.io/podman/alpine:3.15", "quay.io/podman/alpine:3.15"], "RootFS": {"Layers": ["sha256:579b..."], "Type": "layers"}, "Size": 11745350, "User": "", "Version": "20.10.23", "VirtualSize": 11745350}]

+
+
+

Authors

+
    +
  • Sam Doran (@samdoran)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_image_module.html b/docs/collections/containers/podman/podman_image_module.html new file mode 100644 index 0000000..17b7246 --- /dev/null +++ b/docs/collections/containers/podman/podman_image_module.html @@ -0,0 +1,758 @@ + + + + + + + + + + containers.podman.podman_image module – Pull images for use by podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_image module – Pull images for use by podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman_image.

+
+ +
+

Synopsis

+
    +
  • Build, pull, or push images using Podman.

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

arch

+

string

+

CPU architecture for the container image

+
+
+

auth_file

+

aliases: authfile

+

path

+

Path to file containing authorization credentials to the remote registry.

+
+
+
+

build

+

aliases: build_args, buildargs

+

dictionary

+

Arguments that control image build.

+

Default: {}

+
+
+
+

annotation

+

dictionary

+

Dictionary of key=value pairs to add to the image. Only works with OCI images. Ignored for Docker containers.

+
+
+
+

cache

+

boolean

+

Whether or not to use cached layers when building an image

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+
+
+

container_file

+

string

+

Content of the Containerfile to use for building the image. Mutually exclusive with the file option which is path to the existing Containerfile.

+
+
+
+

extra_args

+

string

+

Extra args to pass to build, if executed. Does not idempotently check for new build args.

+
+
+
+

file

+

path

+

Path to the Containerfile if it is not in the build context directory. Mutually exclusive with the container_file option.

+
+
+
+

force_rm

+

boolean

+

Always remove intermediate containers after a build, even if the build is unsuccessful.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+
+
+

format

+

string

+

Format of the built image.

+

Choices:

+
    +
  • "docker"

  • +
  • "oci" ← (default)

  • +
+
+
+
+

rm

+

boolean

+

Remove intermediate containers after a successful build

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+
+
+

target

+

string

+

Specify the target build stage to build.

+
+
+
+

volume

+

list / elements=string

+

Specify multiple volume / mount options to mount one or more mounts to a container.

+
+

ca_cert_dir

+

path

+

Path to directory containing TLS certificates and keys to use.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman.

+

Default: "podman"

+
+

force

+

boolean

+

Whether or not to force push or pull an image.

+

When building, force the build even if the image already exists.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

name

+

string / required

+

Name of the image to pull, push, or delete. It may contain a tag using the format image:tag.

+
+

password

+

string

+

Password to use when authenticating to remote registries.

+
+

path

+

string

+

Path to the build context directory.

+
+

pull

+

boolean

+

Whether or not to pull the image.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

pull_extra_args

+

string

+

Extra arguments to pass to the pull command.

+
+

push

+

boolean

+

Whether or not to push an image.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

push_args

+

dictionary

+

Arguments that control pushing images.

+

Default: {}

+
+

compress

+

boolean

+

Compress tarball image layers when pushing to a directory using the ‘dir’ transport.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+
+

dest

+

aliases: destination

+

string

+

Path or URL where image will be pushed.

+
+

extra_args

+

string

+

Extra args to pass to push, if executed. Does not idempotently check for new push args.

+
+

format

+

string

+

Manifest type to use when pushing an image using the ‘dir’ transport (default is manifest type of source)

+

Choices:

+
    +
  • "oci"

  • +
  • "v2s1"

  • +
  • "v2s2"

  • +
+
+

remove_signatures

+

boolean

+

Discard any pre-existing signatures in the image

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

sign_by

+

string

+

Path to a key file to use to sign the image.

+
+

ssh

+

string

+

SSH options to use when pushing images with SCP transport.

+
+

transport

+

string

+

Transport to use when pushing in image. If no transport is set, will attempt to push to a remote registry

+

Choices:

+
    +
  • "dir"

  • +
  • "docker-archive"

  • +
  • "docker-daemon"

  • +
  • "oci-archive"

  • +
  • "ostree"

  • +
  • "docker"

  • +
  • "scp"

  • +
+
+

quadlet_dir

+

path

+

Path to the directory to write quadlet file in. By default, it will be set as /etc/containers/systemd/ for root user, ~/.config/containers/systemd/ for non-root users.

+
+

quadlet_file_mode

+

any

+

The permissions of the quadlet file.

+

The quadlet_file_mode can be specied as octal numbers or as a symbolic mode (for example, u+rwx or u=rw,g=r,o=r). For octal numbers format, you must either add a leading zero so that Ansible’s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like '644' or '1777') so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results.

+

If quadlet_file_mode is not specified and the quadlet file does not exist, the default '0640' mask will be used when setting the mode for the newly created file.

+

If quadlet_file_mode is not specified and the quadlet file does exist, the mode of the existing file will be used.

+

Specifying quadlet_file_mode is the best way to ensure files are created with the correct permissions.

+
+

quadlet_filename

+

string

+

Name of quadlet file to write. By default it takes image name without prefixes and tags.

+
+

quadlet_options

+

list / elements=string

+

Options for the quadlet file. Provide missing in usual network args options as a list of lines to add.

+
+

state

+

string

+

Whether an image should be present, absent, or built.

+

Choices:

+
    +
  • "present" ← (default)

  • +
  • "absent"

  • +
  • "build"

  • +
  • "quadlet"

  • +
+
+

tag

+

string

+

Tag of the image to pull, push, or delete.

+

Default: "latest"

+
+

username

+

string

+

username to use when authenticating to remote registries.

+
+
+
+

validate_certs

+

aliases: tlsverify, tls_verify

+

boolean

+

Require HTTPS and validate certificates when pulling or pushing. Also used during build if a pull or push is necessary.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+
+
+

Examples

+
- name: Pull an image
+  containers.podman.podman_image:
+    name: quay.io/bitnami/wildfly
+
+- name: Remove an image
+  containers.podman.podman_image:
+    name: quay.io/bitnami/wildfly
+    state: absent
+
+- name: Remove an image with image id
+  containers.podman.podman_image:
+    name: 0e901e68141f
+    state: absent
+
+- name: Pull a specific version of an image
+  containers.podman.podman_image:
+    name: redis
+    tag: 4
+
+- name: Build a basic OCI image
+  containers.podman.podman_image:
+    name: nginx
+    path: /path/to/build/dir
+
+- name: Build a basic OCI image with advanced parameters
+  containers.podman.podman_image:
+    name: nginx
+    path: /path/to/build/dir
+    build:
+      cache: no
+      force_rm: true
+      format: oci
+      annotation:
+        app: nginx
+        function: proxy
+        info: Load balancer for my cool app
+      extra_args: "--build-arg KEY=value"
+
+- name: Build a Docker formatted image
+  containers.podman.podman_image:
+    name: nginx
+    path: /path/to/build/dir
+    build:
+      format: docker
+
+- name: Build and push an image using existing credentials
+  containers.podman.podman_image:
+    name: nginx
+    path: /path/to/build/dir
+    push: true
+    push_args:
+      dest: quay.io/acme
+
+- name: Build and push an image using an auth file
+  containers.podman.podman_image:
+    name: nginx
+    push: true
+    auth_file: /etc/containers/auth.json
+    push_args:
+      dest: quay.io/acme
+
+- name: Build and push an image using username and password
+  containers.podman.podman_image:
+    name: nginx
+    push: true
+    username: bugs
+    password: "{{ vault_registry_password }}"
+    push_args:
+      dest: quay.io/acme
+
+- name: Build and push an image to multiple registries
+  containers.podman.podman_image:
+    name: "{{ item }}"
+    path: /path/to/build/dir
+    push: true
+    auth_file: /etc/containers/auth.json
+  loop:
+    - quay.io/acme/nginx
+    - docker.io/acme/nginx
+
+- name: Build and push an image to multiple registries with separate parameters
+  containers.podman.podman_image:
+    name: "{{ item.name }}"
+    tag: "{{ item.tag }}"
+    path: /path/to/build/dir
+    push: true
+    auth_file: /etc/containers/auth.json
+    push_args:
+      dest: "{{ item.dest }}"
+  loop:
+    - name: nginx
+      tag: 4
+      dest: docker.io/acme
+
+    - name: nginx
+      tag: 3
+      dest: docker.io/acme
+
+- name: Push image to a remote host via scp transport
+  containers.podman.podman_image:
+    name: testimage
+    pull: false
+    push: true
+    push_args:
+      dest: user@server
+      transport: scp
+
+- name: Pull an image for a specific CPU architecture
+  containers.podman.podman_image:
+    name: nginx
+    arch: amd64
+
+- name: Build a container from file inline
+  containers.podman.podman_image:
+    name: mycustom_image
+    state: build
+    build:
+      container_file: |-
+        FROM alpine:latest
+        CMD echo "Hello, World!"
+
+- name: Create a quadlet file for an image
+  containers.podman.podman_image:
+    name: docker.io/library/alpine:latest
+    state: quadlet
+    quadlet_dir: /etc/containers/systemd
+    quadlet_filename: alpine-latest
+    quadlet_file_mode: '0640'
+    quadlet_options:
+      - Variant=arm/v7
+      - |
+        [Install]
+        WantedBy=default.target
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

image

+

dictionary

+

Image inspection results for the image that was pulled, pushed, or built.

+

Returned: success

+

Sample: [{"Annotations": {}, "Architecture": "amd64", "Author": "", "Comment": "", "Config": {"ArgsEscaped": true, "Cmd": ["/bin/sh"], "Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"]}, "Created": "2019-03-07T22:19:53.447205048Z", "Digest": "sha256:8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10", "GraphDriver": {"Data": {"UpperDir": "/home/user/.local/share/containers/storage/overlay/3fc6.../diff", "WorkDir": "/home/user/.local/share/containers/storage/overlay/3fc6.../work"}, "Name": "overlay"}, "History": [{"created": "2019-03-07T22:19:53.313789681Z", "created_by": "/bin/sh -c #(nop) ADD file:aa17928... in / "}, {"created": "2019-03-07T22:19:53.447205048Z", "created_by": "/bin/sh -c #(nop)  CMD [\"/bin/sh\"]", "empty_layer": true}], "Id": "6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f", "Labels": null, "ManifestType": "application/vnd.docker.distribution.manifest.v2+json", "NamesHistory": ["docker.io/library/alpine:3.7"], "Os": "linux", "Parent": "", "RepoDigests": ["docker.io/library/alpine@sha256:8421...", "docker.io/library/alpine@sha256:9225..."], "RepoTags": ["docker.io/library/alpine:3.7"], "RootFS": {"Layers": ["sha256:3fc6..."], "Type": "layers"}, "Size": 4467084, "User": "", "Version": "18.06.1-ce", "VirtualSize": 4467084}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_import_module.html b/docs/collections/containers/podman/podman_import_module.html new file mode 100644 index 0000000..464c850 --- /dev/null +++ b/docs/collections/containers/podman/podman_import_module.html @@ -0,0 +1,296 @@ + + + + + + + + + + containers.podman.podman_import module – Import Podman container from a tar file. — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_import module – Import Podman container from a tar file.

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_import.

+
+ +
+

Synopsis

+
    +
  • podman import imports a tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz) and saves it as a filesystem image.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

change

+

list / elements=dictionary

+

Set changes as list of key-value pairs, see example.

+
+

commit_message

+

string

+

Set commit message for imported image

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

src

+

string / required

+

Path to image file to load.

+
+

volume

+

string

+

Volume to import, cannot be used with change and commit_message

+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_import:
+    src: /path/to/tar/file
+    change:
+      - "CMD": /bin/bash
+      - "User": root
+    commit_message: "Importing image"
+- containers.podman.podman_import:
+    src: /path/to/tar/file
+    volume: myvolume
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

image

+

dictionary

+

info from loaded image

+

Returned: always

+

Sample: {"Annotations": {}, "Architecture": "amd64", "Author": "", "Comment": "imported from tarball", "Config": {}, "Created": "2021-09-07T04:45:38.749977105+03:00", "Digest": "sha256:8730c75be86a718929a658db4663d487e562d66762....", "GraphDriver": {"Data": {"UpperDir": "/home/...34/diff", "WorkDir": "/home/.../work"}, "Name": "overlay"}, "History": [{"comment": "imported from tarball", "created": "2021-09-07T04:45:38.749977105+03:00", "created_by": "/bin/sh -c #(nop) ADD file:091... in /"}], "Id": "cbc6d73c4d232db6e8441df96af81855f62c74157b5db80a1d5...", "Labels": null, "ManifestType": "application/vnd.oci.image.manifest.v1+json", "NamesHistory": null, "Os": "linux", "Parent": "", "RepoDigests": [], "RepoTags": [], "RootFS": {"Layers": ["sha256:...."], "Type": "layers"}, "Size": 5882449, "User": "", "Version": "", "VirtualSize": 5882449}

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_load_module.html b/docs/collections/containers/podman/podman_load_module.html new file mode 100644 index 0000000..94aa649 --- /dev/null +++ b/docs/collections/containers/podman/podman_load_module.html @@ -0,0 +1,270 @@ + + + + + + + + + + containers.podman.podman_load module – Load image from a tar file. — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_load module – Load image from a tar file.

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_load.

+
+ +
+

Synopsis

+
    +
  • podman load loads an image from either an oci-archive or a docker-archive stored on the local machine into container storage. podman load is used for loading from the archive generated by podman save, that includes the image parent layers.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+
+

input

+

aliases: path

+

string / required

+

Path to image file to load.

+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_load:
+    input: /path/to/tar/file
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

image

+

dictionary

+

info from loaded image

+

Returned: always

+

Sample: [{"Annotations": {}, "Architecture": "amd64", "Author": "", "Comment": "from Bitnami with love", "ContainerConfig": {"Cmd": ["nami", "start", "--foreground", "wildfly"], "Entrypoint": ["/app-entrypoint.sh"], "Env": ["PATH=/opt/bitnami/java/bin:/opt/bitnami/wildfly/bin:/opt/bitnami/nami/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "IMAGE_OS=debian-9", "NAMI_VERSION=0.0.9-0", "GPG_KEY_SERVERS_LIST=ha.pool.sks-keyservers.net hkp://p80.pool.sks-keyservers.net:80 keyserver.ubuntu.com hkp://keyserver.ubuntu.com:80 pgp.mit.edu", "TINI_VERSION=v0.13.2", "TINI_GPG_KEY=595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7", "GOSU_VERSION=1.10", "GOSU_GPG_KEY=B42F6819007F00F88E364FD4036A9C25BF357DD4", "BITNAMI_IMAGE_VERSION=14.0.1-debian-9-r12", "BITNAMI_APP_NAME=wildfly", "WILDFLY_JAVA_HOME=", "WILDFLY_JAVA_OPTS=", "WILDFLY_MANAGEMENT_HTTP_PORT_NUMBER=9990", "WILDFLY_PASSWORD=bitnami", "WILDFLY_PUBLIC_CONSOLE=true", "WILDFLY_SERVER_AJP_PORT_NUMBER=8009", "WILDFLY_SERVER_HTTP_PORT_NUMBER=8080", "WILDFLY_SERVER_INTERFACE=0.0.0.0", "WILDFLY_USERNAME=user", "WILDFLY_WILDFLY_HOME=/home/wildfly", "WILDFLY_WILDFLY_OPTS=-Dwildfly.as.deployment.ondemand=false"], "ExposedPorts": {"8080/tcp": {}, "9990/tcp": {}}, "Labels": {"maintainer": "Bitnami <containers@bitnami.com>"}}, "Created": "2018-09-25T04:07:45.934395523Z", "Digest": "sha256:5c7d8e2dd66dcf4a152a4032a1d3c5a33458c67e1c1335edd8d18d738892356b", "GraphDriver": {"Data": {"LowerDir": "/var/lib/containers/storage/overlay/a9dbf5616cc16919a8ac0dfc60aff87a72b5be52994c4649fcc91a089a12931f/diff:/var/lib/containers/storage/overlay/67129bd46022122a7d8b7acb490092af6c7ce244ce4fbd7d9e2d2b7f5979e090/diff:/var/lib/containers/storage/overlay/7c51242c4c5db5c74afda76d7fdbeab6965d8b21804bb3fc597dee09c770b0ca/diff:/var/lib/containers/storage/overlay/f97315dc58a9c002ba0cabccb9933d4b0d2113733d204188c88d72f75569b57b/diff:/var/lib/containers/storage/overlay/1dbde2dd497ddde2b467727125b900958a051a72561e58d29abe3d660dcaa9a7/diff:/var/lib/containers/storage/overlay/4aad9d80f30c3f0608f58173558b7554d84dee4dc4479672926eca29f75e6e33/diff:/var/lib/containers/storage/overlay/6751fc9b6868254870c062d75a511543fc8cfda2ce6262f4945f107449219632/diff:/var/lib/containers/storage/overlay/a27034d79081347421dd24d7e9e776c18271cd9a6e51053cb39af4d3d9c400e8/diff:/var/lib/containers/storage/overlay/537cf0045ed9cd7989f7944e7393019c81b16c1799a2198d8348cd182665397f/diff:/var/lib/containers/storage/overlay/27578615c5ae352af4e8449862d61aaf5c11b105a7d5905af55bd01b0c656d6e/diff:/var/lib/containers/storage/overlay/566542742840fe3034b3596f7cb9e62a6274c95a69f368f9e713746f8712c0b6/diff", "MergedDir": "/var/lib/containers/storage/overlay/72bb96d6c53ad57a0b1e44cab226a6251598accbead40b23fac89c19ad8c25ca/merged", "UpperDir": "/var/lib/containers/storage/overlay/72bb96d6c53ad57a0b1e44cab226a6251598accbead40b23fac89c19ad8c25ca/diff", "WorkDir": "/var/lib/containers/storage/overlay/72bb96d6c53ad57a0b1e44cab226a6251598accbead40b23fac89c19ad8c25ca/work"}, "Name": "overlay"}, "Id": "bcacbdf7a119c0fa934661ca8af839e625ce6540d9ceb6827cdd389f823d49e0", "Labels": {"maintainer": "Bitnami <containers@bitnami.com>"}, "ManifestType": "application/vnd.docker.distribution.manifest.v1+prettyjws", "Os": "linux", "Parent": "", "RepoDigests": ["quay.io/bitnami/wildfly@sha256:5c7d8e2dd66dcf4a152a4032a1d3c5a33458c67e1c1335edd8d18d738892356b"], "RepoTags": ["quay.io/bitnami/wildfly:latest"], "RootFS": {"Layers": ["sha256:75391df2c87e076b0c2f72d20c95c57dc8be7ee684cc07273416cce622b43367", "sha256:7dd303f041039bfe8f0833092673ac35f93137d10e0fbc4302021ea65ad57731", "sha256:720d9edf0cd2a9bb56b88b80be9070dbfaad359514c70094c65066963fed485d", "sha256:6a567ecbf97725501a634fcb486271999aa4591b633b4ae9932a46b40f5aaf47", "sha256:59e9a6db8f178f3da868614564faabb2820cdfb69be32e63a4405d6f7772f68c", "sha256:310a82ccb092cd650215ab375da8943d235a263af9a029b8ac26a281446c04db", "sha256:36cb91cf4513543a8f0953fed785747ea18b675bc2677f3839889cfca0aac79e"], "Type": "layers"}, "Size": 569919342, "User": "", "Version": "17.06.0-ce", "VirtualSize": 569919342}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_login_info_module.html b/docs/collections/containers/podman/podman_login_info_module.html new file mode 100644 index 0000000..a913c90 --- /dev/null +++ b/docs/collections/containers/podman/podman_login_info_module.html @@ -0,0 +1,280 @@ + + + + + + + + + + containers.podman.podman_login_info module – Return the logged-in user if any for a given registry — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_login_info module – Return the logged-in user if any for a given registry

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_login_info.

+
+

New in containers.podman 1.0.0

+ +
+

Synopsis

+
    +
  • Return the logged-in user if any for a given registry.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +

Parameter

Comments

+

authfile

+

path

+

Path of the authentication file. Default is ``${XDG_RUNTIME_DIR}/containers/auth.json`` (Not available for remote commands) You can also override the default path of the authentication file by setting the ``REGISTRY_AUTH_FILE`` environment variable. ``export REGISTRY_AUTH_FILE=path``

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

registry

+

string / required

+

Registry server.

+
+
+
+

Examples

+
- name: Return the logged-in user for docker hub registry
+  containers.podman.podman_login_info:
+    registry: docker.io
+
+- name: Return the logged-in user for quay.io registry
+  containers.podman.podman_login_info:
+    registry: quay.io
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

login

+

dictionary

+

Logged in user for a registry

+

Returned: always

+

Sample: {"logged_in": true, "registry": "docker.io", "username": "clelange"}

+
+
+

Authors

+
    +
  • Clemens Lange (@clelange)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_login_module.html b/docs/collections/containers/podman/podman_login_module.html new file mode 100644 index 0000000..283b385 --- /dev/null +++ b/docs/collections/containers/podman/podman_login_module.html @@ -0,0 +1,307 @@ + + + + + + + + + + containers.podman.podman_login module – Login to a container registry using podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_login module – Login to a container registry using podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_login.

+
+ +
+

Synopsis

+
    +
  • Login to a container registry server using the podman login command If the registry is not specified, the first registry under `[registries.search]` from `registries.conf `will be used. The path of the authentication file can be overridden by the user by setting the `authfile` flag. The default path used is `${XDG_RUNTIME_DIR}/containers/auth.json`.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

authfile

+

path

+

Path of the authentication file. Default is ``${XDG_RUNTIME_DIR}/containers/auth.json`` You can also override the default path of the authentication file by setting the ``REGISTRY_AUTH_FILE`` environment variable. ``export REGISTRY_AUTH_FILE=path``

+
+

certdir

+

path

+

Use certificates at path (*.crt, *.cert, *.key) to connect to the registry. Default certificates directory is /etc/containers/certs.d.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

password

+

string

+

Password for the registry server.

+
+

registry

+

string

+

Registry server. If the registry is not specified, the first registry under `[registries.search]` from `registries.conf` will be used.

+
+

secret

+

string

+

Name of an existing podman secret to use for authentication to target registry

+
+

tlsverify

+

boolean

+

Require HTTPS and verify certificates when contacting registries. If explicitly set to true, then TLS verification will be used. If set to false, then TLS verification will not be used. If not specified, TLS verification will be used unless the target registry is listed as an insecure registry in registries.conf.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

username

+

string

+

Username for the registry server.

+
+
+
+

Examples

+
- name: Login to default registry and create ${XDG_RUNTIME_DIR}/containers/auth.json
+  containers.podman.podman_login:
+    username: user
+    password: 'p4ssw0rd'
+
+- name: Login to quay.io and create ${XDG_RUNTIME_DIR}/containers/auth.json
+  containers.podman.podman_login:
+    username: user
+    password: 'p4ssw0rd'
+    registry: quay.io
+
+- name: Login to quay.io using existing secret called password
+  containers.podman.podman_login:
+    username: user
+    secret: password
+    registry: quay.io
+
+
+
+

Authors

+
    +
  • Jason Hiatt (@jthiatt)

  • +
  • Clemens Lange (@clelange)

  • +
  • Michael Fox (@spmfox)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_logout_module.html b/docs/collections/containers/podman/podman_logout_module.html new file mode 100644 index 0000000..479b111 --- /dev/null +++ b/docs/collections/containers/podman/podman_logout_module.html @@ -0,0 +1,288 @@ + + + + + + + + + + containers.podman.podman_logout module – Log out of a container registry using podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_logout module – Log out of a container registry using podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_logout.

+
+ +
+

Synopsis

+
    +
  • Log out of a container registry server using the podman logout command by deleting the cached credentials stored in the `auth.json` file. If the registry is not specified, the first registry under `[registries.search]` from `registries.conf `will be used. The path of the authentication file can be overridden by the user by setting the `authfile` flag. The default path used is `${XDG_RUNTIME_DIR}/containers/auth.json`. All the cached credentials can be removed by setting the `all` flag. Warning - podman will use credentials in `${HOME}/.docker/config.json` to authenticate in case they are not found in the default `authfile`. However, the logout command will only removed credentials in the `authfile` specified.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

all

+

boolean

+

Remove the cached credentials for all registries in the auth file.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

authfile

+

path

+

Path of the authentication file. Default is ``${XDG_RUNTIME_DIR}/containers/auth.json`` You can also override the default path of the authentication file by setting the ``REGISTRY_AUTH_FILE`` environment variable. ``export REGISTRY_AUTH_FILE=path``

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

ignore_docker_credentials

+

boolean

+

Credentials created using other tools such as `docker login` are not removed unless the corresponding `authfile` is explicitly specified. Since podman also uses existing credentials in these files by default (for docker e.g. `${HOME}/.docker/config.json`), module execution will fail if a docker login exists for the registry specified in any `authfile` is used by podman. This can be ignored by setting `ignore_docker_credentials` to `true` - the credentials will be kept and `changed` will be false. This option cannot be used together with `all` since in this case podman will not check for existing `authfiles` created by other tools.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

registry

+

string

+

Registry server. If the registry is not specified, the first registry under `[registries.search]` from `registries.conf` will be used.

+
+
+
+

Examples

+
- name: Log out of default registry
+  podman_logout:
+
+- name: Log out of quay.io
+  podman_logout:
+    registry: quay.io
+
+- name: Log out of all registries in auth file
+  podman_logout:
+    all: true
+
+- name: Log out of all registries in specified auth file
+  podman_logout:
+    authfile: $HOME/.docker/config.json
+    all: true
+
+
+
+

Authors

+
    +
  • Clemens Lange (@clelange)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_network_info_module.html b/docs/collections/containers/podman/podman_network_info_module.html new file mode 100644 index 0000000..e26d1ee --- /dev/null +++ b/docs/collections/containers/podman/podman_network_info_module.html @@ -0,0 +1,272 @@ + + + + + + + + + + containers.podman.podman_network_info module – Gather info about podman networks — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_network_info module – Gather info about podman networks

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_network_info.

+
+

New in containers.podman 1.0.0

+ +
+

Synopsis

+
    +
  • Gather info about podman networks with podman inspect command.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

name

+

string

+

Name of the network

+
+
+
+

Examples

+
- name: Gather info about all present networks
+  containers.podman.podman_network_info:
+
+- name: Gather info about specific network
+  containers.podman.podman_network_info:
+    name: podman
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

networks

+

list / elements=string

+

Facts from all or specified networks

+

Returned: always

+

Sample: [{"created": "2024-05-27T21:09:03.486699659+03:00", "dns_enabled": false, "driver": "macvlan", "id": "3227f9785ae4657c022c8da7b0e04d2d124199e66da10a9130437e3c3f0e0e42", "internal": false, "ipam_options": {"driver": "host-local"}, "ipv6_enabled": true, "name": "dmz", "options": {"no_default_route": "true"}, "subnets": [{"gateway": "10.10.0.1", "lease_range": {"end_ip": "10.10.0.255", "start_ip": "10.10.0.249"}, "subnet": "10.10.0.0/24"}, {"gateway": "2001:db8:abcd:10::1", "subnet": "2001:db8:abcd:10::/64"}]}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_network_module.html b/docs/collections/containers/podman/podman_network_module.html new file mode 100644 index 0000000..36c3e25 --- /dev/null +++ b/docs/collections/containers/podman/podman_network_module.html @@ -0,0 +1,590 @@ + + + + + + + + + + containers.podman.podman_network module – Manage podman networks — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_network module – Manage podman networks

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_network.

+
+

New in containers.podman 1.0.0

+ +
+

Synopsis

+
    +
  • Manage podman networks with podman network command.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

debug

+

boolean

+

Return additional information which can be helpful for investigations.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

disable_dns

+

boolean

+

disable dns plugin (default “false”)

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

dns

+

list / elements=string

+

Set network-scoped DNS resolver/nameserver for containers in this network. If not set, the host servers from /etc/resolv.conf is used.

+
+

driver

+

string

+

Driver to manage the network (default “bridge”)

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

force

+

boolean

+

Remove all containers that use the network. If the container is running, it is stopped and removed.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

gateway

+

string

+

IPv4 or IPv6 gateway for the subnet

+
+

interface_name

+

string

+

For bridge, it uses the bridge interface name. For macvlan, it is the parent device on the host (it is the same as ‘opt.parent’)

+
+

internal

+

boolean

+

Restrict external access from this network (default “false”)

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

ip_range

+

string

+

Allocate container IP from range

+
+

ipam_driver

+

string

+

Set the ipam driver (IP Address Management Driver) for the network. When unset podman chooses an ipam driver automatically based on the network driver

+

Choices:

+
    +
  • "host-local"

  • +
  • "dhcp"

  • +
  • "none"

  • +
+
+

ipv6

+

boolean

+

Enable IPv6 (Dual Stack) networking. You must pass a IPv6 subnet. The subnet option must be used with the ipv6 option. Idempotency is not supported because it generates subnets randomly.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

macvlan

+

string

+

Create a Macvlan connection based on this device

+
+

name

+

string / required

+

Name of the network

+
+

net_config

+

list / elements=dictionary

+

List of dictionaries with network configuration. Each dictionary should contain ‘subnet’ and ‘gateway’ keys. ‘ip_range’ is optional.

+
+

gateway

+

string / required

+

Gateway for the subnet

+
+

ip_range

+

string

+

Allocate container IP from range

+
+

subnet

+

string / required

+

Subnet in CIDR format

+
+

opt

+

dictionary

+

Add network options. Currently ‘vlan’ and ‘mtu’ are supported.

+
+

bclim

+

integer

+

Set the threshold for broadcast queueing. Must be a 32 bit integer. Setting this value to -1 disables broadcast queueing altogether.

+
+

bridge_name

+

string

+

This option assigns the given name to the created Linux Bridge. Sets ‘com.docker.network.bridge.name’ option.

+
+

driver_mtu

+

string

+

Sets the Maximum Transmission Unit (MTU) and takes an integer value. Sets ‘com.docker.network.driver.mtu’ option.

+
+

isolate

+

boolean

+

This option isolates networks by blocking traffic between those that have this option enabled.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

metric

+

integer

+

Sets the Route Metric for the default route created in every container joined to this network. Can only be used with the Netavark network backend.

+
+

mode

+

string

+

This option sets the specified ip/macvlan mode on the interface.

+
+

mtu

+

integer

+

MTU size for bridge network interface.

+
+

no_default_route

+

string

+

If set to 1, Podman will NOT automatically add a default route to subnets.

+
+

parent

+

string

+

The host device which should be used for the macvlan interface (it is the same as ‘interface’ in that case). Defaults to the default route interface.

+
+

vlan

+

integer

+

VLAN tag for bridge which enables vlan_filtering.

+
+

vrf

+

string

+

This option assigns a VRF to the bridge interface. It accepts the name of the VRF and defaults to none. Can only be used with the Netavark network backend.

+
+

quadlet_dir

+

path

+

Path to the directory to write quadlet file in. By default, it will be set as /etc/containers/systemd/ for root user, ~/.config/containers/systemd/ for non-root users.

+
+

quadlet_file_mode

+

any

+

The permissions of the quadlet file.

+

The quadlet_file_mode can be specied as octal numbers or as a symbolic mode (for example, u+rwx or u=rw,g=r,o=r). For octal numbers format, you must either add a leading zero so that Ansible’s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like '644' or '1777') so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results.

+

If quadlet_file_mode is not specified and the quadlet file does not exist, the default '0640' mask will be used when setting the mode for the newly created file.

+

If quadlet_file_mode is not specified and the quadlet file does exist, the mode of the existing file will be used.

+

Specifying quadlet_file_mode is the best way to ensure files are created with the correct permissions.

+
+

quadlet_filename

+

string

+

Name of quadlet file to write. By default it takes name value.

+
+

quadlet_options

+

list / elements=string

+

Options for the quadlet file. Provide missing in usual network args options as a list of lines to add.

+
+

recreate

+

boolean

+

Recreate network even if exists.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

route

+

list / elements=string

+

A static route in the format <destination in CIDR notation>,<gateway>,<route metric (optional)>. This route will be added to every container in this network.

+
+

state

+

string

+

State of network, default ‘present’

+

Choices:

+
    +
  • "present" ← (default)

  • +
  • "absent"

  • +
  • "quadlet"

  • +
+
+

subnet

+

string

+

Subnet in CIDR format

+
+
+
+

Examples

+
- name: Create a podman network
+  containers.podman.podman_network:
+    name: podman_network
+  become: true
+
+- name: Create internal podman network
+  containers.podman.podman_network:
+    name: podman_internal
+    internal: true
+    ip_range: 192.168.22.128/25
+    subnet: 192.168.22.0/24
+    gateway: 192.168.22.1
+  become: true
+
+- name: Create Quadlet file for podman network
+  containers.podman.podman_network:
+    name: podman_network
+    state: quadlet
+    quadlet_options:
+      - IPv6=true
+      - Label="ipv6 network"
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

network

+

list / elements=string

+

Facts from created or updated networks

+

Returned: always

+

Sample: [{"created": "2024-07-13T15:43:36.548472483+03:00", "dns_enabled": true, "driver": "bridge", "id": "3f46dc2626fe082b1ec703bc74d048765c1110c9eab7d61e33344e212279402c", "internal": false, "ipam_options": {"driver": "host-local"}, "ipv6_enabled": false, "name": "virtuals", "network_interface": "podman2", "subnets": [{"gateway": "10.99.99.1", "subnet": "10.99.99.0/24"}]}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_play_module.html b/docs/collections/containers/podman/podman_play_module.html new file mode 100644 index 0000000..40bcf8c --- /dev/null +++ b/docs/collections/containers/podman/podman_play_module.html @@ -0,0 +1,515 @@ + + + + + + + + + + containers.podman.podman_play module – Play kubernetes YAML file using podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_play module – Play kubernetes YAML file using podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_play.

+
+ +
+

Synopsis

+
    +
  • The module reads in a structured file of Kubernetes YAML. It will then recreate the pod and containers described in the YAML.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+
+

annotation

+

aliases: annotations

+

dictionary

+

Add an annotation to the container or pod.

+
+

authfile

+

path

+

Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json, which is set using podman login. If the authorization state is not found there, $HOME/.docker/config.json is checked, which is set using docker login. Note - You can also override the default path of the authentication file by setting the REGISTRY_AUTH_FILE environment variable. export REGISTRY_AUTH_FILE=path

+
+

build

+

boolean

+

Build images even if they are found in the local storage.

+

It is required to exist subdirectories matching the image names to be build.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

cert_dir

+

path

+

Use certificates at path (*.crt, *.cert, *.key) to connect to the registry. Default certificates directory is /etc/containers/certs.d. (This option is not available with the remote Podman client)

+
+

configmap

+

list / elements=path

+

Use Kubernetes configmap YAML at path to provide a source for environment variable values within the containers of the pod. Note - The configmap option can be used multiple times to pass multiple Kubernetes configmap YAMLs

+
+

context_dir

+

path

+

Use path as the build context directory for each image. Requires build option be true.

+
+

debug

+

boolean

+

Enable debug for the module.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

executable

+

string

+

Name of executable to run, by default ‘podman’

+

Default: "podman"

+
+

kube_file

+

path

+

Path to file with YAML configuration for a Pod.

+
+

kube_file_content

+

string

+

Content of the kube file.

+
+

log_driver

+

string

+

Set logging driver for all created containers.

+
+

log_level

+

string

+

Set logging level for podman calls. Log messages above specified level (“debug”|”info”|”warn”|”error”|”fatal”|”panic”) (default “error”)

+

Choices:

+
    +
  • "debug"

  • +
  • "info"

  • +
  • "warn"

  • +
  • "error"

  • +
  • "fatal"

  • +
  • "panic"

  • +
+
+
+

log_opt

+

aliases: log_options

+

dictionary

+

Logging driver specific options. Set custom logging configuration.

+
+
+

max_size

+

string

+

Specify a max size of the log file (e.g 10mb).

+
+
+

path

+

string

+

specify a path to the log file (e.g. /var/log/container/mycontainer.json).

+
+
+

tag

+

string

+

Specify a custom log tag for the container. This option is currently supported only by the journald log driver in Podman.

+
+

network

+

list / elements=string

+

List of the names of CNI networks the pod should join.

+
+

password

+

string

+

The username and password to use to authenticate with the registry if required.

+
+

quadlet_dir

+

path

+

Path to the directory to write quadlet file in. By default, it will be set as /etc/containers/systemd/ for root user, ~/.config/containers/systemd/ for non-root users.

+
+

quadlet_file_mode

+

any

+

The permissions of the quadlet file.

+

The quadlet_file_mode can be specied as octal numbers or as a symbolic mode (for example, u+rwx or u=rw,g=r,o=r). For octal numbers format, you must either add a leading zero so that Ansible’s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like '644' or '1777') so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results.

+

If quadlet_file_mode is not specified and the quadlet file does not exist, the default '0640' mask will be used when setting the mode for the newly created file.

+

If quadlet_file_mode is not specified and the quadlet file does exist, the mode of the existing file will be used.

+

Specifying quadlet_file_mode is the best way to ensure files are created with the correct permissions.

+
+

quadlet_filename

+

string

+

Name of quadlet file to write. Must be specified if state is quadlet.

+
+

quadlet_options

+

list / elements=string

+

Options for the quadlet file. Provide missing in usual network args options as a list of lines to add.

+
+

quiet

+

boolean

+

Hide image pulls logs from output.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

recreate

+

boolean

+

If pod already exists, delete it and run the new one.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

seccomp_profile_root

+

path

+

Directory path for seccomp profiles (default is “/var/lib/kubelet/seccomp”). This option is not available with the remote Podman client

+
+

state

+

string / required

+

Start the pod after creating it, or to leave it created only.

+

Choices:

+
    +
  • "created"

  • +
  • "started"

  • +
  • "absent"

  • +
  • "quadlet"

  • +
+
+

tls_verify

+

boolean

+

Require HTTPS and verify certificates when contacting registries (default is true). If explicitly set to true, then TLS verification will be used. If set to false, then TLS verification will not be used. If not specified, TLS verification will be used unless the target registry is listed as an insecure registry in registries.conf.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

username

+

string

+

The username and password to use to authenticate with the registry if required.

+
+

userns

+

string

+

Set the user namespace mode for all the containers in a pod. It defaults to the PODMAN_USERNS environment variable. An empty value (“”) means user namespaces are disabled.

+
+
+
+

Examples

+
- name: Play kube file
+  containers.podman.podman_play:
+    kube_file: ~/kube.yaml
+    state: started
+
+- name: Recreate pod from a kube file with options
+  containers.podman.podman_play:
+    kube_file: ~/kube.yaml
+    state: started
+    recreate: true
+    annotations:
+      greeting: hello
+      greet_to: world
+    userns: host
+    log_opt:
+      path: /tmp/my-container.log
+      max_size: 10mb
+
+- name: Create a Quadlet file
+  containers.podman.podman_play:
+    kube_file: ~/kube.yaml
+    state: quadlet
+    annotations:
+      greeting: hello
+      greet_to: world
+    userns: host
+    quadlet_filename: kube-pod
+    quadlet_file_mode: '0640'
+    quadlet_options:
+      - "SetWorkingDirectory=yaml"
+      - "ExitCodePropagation=any"
+
+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_pod_info_module.html b/docs/collections/containers/podman/podman_pod_info_module.html new file mode 100644 index 0000000..a8fe964 --- /dev/null +++ b/docs/collections/containers/podman/podman_pod_info_module.html @@ -0,0 +1,272 @@ + + + + + + + + + + containers.podman.podman_pod_info module – Gather info about podman pods — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_pod_info module – Gather info about podman pods

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_pod_info.

+
+

New in containers.podman 1.0.0

+ +
+

Synopsis

+
    +
  • Gather info about podman pods with podman inspect command.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

name

+

string

+

Name of the pod

+
+
+
+

Examples

+
- name: Gather info about all present pods
+  containers.podman.podman_pod_info:
+
+- name: Gather info about specific pods
+  containers.podman.podman_pod_info:
+    name: special_pod
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

pods

+

list / elements=string

+

Facts from all or specified pods

+

Returned: always

+

Sample: [{"CgroupParent": "user.slice", "CgroupPath": "user.slice/user-1000.slice/user@1000.service/user.slice/....slice", "Containers": [{"Id": "37f960e6c8accc6b5b41945b1dcf03a28d3a366f7f37049748f18b21c44f577e", "Name": "a99a49b8fa77-infra", "State": "created"}], "CreateCgroup": true, "CreateCommand": ["podman", "pod", "create", "--name", "pod_name", "--infra=True", "--userns", "auto", "--security-opt", "seccomp=unconfined", "--security-opt", "apparmor=unconfined", "--hostname", "mypod", "--dns", "1.1.1.2", "--label", "key=cval", "--label", "otherkey=kddkdk", "--label", "somekey=someval", "--add-host", "google:5.5.5.5", "--volume", "/tmp/test//:/data2"], "CreateInfra": true, "Created": "2024-05-28T20:41:09.946926613+03:00", "ExitPolicy": "continue", "Hostname": "mypod", "Id": "a99a41b8fa77d8c7ff1c432a7a21bc0c2afd8c13b94a9d9b9b19b66ae97920c1", "InfraConfig": {"DNSOption": null, "DNSSearch": null, "DNSServer": ["1.1.1.2"], "HostAdd": ["google:5.5.5.5"], "HostNetwork": false, "NetworkOptions": null, "Networks": null, "NoManageHosts": false, "NoManageResolvConf": false, "PortBindings": {}, "StaticIP": "", "StaticMAC": "", "pid_ns": "private", "userns": "host", "uts_ns": "private"}, "InfraContainerID": "37f960e6c8accc6b5b41945b1dcf03a28d3a366f7f37049748f18b21c44f577e", "Labels": {"key": "cval", "otherkey": "kddkdk", "somekey": "someval"}, "LockNumber": 1, "Name": "pod_name", "NumContainers": 1, "SharedNamespaces": ["user", "uts", "ipc", "net"], "State": "Created", "mounts": [{"Destination": "/data2", "Driver": "", "Mode": "", "Options": ["nosuid", "nodev", "rbind"], "Propagation": "rprivate", "RW": true, "Source": "/tmp/test", "Type": "bind"}], "security_opt": ["seccomp=unconfined", "apparmor=unconfined"]}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_pod_module.html b/docs/collections/containers/podman/podman_pod_module.html new file mode 100644 index 0000000..871d705 --- /dev/null +++ b/docs/collections/containers/podman/podman_pod_module.html @@ -0,0 +1,934 @@ + + + + + + + + + + containers.podman.podman_pod module – Manage Podman pods — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_pod module – Manage Podman pods

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_pod.

+
+

New in containers.podman 1.0.0

+ +
+

Synopsis

+
    +
  • Manage podman pods.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

add_host

+

list / elements=string

+

Add a host to the /etc/hosts file shared between all containers in the pod.

+
+

blkio_weight

+

string

+

Block IO relative weight. The weight is a value between 10 and 1000.

+

This option is not supported on cgroups V1 rootless systems.

+
+

blkio_weight_device

+

list / elements=string

+

Block IO relative device weight.

+
+

cgroup_parent

+

string

+

Path to cgroups under which the cgroup for the pod will be created. If the path is not absolute, he path is considered to be relative to the cgroups path of the init process. Cgroups will be created if they do not already exist.

+
+

cpu_shares

+

string

+

CPU shares (relative weight).

+
+

cpus

+

string

+

Set the total number of CPUs delegated to the pod. Default is 0.000 which indicates that there is no limit on computation power.

+
+

cpuset_cpus

+

string

+

Limit the CPUs to support execution. First CPU is numbered 0. Unlike `cpus` this is of type string and parsed as a list of numbers. Format is 0-3,0,1

+
+

cpuset_mems

+

string

+

Memory nodes in which to allow execution (0-3, 0,1). Only effective on NUMA systems.

+
+

debug

+

boolean

+

Return additional information which can be helpful for investigations.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

device

+

list / elements=string

+

Add a host device to the pod. Optional permissions parameter can be used to specify device permissions. It is a combination of r for read, w for write, and m for mknod(2)

+
+

device_read_bps

+

list / elements=string

+

Limit read rate (bytes per second) from a device (e.g. device-read-bps=/dev/sda:1mb)

+
+

device_write_bps

+

list / elements=string

+

Limit write rate (in bytes per second) to a device.

+
+

dns

+

list / elements=string

+

Set custom DNS servers in the /etc/resolv.conf file that will be shared between all containers in the pod. A special option, “none” is allowed which disables creation of /etc/resolv.conf for the pod.

+
+
+

dns_opt

+

aliases: dns_option

+

list / elements=string

+

Set custom DNS options in the /etc/resolv.conf file that will be shared between all containers in the pod.

+
+ +

list / elements=string

+

Set custom DNS search domains in the /etc/resolv.conf file that will be shared between all containers in the pod.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

exit_policy

+

string

+

Set the exit policy of the pod when the last container exits. Supported policies are stop and continue

+

Choices:

+
    +
  • "stop"

  • +
  • "continue"

  • +
+
+

generate_systemd

+

dictionary

+

Generate systemd unit file for container.

+

Default: {}

+
+

after

+

list / elements=string

+

Add the systemd unit after (After=) option, that ordering dependencies between the list of dependencies and this service.

+
+

container_prefix

+

string

+

Set the systemd unit name prefix for containers. The default is “container”.

+
+

names

+

boolean

+

Use names of the containers for the start, stop, and description in the unit file. Default is true.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

new

+

boolean

+

Create containers and pods when the unit is started instead of expecting them to exist. The default is “false”. Refer to podman-generate-systemd(1) for more information.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

no_header

+

boolean

+

Do not generate the header including meta data such as the Podman version and the timestamp. From podman version 3.1.0.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

path

+

string

+

Specify a path to the directory where unit files will be generated. Required for this option. If it doesn’t exist, the directory will be created.

+
+

pod_prefix

+

string

+

Set the systemd unit name prefix for pods. The default is “pod”.

+
+

requires

+

list / elements=string

+

Set the systemd unit requires (Requires=) option. Similar to wants, but declares a stronger requirement dependency.

+
+

restart_policy

+

string

+

Specify a restart policy for the service. The restart-policy must be one of “no”, “on-success”, “on-failure”, “on-abnormal”, “on-watchdog”, “on-abort”, or “always”. The default policy is “on-failure”.

+

Choices:

+
    +
  • "no"

  • +
  • "on-success"

  • +
  • "on-failure"

  • +
  • "on-abnormal"

  • +
  • "on-watchdog"

  • +
  • "on-abort"

  • +
  • "always"

  • +
+
+

restart_sec

+

integer

+

Set the systemd service restartsec value.

+
+

separator

+

string

+

Set the systemd unit name separator between the name/id of a container/pod and the prefix. The default is “-” (dash).

+
+

start_timeout

+

integer

+

Override the default start timeout for the container with the given value.

+
+
+

stop_timeout

+

aliases: time

+

integer

+

Override the default stop timeout for the container with the given value. Called `time` before version 4.

+
+

wants

+

list / elements=string

+

Add the systemd unit wants (Wants=) option, that this service is (weak) dependent on.

+
+

gidmap

+

list / elements=string

+

GID map for the user namespace. Using this flag will run the container with user namespace enabled. It conflicts with the `userns` and `subgidname` flags.

+
+

gpus

+

string

+

GPU devices to add to the container (‘all’ to pass all GPUs).

+
+

hostname

+

string

+

Set a hostname to the pod

+
+

infra

+

boolean

+

Create an infra container and associate it with the pod. An infra container is a lightweight container used to coordinate the shared kernel namespace of a pod. Default is true.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

infra_command

+

string

+

The command that will be run to start the infra container. Default is “/pause”.

+
+

infra_conmon_pidfile

+

string

+

Write the pid of the infra container’s conmon process to a file. As conmon runs in a separate process than Podman, this is necessary when using systemd to manage Podman containers and pods.

+
+

infra_image

+

string

+

The image that will be created for the infra container. Default is “k8s.gcr.io/pause:3.1”.

+
+

infra_name

+

string

+

The name that will be used for the pod’s infra container.

+
+

ip

+

string

+

Set a static IP for the pod’s shared network.

+
+

ip6

+

string

+

Set a static IPv6 for the pod’s shared network.

+
+

label

+

dictionary

+

Add metadata to a pod, pass dictionary of label keys and values.

+
+

label_file

+

string

+

Read in a line delimited file of labels.

+
+

mac_address

+

string

+

Set a static MAC address for the pod’s shared network.

+
+

memory

+

string

+

Set memory limit.

+

A unit can be b (bytes), k (kibibytes), m (mebibytes), or g (gibibytes).

+
+

memory_swap

+

string

+

Set limit value equal to memory plus swap.

+

A unit can be b (bytes), k (kibibytes), m (mebibytes), or g (gibibytes).

+
+

name

+

string / required

+

Assign a name to the pod.

+
+

network

+

list / elements=string

+

Set network mode for the pod. Supported values are bridge (the default), host (do not create a network namespace, all containers in the pod will use the host’s network), or a list of names of CNI networks to join.

+
+
+

network_alias

+

aliases: network_aliases

+

list / elements=string

+

Add a network-scoped alias for the pod, setting the alias for all networks that the pod joins. To set a name only for a specific network, use the alias option as described under the -`network` option. Network aliases work only with the bridge networking mode. This option can be specified multiple times.

+
+

no_hosts

+

boolean

+

Disable creation of /etc/hosts for the pod.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

pid

+

string

+

Set the PID mode for the pod. The default is to create a private PID namespace for the pod. Requires the PID namespace to be shared via `share` option.

+
+

pod_id_file

+

string

+

Write the pod ID to the file.

+
+
+

publish

+

aliases: ports

+

list / elements=string

+

Publish a port or range of ports from the pod to the host.

+
+

quadlet_dir

+

path

+

Path to the directory to write quadlet file in. By default, it will be set as /etc/containers/systemd/ for root user, ~/.config/containers/systemd/ for non-root users.

+
+

quadlet_file_mode

+

any

+

The permissions of the quadlet file.

+

The quadlet_file_mode can be specied as octal numbers or as a symbolic mode (for example, u+rwx or u=rw,g=r,o=r). For octal numbers format, you must either add a leading zero so that Ansible’s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like '644' or '1777') so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results.

+

If quadlet_file_mode is not specified and the quadlet file does not exist, the default umask on the system will be used when setting the mode for the newly created file.

+

If quadlet_file_mode is not specified and the quadlet file does exist, the mode of the existing file will be used.

+

Specifying quadlet_file_mode is the best way to ensure files are created with the correct permissions.

+
+

quadlet_filename

+

string

+

Name of quadlet file to write. By default it takes name value.

+
+

quadlet_options

+

list / elements=string

+

Options for the quadlet file. Provide missing in usual container args options as a list of lines to add.

+
+

recreate

+

boolean

+

Use with present and started states to force the re-creation of an existing pod.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

restart_policy

+

string

+

Restart policy to follow when containers exit.

+
+

security_opt

+

list / elements=string

+

Security options for the pod.

+
+

share

+

string

+

A comma delimited list of kernel namespaces to share. If none or “” is specified, no namespaces will be shared. The namespaces to choose from are ipc, net, pid, user, uts.

+
+

share_parent

+

boolean

+

This boolean determines whether or not all containers entering the pod use the pod as their cgroup parent. The default value of this option in Podman is true.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+

shm_size

+

string

+

Set the size of the /dev/shm shared memory space. A unit can be b (bytes), k (kibibytes), m (mebibytes), or g (gibibytes). If the unit is omitted, the system uses bytes. If the size is omitted, the default is 64m. When size is 0, there is no limit on the amount of memory used for IPC by the pod.

+
+

shm_size_systemd

+

string

+

Size of systemd-specific tmpfs mounts such as /run, /run/lock, /var/log/journal and /tmp. A unit can be b (bytes), k (kibibytes), m (mebibytes), or g (gibibytes). If the unit is omitted, the system uses bytes. If the size is omitted, the default is 64m. When size is 0, the usage is limited to 50 percents of the host’s available memory.

+
+

state

+

string

+

This variable is set for state

+

Choices:

+
    +
  • "created" ← (default)

  • +
  • "killed"

  • +
  • "restarted"

  • +
  • "absent"

  • +
  • "started"

  • +
  • "stopped"

  • +
  • "paused"

  • +
  • "unpaused"

  • +
  • "quadlet"

  • +
+
+

subgidname

+

string

+

Name for GID map from the /etc/subgid file. Using this flag will run the container with user namespace enabled. This flag conflicts with `userns` and `gidmap`.

+
+

subuidname

+

string

+

Name for UID map from the /etc/subuid file. Using this flag will run the container with user namespace enabled. This flag conflicts with `userns` and `uidmap`.

+
+

sysctl

+

dictionary

+

Set kernel parameters for the pod.

+
+

uidmap

+

list / elements=string

+

Run the container in a new user namespace using the supplied mapping. This option conflicts with the `userns` and `subuidname` options. This option provides a way to map host UIDs to container UIDs. It can be passed several times to map different ranges.

+
+

userns

+

string

+

Set the user namespace mode for all the containers in a pod. It defaults to the PODMAN_USERNS environment variable. An empty value (“”) means user namespaces are disabled.

+
+

uts

+

string

+

Set the UTS namespace mode for the pod.

+
+
+

volume

+

aliases: volumes

+

list / elements=string

+

Create a bind mount.

+
+

volumes_from

+

list / elements=string

+

Mount volumes from the specified container.

+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_pod:
+    name: pod1
+    state: started
+    ports:
+      - "4444:5555"
+
+# Connect random port from localhost to port 80 on pod2
+- name: Connect random port from localhost to port 80 on pod2
+  containers.podman.podman_pod:
+    name: pod2
+    state: started
+    publish: "127.0.0.1::80"
+
+# Full workflow example with pod and containers
+- name: Create a pod with parameters
+  containers.podman.podman_pod:
+    name: mypod
+    state: created
+    network: host
+    share: net
+    userns: auto
+    security_opt:
+      - seccomp=unconfined
+      - apparmor=unconfined
+    hostname: mypod
+    dns:
+      - 1.1.1.1
+    volumes:
+      - /tmp:/tmp/:ro
+    label:
+      key: cval
+      otherkey: kddkdk
+      somekey: someval
+    add_host:
+      - "google:5.5.5.5"
+
+- name: Create containers attached to the pod
+  containers.podman.podman_container:
+    name: "{{ item }}"
+    state: created
+    pod: mypod
+    image: alpine
+    command: sleep 1h
+    loop:
+      - "container1"
+      - "container2"
+
+- name: Start pod
+  containers.podman.podman_pod:
+    name: mypod
+    state: started
+    network: host
+    share: net
+    userns: auto
+    security_opt:
+      - seccomp=unconfined
+      - apparmor=unconfined
+    hostname: mypod
+    dns:
+      - 1.1.1.1
+    volumes:
+      - /tmp:/tmp/:ro
+    label:
+      key: cval
+      otherkey: kddkdk
+      somekey: someval
+    add_host:
+      - "google:5.5.5.5"
+
+# Create a Quadlet file for a pod
+- containers.podman.podman_pod:
+    name: qpod
+    state: quadlet
+    ports:
+      - "4444:5555"
+    volume:
+      - /var/run/docker.sock:/var/run/docker.sock
+    quadlet_dir: /custom/dir
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

pod

+

dictionary

+

Pod inspection results for the given pod built.

+

Returned: always

+

Sample: {"CgroupParent": "user.slice", "CgroupPath": "user.slice/user-1000.slice/user@1000.service/user.slice/....slice", "Containers": [{"Id": "37f960e6c8accc6b5b41945b1dcf03a28d3a366f7f37049748f18b21c44f577e", "Name": "a99a49b8fa77-infra", "State": "created"}], "CreateCgroup": true, "CreateCommand": ["podman", "pod", "create", "--name", "pod_name", "--infra=True", "--userns", "auto", "--security-opt", "seccomp=unconfined", "--security-opt", "apparmor=unconfined", "--hostname", "mypod", "--dns", "1.1.1.2", "--label", "key=cval", "--label", "otherkey=kddkdk", "--label", "somekey=someval", "--add-host", "google:5.5.5.5", "--volume", "/tmp/test//:/data2"], "CreateInfra": true, "Created": "2024-05-28T20:41:09.946926613+03:00", "ExitPolicy": "continue", "Hostname": "mypod", "Id": "a99a41b8fa77d8c7ff1c432a7a21bc0c2afd8c13b94a9d9b9b19b66ae97920c1", "InfraConfig": {"DNSOption": null, "DNSSearch": null, "DNSServer": ["1.1.1.2"], "HostAdd": ["google:5.5.5.5"], "HostNetwork": false, "NetworkOptions": null, "Networks": null, "NoManageHosts": false, "NoManageResolvConf": false, "PortBindings": {}, "StaticIP": "", "StaticMAC": "", "pid_ns": "private", "userns": "host", "uts_ns": "private"}, "InfraContainerID": "37f960e6c8accc6b5b41945b1dcf03a28d3a366f7f37049748f18b21c44f577e", "Labels": {"key": "cval", "otherkey": "kddkdk", "somekey": "someval"}, "LockNumber": 1, "Name": "pod_name", "NumContainers": 1, "SharedNamespaces": ["user", "uts", "ipc", "net"], "State": "Created", "mounts": [{"Destination": "/data2", "Driver": "", "Mode": "", "Options": ["nosuid", "nodev", "rbind"], "Propagation": "rprivate", "RW": true, "Source": "/tmp/test", "Type": "bind"}], "security_opt": ["seccomp=unconfined", "apparmor=unconfined"]}

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_prune_module.html b/docs/collections/containers/podman/podman_prune_module.html new file mode 100644 index 0000000..255016b --- /dev/null +++ b/docs/collections/containers/podman/podman_prune_module.html @@ -0,0 +1,429 @@ + + + + + + + + + + containers.podman.podman_prune module – Allows to prune various podman objects — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_prune module – Allows to prune various podman objects

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_prune.

+
+

New in containers.podman 1.10.0

+ +
+

Synopsis

+
    +
  • Allows to run podman container prune, podman image prune, podman network prune, podman volume prune and podman system prune

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

container

+

boolean

+

Whether to prune containers.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

container_filters

+

dictionary

+

A dictionary of filter values used for selecting containers to delete.

+

For example, until: 24h.

+

See the podman documentation for more information on possible filters.

+
+

executable

+

string

+

Podman binary.

+

Default: "podman"

+
+

image

+

boolean

+

Whether to prune images.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

image_filters

+

dictionary

+

A dictionary of filter values used for selecting images to delete.

+

You can also use dangling_only: false to delete dangling and non-dangling images or external: true to delete images even when they are used by external containers.

+

See the podman documentation for more information on possible filters.

+
+

network

+

boolean

+

Whether to prune networks.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

network_filters

+

dictionary

+

A dictionary of filter values used for selecting networks to delete.

+

See the podman documentation for more information on possible filters.

+
+

system

+

boolean

+

Whether to prune unused pods, containers, image, networks and volume data

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

system_all

+

boolean

+

Whether to prune all unused images, not only dangling images.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

system_volumes

+

boolean

+

Whether to prune volumes currently unused by any container.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

volume

+

boolean

+

Whether to prune volumes.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

volume_filters

+

dictionary

+

A dictionary of filter values used for selecting volumes to delete.

+

See the podman documentation for more information on possible filters.

+
+
+
+

Examples

+
- name: Prune containers older than 24h
+  containers.podman.podman_prune:
+      containers: true
+      containers_filters:
+          # only consider containers created more than 24 hours ago
+          until: 24h
+
+- name: Prune everything
+  containers.podman.podman_prune:
+      system: true
+
+- name: Prune everything (including non-dangling images)
+  containers.podman.podman_prune:
+      system: true
+      system_all: true
+      system_volumes: true
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + + + + + + + + + + + + + +

Key

Description

+

containers

+

list / elements=string

+

List of IDs of deleted containers.

+

Returned: containers is true

+

Sample: []

+
+

images

+

list / elements=string

+

List of IDs of deleted images.

+

Returned: images is true

+

Sample: []

+
+

networks

+

list / elements=string

+

List of IDs of deleted networks.

+

Returned: networks is true

+

Sample: []

+
+

system

+

list / elements=string

+

List of ID of deleted containers, volumes, images, network and total reclaimed space

+

Returned: system is true

+

Sample: []

+
+

volumes

+

list / elements=string

+

List of IDs of deleted volumes.

+

Returned: volumes is true

+

Sample: []

+
+
+

Authors

+
    +
  • Roberto Alfieri (@rebtoor)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_runlabel_module.html b/docs/collections/containers/podman/podman_runlabel_module.html new file mode 100644 index 0000000..5aab987 --- /dev/null +++ b/docs/collections/containers/podman/podman_runlabel_module.html @@ -0,0 +1,253 @@ + + + + + + + + + + containers.podman.podman_runlabel module – Run given label from given image — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_runlabel module – Run given label from given image

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_runlabel.

+
+ +
+

Synopsis

+
    +
  • podman container runlabel runs selected label from given image

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

image

+

string / required

+

Image to get the label from.

+
+

label

+

string / required

+

Label to run.

+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_runlabel:
+    image: docker.io/continuumio/miniconda3
+    label: INSTALL
+
+
+
+

Authors

+
    +
  • Pavel Dostal (@pdostal)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_save_module.html b/docs/collections/containers/podman/podman_save_module.html new file mode 100644 index 0000000..85351c4 --- /dev/null +++ b/docs/collections/containers/podman/podman_save_module.html @@ -0,0 +1,311 @@ + + + + + + + + + + containers.podman.podman_save module – Saves podman image to tar file — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_save module – Saves podman image to tar file

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_save.

+
+ +
+

Synopsis

+
    +
  • podman save saves an image to either docker-archive, oci-archive, oci-dir (directory with oci manifest type), or docker-dir (directory with v2s2 manifest type) on the local machine, default is docker-archive.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

compress

+

boolean

+

Compress tarball image layers when pushing to a directory using the ‘dir’ transport. (default is same compression type, compressed or uncompressed, as source)

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+
+

dest

+

aliases: path

+

string / required

+

Destination file to write image to.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

force

+

boolean

+

Force saving to file even if it exists.

+

Choices:

+
    +
  • false

  • +
  • true ← (default)

  • +
+
+

format

+

string

+

Save image to docker-archive, oci-archive (see containers-transports(5)), oci-dir (oci transport), or docker-dir (dir transport with v2s2 manifest type).

+

Choices:

+
    +
  • "docker-archive"

  • +
  • "oci-archive"

  • +
  • "oci-dir"

  • +
  • "docker-dir"

  • +
+
+

image

+

list / elements=string / required

+

Image to save.

+
+

multi_image_archive

+

boolean

+

Allow for creating archives with more than one image. Additional names will be interpreted as images instead of tags. Only supported for docker-archive.

+

Choices:

+
    +
  • false

  • +
  • true

  • +
+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_save:
+    image: nginx
+    dest: /tmp/file123.tar
+- containers.podman.podman_save:
+    image:
+      - nginx
+      - fedora
+    dest: /tmp/file456.tar
+    multi_image_archive: true
+
+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_search_module.html b/docs/collections/containers/podman/podman_search_module.html new file mode 100644 index 0000000..fb25b56 --- /dev/null +++ b/docs/collections/containers/podman/podman_search_module.html @@ -0,0 +1,298 @@ + + + + + + + + + + containers.podman.podman_search module – Search for remote images using podman — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_search module – Search for remote images using podman

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman_search.

+
+ +
+

Synopsis

+
    +
  • Search for remote images using podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

limit

+

integer

+

Limit the number of image results returned from the search (per image registry)

+

Default: 25

+
+

list_tags

+

boolean

+

Whether or not to return the list of tags associated with each image

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

term

+

string / required

+

The search term to look for. Will search all default registries unless a registry is defined in the search term.

+
+
+
+

Notes

+
+

Note

+
    +
  • Podman may required elevated privileges in order to run properly.

  • +
+
+
+
+

Examples

+
- name: Search for any rhel images
+  containers.podman.podman_search:
+    term: "rhel"
+    limit: 3
+
+- name: Gather info on a specific remote image
+  containers.podman.podman_search:
+    term: "myimageregistry.com/ansible-automation-platform/ee-minimal-rhel8"
+
+- name: Gather tag info on a known remote image
+  containers.podman.podman_search:
+    term: "myimageregistry.com/ansible-automation-platform/ee-minimal-rhel8"
+    list_tags: True
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

images

+

list / elements=string

+

info from all or specified images

+

Returned: always

+

Sample: [{"Automated": "", "Description": "Red Hat Enterprise Linux Atomic Image is a minimal, fully supported base image.", "Index": "registry.access.redhat.com", "Name": "registry.access.redhat.com/rhel7-atomic", "Official": "", "Stars": 0, "Tags": ["1.0", "1.1", "1.1.1-devel"]}]

+
+
+

Authors

+
    +
  • Derek Waters (@derekwaters)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_secret_info_module.html b/docs/collections/containers/podman/podman_secret_info_module.html new file mode 100644 index 0000000..72af62b --- /dev/null +++ b/docs/collections/containers/podman/podman_secret_info_module.html @@ -0,0 +1,283 @@ + + + + + + + + + + containers.podman.podman_secret_info module – Gather info about podman secrets — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_secret_info module – Gather info about podman secrets

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_secret_info.

+
+ +
+

Synopsis

+
    +
  • Gather info about podman secrets with podman inspect command.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

name

+

string

+

Name of the secret

+
+

showsecret

+

boolean

+

Show secret data value

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+
+
+

Examples

+
- name: Gather info about all present secrets
+  podman_secret_info:
+
+- name: Gather info about specific secret
+  podman_secret_info:
+    name: specific_secret
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

secrets

+

list / elements=string

+

Facts from all or specified secrets

+

Returned: always

+

Sample: [{"CreatedAt": "2024-01-28T20:32:08.31857841+02:00", "ID": "06068c676e9a7f1c7dc0da8dd", "Spec": {"Driver": {"Name": "file", "Options": {"path": "/home/user/.local/share/containers/storage/secrets/filedriver"}}, "Labels": {}, "Name": "secret_name"}, "UpdatedAt": "2024-01-28T20:32:08.31857841+02:00"}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_secret_module.html b/docs/collections/containers/podman/podman_secret_module.html new file mode 100644 index 0000000..aea1fc9 --- /dev/null +++ b/docs/collections/containers/podman/podman_secret_module.html @@ -0,0 +1,357 @@ + + + + + + + + + + containers.podman.podman_secret module – Manage podman secrets — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_secret module – Manage podman secrets

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_secret.

+
+

New in containers.podman 1.7.0

+ +
+

Synopsis

+
    +
  • Manage podman secrets

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

data

+

string

+

The value of the secret. Required when state is present. Mutually exclusive with env and path.

+
+

debug

+

boolean

+

Enable debug mode for module. It prints secrets diff.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

driver

+

string

+

Override default secrets driver, currently podman uses file which is unencrypted.

+
+

driver_opts

+

dictionary

+

Driver-specific key-value options.

+
+

env

+

string

+

The name of the environment variable that contains the secret. Mutually exclusive with data and path.

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

force

+

boolean

+

Use it when state is present to remove and recreate an existing secret.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

labels

+

dictionary

+

Labels to set on the secret.

+
+

name

+

string / required

+

The name of the secret.

+
+

path

+

path

+

Path to the file that contains the secret. Mutually exclusive with data and env.

+
+

skip_existing

+

boolean

+

Use it when state is present and secret with the same name already exists. If set to true, the secret will NOT be recreated and remains as is.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

state

+

string

+

Whether to create or remove the named secret.

+

Choices:

+
    +
  • "absent"

  • +
  • "present" ← (default)

  • +
+
+
+
+

Examples

+
- name: Create secret
+  containers.podman.podman_secret:
+    state: present
+    name: mysecret
+    data: "my super secret content"
+
+- name: Create container that uses the secret
+  containers.podman.podman_container:
+    name: showmysecret
+    image: docker.io/alpine:3.14
+    secrets:
+      - mysecret
+    detach: false
+    command: cat /run/secrets/mysecret
+  register: container
+
+- name: Output secret data
+  debug:
+    msg: '{{ container.stdout }}'
+
+- name: Remove secret
+  containers.podman.podman_secret:
+    state: absent
+    name: mysecret
+
+
+
+

Authors

+
    +
  • Aliaksandr Mianzhynski (@amenzhinsky)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_system_info_module.html b/docs/collections/containers/podman/podman_system_info_module.html new file mode 100644 index 0000000..70c23d5 --- /dev/null +++ b/docs/collections/containers/podman/podman_system_info_module.html @@ -0,0 +1,267 @@ + + + + + + + + + + containers.podman.podman_system_info module – Get podman system information from host machine — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_system_info module – Get podman system information from host machine

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_system_info.

+
+ +
+

Synopsis

+
    +
  • Runs “podman system info” on host machine

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+
+
+

Examples

+
- name: Get Podman system information
+  containers.podman.podman_system_info:
+
+- name: Get Podman system information into a variable
+  containers.podman.podman_system_info:
+  register: podman_info
+- name: Printing Podman System info
+  debug:
+    msg: "{{ podman_info['podman_system_info'] }}"
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

podman_system_info

+

dictionary

+

System information from podman

+

Returned: always

+

Sample: {"host": {"arch": "amd64", "buildahVersion": "1.40.1", "cgroupControllers": ["cpu", "io", "memory", "pids"], "cgroupManager": "systemd", "cgroupVersion": "v2", "conmon": {"package": "conmon-2.1.13-1.fc41.x86_64", "path": "/usr/bin/conmon", "version": "conmon version 2.1.13, commit "}, "cpuUtilization": {"idlePercent": 92.12, "systemPercent": 2.15, "userPercent": 5.73}, "cpus": 12, "databaseBackend": "boltdb", "distribution": {"distribution": "fedora", "variant": "workstation", "version": "41"}, "eventLogger": "journald", "freeLocks": 897, "hostname": "user.remote", "idMappings": {"gidmap": [{"container_id": 0, "host_id": 1000, "size": 1}, {"container_id": 1, "host_id": 100000, "size": 65536}], "uidmap": [{"container_id": 0, "host_id": 1000, "size": 1}, {"container_id": 1, "host_id": 100000, "size": 65536}]}, "kernel": "6.14.9-200.fc41.x86_64", "linkmode": "dynamic", "logDriver": "journald", "memFree": 3055095808, "memTotal": 67157032960, "networkBackend": "netavark", "networkBackendInfo": {"backend": "netavark", "dns": {"package": "aardvark-dns-1.15.0-1.fc41.x86_64", "path": "/usr/libexec/podman/aardvark-dns", "version": "aardvark-dns 1.15.0"}, "package": "netavark-1.15.2-1.fc41.x86_64", "path": "/usr/libexec/podman/netavark", "version": "netavark 1.15.2"}, "ociRuntime": {"name": "crun", "package": "crun-1.21-1.fc41.x86_64", "path": "/usr/bin/crun", "version": "crun version 1.21..."}, "os": "linux", "pasta": {"executable": "/usr/bin/pasta", "package": "passt-0^20250611.g0293c6f-1.fc41.x86_64", "version": "pasta 0^20250611.g0293c6f-1.fc41.x86_64\nCopyright Red Hat\n..."}, "remoteSocket": {"exists": true, "path": "/run/user/1000/podman/podman.sock"}, "rootlessNetworkCmd": "pasta", "security": {"apparmorEnabled": false, "capabilities": "CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,...", "rootless": true, "seccompEnabled": true, "seccompProfilePath": "/usr/share/containers/seccomp.json", "selinuxEnabled": true}, "serviceIsRemote": false, "slirp4netns": {"executable": "/usr/bin/slirp4netns", "package": "slirp4netns-1.3.1-1.fc41.x86_64", "version": "slirp4netns version 1.3.1\ncommit..."}, "swapFree": 1911504896, "swapTotal": 8589930496, "uptime": "115h 11m 51.00s (Approximately 3.88 days)", "variant": ""}, "plugins": {"authorization": null, "log": ["k8s-file", "none", "passthrough", "journald"], "network": ["bridge", "macvlan", "ipvlan"], "volume": ["local"]}, "registries": {"search": ["registry.fedoraproject.org", "registry.access.redhat.com", "docker.io"]}, "store": {"configFile": "/home/user/.config/containers/storage.conf", "containerStore": {"number": 6, "paused": 0, "running": 1, "stopped": 5}, "graphDriverName": "overlay", "graphOptions": {"overlay.mountopt": "nodev"}, "graphRoot": "/home/user/.local/share/containers/storage", "graphRootAllocated": 502921060352, "graphRootUsed": 457285541888, "graphStatus": {"Backing Filesystem": "extfs", "Native Overlay Diff": "false", "Supports d_type": "true", "Supports shifting": "true", "Supports volatile": "true", "Using metacopy": "false"}, "imageCopyTmpDir": "/var/tmp", "imageStore": {"number": 859}, "runRoot": "/run/user/1000/containers", "transientStore": false, "volumePath": "/storage/containers/storage/volumes"}, "version": {"APIVersion": "5.5.1", "BuildOrigin": "Fedora Project", "Built": 1749081600, "BuiltTime": "Thu Jun  5 03:00:00 2025", "GitCommit": "850db76dd78a0641eddb9ee19ee6f60d2c59bcfa", "GoVersion": "go1.23.9", "Os": "linux", "OsArch": "linux/amd64", "Version": "5.5.1"}}

+
+
+

Authors

+
    +
  • Johnson Lien (@johnsonlien)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_tag_module.html b/docs/collections/containers/podman/podman_tag_module.html new file mode 100644 index 0000000..465389f --- /dev/null +++ b/docs/collections/containers/podman/podman_tag_module.html @@ -0,0 +1,255 @@ + + + + + + + + + + containers.podman.podman_tag module – Add an additional name to a local image — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_tag module – Add an additional name to a local image

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_tag.

+
+ +
+

Synopsis

+
    +
  • podman tag adds one or more additional names to locally-stored image.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

image

+

string / required

+

Image to tag.

+
+

target_names

+

list / elements=string / required

+

Additional names.

+
+
+
+

Examples

+
# What modules does for example
+- containers.podman.podman_tag:
+    image: docker.io/continuumio/miniconda3
+    target_names:
+      - miniconda3
+      - miniconda
+
+
+
+

Authors

+
    +
  • Christian Bourque (@ocafebabe)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_unshare_become.html b/docs/collections/containers/podman/podman_unshare_become.html new file mode 100644 index 0000000..804de88 --- /dev/null +++ b/docs/collections/containers/podman/podman_unshare_become.html @@ -0,0 +1,347 @@ + + + + + + + + + + containers.podman.podman_unshare become – Run tasks using podman unshare — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_unshare become – Run tasks using podman unshare

+
+

Note

+

This become plugin is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman.

+

To use it in a playbook, specify: containers.podman.podman_unshare.

+
+

New in containers.podman 1.9.0

+ +
+

Synopsis

+ +
+
+

Parameters

+ + + + + + + + + + + + + + + + + +

Parameter

Comments

+

become_exe

+

string

+

Sudo executable

+

Default: "sudo"

+

Configuration:

+
    +
  • INI entries:

    +
    [privilege_escalation]
    +become_exe = sudo
    +
    +
    +
    [sudo_become_plugin]
    +executable = sudo
    +
    +
    +
  • +
  • Environment variable: ANSIBLE_BECOME_EXE

  • +
  • Environment variable: ANSIBLE_SUDO_EXE

  • +
  • Variable: ansible_become_exe

  • +
  • Variable: ansible_sudo_exe

  • +
+
+

become_pass

+

string

+

Password to pass to sudo

+

Configuration:

+
    +
  • INI entry:

    +
    [sudo_become_plugin]
    +password = VALUE
    +
    +
    +
  • +
  • Environment variable: ANSIBLE_BECOME_PASS

  • +
  • Environment variable: ANSIBLE_SUDO_PASS

  • +
  • Variable: ansible_become_password

  • +
  • Variable: ansible_become_pass

  • +
  • Variable: ansible_sudo_pass

  • +
+
+

become_user

+

string

+

User you ‘become’ to execute the task (‘root’ is not a valid value here).

+

Configuration:

+
    +
  • INI entries:

    +
    [privilege_escalation]
    +become_user = VALUE
    +
    +
    +
    [sudo_become_plugin]
    +user = VALUE
    +
    +
    +
  • +
  • Environment variable: ANSIBLE_BECOME_USER

  • +
  • Environment variable: ANSIBLE_SUDO_USER

  • +
  • Variable: ansible_become_user

  • +
  • Variable: ansible_sudo_user

  • +
+
+
+

Note

+

Configuration entries listed above for each entry type (Ansible variable, environment variable, and so on) have a low to high priority order. +For example, a variable that is lower in the list will override a variable that is higher up. +The entry types are also ordered by precedence from low to high priority order. +For example, an ansible.cfg entry (further up in the list) is overwritten by an Ansible variable (further down in the list).

+
+
+
+

Examples

+
- name: checking uid of file 'foo'
+  ansible.builtin.stat:
+    path: "{{ test_dir }}/foo"
+  register: foo
+- ansible.builtin.debug:
+    var: foo.stat.uid
+# The output shows that it's owned by the login user
+# ok: [test_host] => {
+#     "foo.stat.uid": "1003"
+# }
+
+- name: mounting the file to an unprivileged container and modifying its owner
+  containers.podman.podman_container:
+    name: chmod_foo
+    image: alpine
+    rm: true
+    volume:
+    - "{{ test_dir }}:/opt/test:z"
+    command: chown 1000 /opt/test/foo
+
+# Now the file 'foo' is owned by the container uid 1000,
+# which is mapped to something completaly different on the host.
+# It creates a situation when the file is unaccessible to the host user (uid 1003)
+# Running stat again, debug output will be like this:
+# ok: [test_host] => {
+#     "foo.stat.uid": "328679"
+# }
+
+- name: running stat in modified user namespace
+  become_method: containers.podman.podman_unshare
+  become: true
+  ansible.builtin.stat:
+    path: "{{ test_dir }}/foo"
+  register: foo
+# By gathering file stats with podman_ushare
+# we can see the uid set in the container:
+# ok: [test_host] => {
+#     "foo.stat.uid": "1000"
+# }
+
+- name: resetting file ownership with podman unshare
+  become_method: containers.podman.podman_unshare
+  become: true
+  ansible.builtin.file:
+    state: file
+    path: "{{ test_dir }}/foo"
+    owner: 0  # in a modified user namespace host uid is mapped to 0
+# If we run stat and debug with 'become: false',
+# we can see that the file is ours again:
+# ok: [test_host] => {
+#     "foo.stat.uid": "1003"
+# }
+
+
+
+

Authors

+
    +
  • Janos Gerzson (@grzs)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_volume_info_module.html b/docs/collections/containers/podman/podman_volume_info_module.html new file mode 100644 index 0000000..3ef6a8a --- /dev/null +++ b/docs/collections/containers/podman/podman_volume_info_module.html @@ -0,0 +1,271 @@ + + + + + + + + + + containers.podman.podman_volume_info module – Gather info about podman volumes — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_volume_info module – Gather info about podman volumes

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_volume_info.

+
+ +
+

Synopsis

+
    +
  • Gather info about podman volumes with podman inspect command.

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • Podman installed on host

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + +

Parameter

Comments

+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

name

+

string

+

Name of the volume

+
+
+
+

Examples

+
- name: Gather info about all present volumes
+  podman_volume_info:
+
+- name: Gather info about specific volume
+  podman_volume_info:
+    name: specific_volume
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

volumes

+

list / elements=string

+

Facts from all or specified volumes

+

Returned: always

+

Sample: [{"CreatedAt": "2023-11-30T16:41:31.310865559+02:00", "Driver": "local", "Labels": {}, "LockNumber": 18, "MountCount": 0, "Mountpoint": "/home/user/.local/share/containers/storage/volumes/postgres9/_data", "Name": "postgres9", "NeedsChown": true, "NeedsCopyUp": true, "Options": {}, "Scope": "local"}]

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/containers/podman/podman_volume_module.html b/docs/collections/containers/podman/podman_volume_module.html new file mode 100644 index 0000000..d795dc9 --- /dev/null +++ b/docs/collections/containers/podman/podman_volume_module.html @@ -0,0 +1,380 @@ + + + + + + + + + + containers.podman.podman_volume module – Manage Podman volumes — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+ +
+
+
+ + +
+ +
+

containers.podman.podman_volume module – Manage Podman volumes

+
+

Note

+

This module is part of the containers.podman collection (version 1.17.0).

+

It is not included in ansible-core. +To check whether it is installed, run ansible-galaxy collection list.

+

To install it, use: ansible-galaxy collection install containers.podman. +You need further requirements to be able to use this module, +see Requirements for details.

+

To use it in a playbook, specify: containers.podman.podman_volume.

+
+

New in containers.podman 1.1.0

+ +
+

Synopsis

+
    +
  • Manage Podman volumes

  • +
+
+
+

Requirements

+

The below requirements are needed on the host that executes this module.

+
    +
  • podman

  • +
+
+
+

Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

Comments

+

debug

+

boolean

+

Return additional information which can be helpful for investigations.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

driver

+

string

+

Specify volume driver name (default local).

+
+

executable

+

string

+

Path to podman executable if it is not in the $PATH on the machine running podman

+

Default: "podman"

+
+

label

+

dictionary

+

Add metadata to a pod volume (e.g., label com.example.key=value).

+
+

name

+

string / required

+

Name of volume.

+
+

options

+

list / elements=string

+

Set driver specific options. For example ‘device=tpmfs’, ‘type=tmpfs’. UID and GID idempotency is not supported due to changes in podman.

+
+

quadlet_dir

+

path

+

Path to the directory to write quadlet file in. By default, it will be set as /etc/containers/systemd/ for root user, ~/.config/containers/systemd/ for non-root users.

+
+

quadlet_file_mode

+

any

+

The permissions of the quadlet file.

+

The quadlet_file_mode can be specied as octal numbers or as a symbolic mode (for example, u+rwx or u=rw,g=r,o=r). For octal numbers format, you must either add a leading zero so that Ansible’s YAML parser knows it is an octal number (like 0644 or 01777) or quote it (like '644' or '1777') so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results.

+

If quadlet_file_mode is not specified and the quadlet file does not exist, the default '0640' mask will be used when setting the mode for the newly created file.

+

If quadlet_file_mode is not specified and the quadlet file does exist, the mode of the existing file will be used.

+

Specifying quadlet_file_mode is the best way to ensure files are created with the correct permissions.

+
+

quadlet_filename

+

string

+

Name of quadlet file to write. By default it takes name value.

+
+

quadlet_options

+

list / elements=string

+

Options for the quadlet file. Provide missing in usual network args options as a list of lines to add.

+
+

recreate

+

boolean

+

Recreate volume even if exists.

+

Choices:

+
    +
  • false ← (default)

  • +
  • true

  • +
+
+

state

+

string

+

State of volume, default ‘present’

+

Choices:

+
    +
  • "present" ← (default)

  • +
  • "absent"

  • +
  • "mounted"

  • +
  • "unmounted"

  • +
  • "quadlet"

  • +
+
+
+
+

Examples

+
# What modules does for example
+- name: Create a volume
+  containers.podman.podman_volume:
+    state: present
+    name: volume1
+    label:
+      key: value
+      key2: value2
+    options:
+      - "device=/dev/loop1"
+      - "type=ext4"
+
+- name: Create a Quadlet file for a volume
+  containers.podman.podman_volume:
+    state: quadlet
+    name: quadlet_volume
+    quadlet_filename: custom-name
+    quadlet_file_mode: '0640'
+    quadlet_options:
+      - Group=192
+      - Copy=true
+      - Image=quay.io/centos/centos:latest
+
+
+
+
+

Return Values

+

Common return values are documented here, the following are the fields unique to this module:

+ + + + + + + + + + + +

Key

Description

+

volume

+

dictionary

+

Volume inspection results if exists.

+

Returned: always

+

Sample: {"CreatedAt": "2023-11-30T16:41:31.310865559+02:00", "Driver": "local", "Labels": {}, "LockNumber": 18, "MountCount": 0, "Mountpoint": "/home/user/.local/share/containers/storage/volumes/volname/_data", "Name": "volname", "NeedsChown": true, "NeedsCopyUp": true, "Options": {}, "Scope": "local"}

+
+
+

Authors

+
    +
  • Sagi Shnaidman (@sshnaidm)

  • +
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/deprecations.html b/docs/collections/deprecations.html new file mode 100644 index 0000000..7c33f1f --- /dev/null +++ b/docs/collections/deprecations.html @@ -0,0 +1,149 @@ + + + + + + + + + + Index of all deprecated plugins — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Index of all deprecated plugins

+

No plugins have been deprecated.

+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/environment_variables.html b/docs/collections/environment_variables.html new file mode 100644 index 0000000..e81b86b --- /dev/null +++ b/docs/collections/environment_variables.html @@ -0,0 +1,210 @@ + + + + + + + + + + Index of all Collection Environment Variables — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Index of all Collection Environment Variables

+

The following index documents all environment variables declared by plugins in collections. +Environment variables used by the ansible-core configuration are documented in Ansible Configuration Settings.

+
+
+ANSIBLE_BECOME_PASS
+

Password to pass to sudo

+

Used by: +containers.podman.podman_unshare become plugin

+
+ +
+
+ANSIBLE_BUILDAH_EXECUTABLE
+

Path to the buildah executable.

+

Used by: +containers.podman.buildah_containers inventory plugin

+
+ +
+
+ANSIBLE_PODMAN_EXECUTABLE
+

See the documentations for the options where this environment variable is used.

+

Used by: +containers.podman.podman connection plugin, +containers.podman.podman_containers inventory plugin

+
+ +
+
+ANSIBLE_PODMAN_EXTRA_ARGS
+

Extra arguments to pass to the podman command line.

+

Used by: +containers.podman.podman connection plugin

+
+ +
+
+ANSIBLE_SUDO_EXE
+

Sudo executable

+

Used by: +containers.podman.podman_unshare become plugin

+
+ +
+
+ANSIBLE_SUDO_PASS
+

Password to pass to sudo

+

Used by: +containers.podman.podman_unshare become plugin

+
+ +
+
+ANSIBLE_SUDO_USER
+

User you ‘become’ to execute the task (‘root’ is not a valid value here).

+

Used by: +containers.podman.podman_unshare become plugin

+
+ +
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/index.html b/docs/collections/index.html new file mode 100644 index 0000000..a29b558 --- /dev/null +++ b/docs/collections/index.html @@ -0,0 +1,162 @@ + + + + + + + + + + Collection Index — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Collection Index

+

These are the collections documented here.

+ +
+
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/index_become.html b/docs/collections/index_become.html new file mode 100644 index 0000000..c75edb4 --- /dev/null +++ b/docs/collections/index_become.html @@ -0,0 +1,162 @@ + + + + + + + + + + Index of all Become Plugins — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Index of all Become Plugins

+
+

containers.podman

+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/index_connection.html b/docs/collections/index_connection.html new file mode 100644 index 0000000..a74ce8a --- /dev/null +++ b/docs/collections/index_connection.html @@ -0,0 +1,163 @@ + + + + + + + + + + Index of all Connection Plugins — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Index of all Connection Plugins

+
+

containers.podman

+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/index_inventory.html b/docs/collections/index_inventory.html new file mode 100644 index 0000000..ca92b17 --- /dev/null +++ b/docs/collections/index_inventory.html @@ -0,0 +1,163 @@ + + + + + + + + + + Index of all Inventory Plugins — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Index of all Inventory Plugins

+
+

containers.podman

+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/collections/index_module.html b/docs/collections/index_module.html new file mode 100644 index 0000000..724a1f1 --- /dev/null +++ b/docs/collections/index_module.html @@ -0,0 +1,190 @@ + + + + + + + + + + Index of all Modules — Ansible collections documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Index of all Modules

+
+

containers.podman

+ +
+
+ + +
+
+ + +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/environment_variables.html b/docs/environment_variables.html deleted file mode 100644 index 1f69238..0000000 --- a/docs/environment_variables.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - Index of all Collection Environment Variables — Python documentation - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

Index of all Collection Environment Variables

-

The following index documents all environment variables declared by plugins in collections. -Environment variables used by the ansible-core configuration are documented in ansible_configuration_settings.

-

No environment variables have been defined.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html deleted file mode 100644 index ab7ea09..0000000 --- a/docs/genindex.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - Index — Python documentation - - - - - - - - - - - - - - - - - -
-
-
- - -
- - -

Index

- -
- -
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 129e4bf..585ee0b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,241 +1,172 @@ + + + + + - - - - - + + Welcome to my Ansible collection documentation — Ansible collections documentation + + + + - Containers.Podman — Python documentation - - - - - - - + + + + + + + + - - - - - - + - - -
-
-
+ + + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+ +
+

Welcome to my Ansible collection documentation

+

This docsite contains documentation of containers.podman.

+
+

Collections:

+ +
+ +
-
+
+ +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
- -
-
- - - - - - - + \ No newline at end of file diff --git a/docs/objects.inv b/docs/objects.inv index b76724b..bc625c2 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/podman_connection.html b/docs/podman_connection.html deleted file mode 100644 index 5b564ad..0000000 --- a/docs/podman_connection.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman connection — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman connection

-

The documentation for the connection plugin, containers.podman.podman, was malformed.

-

The errors were:

-
    -
  • 1 validation error for PluginDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_container_copy_module.html b/docs/podman_container_copy_module.html deleted file mode 100644 index 313c928..0000000 --- a/docs/podman_container_copy_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_container_copy module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_container_copy module

-

The documentation for the module plugin, containers.podman.podman_container_copy, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_container_exec_module.html b/docs/podman_container_exec_module.html deleted file mode 100644 index bc3d38b..0000000 --- a/docs/podman_container_exec_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_container_exec module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_container_exec module

-

The documentation for the module plugin, containers.podman.podman_container_exec, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_container_info_module.html b/docs/podman_container_info_module.html deleted file mode 100644 index c700611..0000000 --- a/docs/podman_container_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_container_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_container_info module

-

The documentation for the module plugin, containers.podman.podman_container_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_container_module.html b/docs/podman_container_module.html deleted file mode 100644 index ee1c1f3..0000000 --- a/docs/podman_container_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_container module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_container module

-

The documentation for the module plugin, containers.podman.podman_container, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_containers_inventory.html b/docs/podman_containers_inventory.html deleted file mode 100644 index 099048c..0000000 --- a/docs/podman_containers_inventory.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - containers.podman.podman_containers inventory — Python documentation - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_containers inventory

-

The documentation for the inventory plugin, containers.podman.podman_containers, was malformed.

-

The errors were:

-
    -
  • 1 validation error for PluginDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_containers_module.html b/docs/podman_containers_module.html deleted file mode 100644 index a3f6c92..0000000 --- a/docs/podman_containers_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_containers module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_containers module

-

The documentation for the module plugin, containers.podman.podman_containers, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_export_module.html b/docs/podman_export_module.html deleted file mode 100644 index e039d5e..0000000 --- a/docs/podman_export_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_export module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_export module

-

The documentation for the module plugin, containers.podman.podman_export, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_generate_systemd_module.html b/docs/podman_generate_systemd_module.html deleted file mode 100644 index d42d272..0000000 --- a/docs/podman_generate_systemd_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_generate_systemd module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_generate_systemd module

-

The documentation for the module plugin, containers.podman.podman_generate_systemd, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_image_info_module.html b/docs/podman_image_info_module.html deleted file mode 100644 index 20d9a35..0000000 --- a/docs/podman_image_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_image_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_image_info module

-

The documentation for the module plugin, containers.podman.podman_image_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_image_module.html b/docs/podman_image_module.html deleted file mode 100644 index ee93793..0000000 --- a/docs/podman_image_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_image module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_image module

-

The documentation for the module plugin, containers.podman.podman_image, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_import_module.html b/docs/podman_import_module.html deleted file mode 100644 index ad399fd..0000000 --- a/docs/podman_import_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_import module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_import module

-

The documentation for the module plugin, containers.podman.podman_import, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_load_module.html b/docs/podman_load_module.html deleted file mode 100644 index 6d706d3..0000000 --- a/docs/podman_load_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_load module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_load module

-

The documentation for the module plugin, containers.podman.podman_load, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_login_info_module.html b/docs/podman_login_info_module.html deleted file mode 100644 index a31da7f..0000000 --- a/docs/podman_login_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_login_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_login_info module

-

The documentation for the module plugin, containers.podman.podman_login_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_login_module.html b/docs/podman_login_module.html deleted file mode 100644 index 2f4a534..0000000 --- a/docs/podman_login_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_login module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_login module

-

The documentation for the module plugin, containers.podman.podman_login, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_logout_module.html b/docs/podman_logout_module.html deleted file mode 100644 index 54d6a11..0000000 --- a/docs/podman_logout_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_logout module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_logout module

-

The documentation for the module plugin, containers.podman.podman_logout, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_network_info_module.html b/docs/podman_network_info_module.html deleted file mode 100644 index 30b3c79..0000000 --- a/docs/podman_network_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_network_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_network_info module

-

The documentation for the module plugin, containers.podman.podman_network_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_network_module.html b/docs/podman_network_module.html deleted file mode 100644 index f20df5a..0000000 --- a/docs/podman_network_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_network module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_network module

-

The documentation for the module plugin, containers.podman.podman_network, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_play_module.html b/docs/podman_play_module.html deleted file mode 100644 index 9038335..0000000 --- a/docs/podman_play_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_play module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_play module

-

The documentation for the module plugin, containers.podman.podman_play, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_pod_info_module.html b/docs/podman_pod_info_module.html deleted file mode 100644 index 3a2ce91..0000000 --- a/docs/podman_pod_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_pod_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_pod_info module

-

The documentation for the module plugin, containers.podman.podman_pod_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_pod_module.html b/docs/podman_pod_module.html deleted file mode 100644 index 63689bd..0000000 --- a/docs/podman_pod_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_pod module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_pod module

-

The documentation for the module plugin, containers.podman.podman_pod, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_prune_module.html b/docs/podman_prune_module.html deleted file mode 100644 index 6a0c8b1..0000000 --- a/docs/podman_prune_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_prune module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_prune module

-

The documentation for the module plugin, containers.podman.podman_prune, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_runlabel_module.html b/docs/podman_runlabel_module.html deleted file mode 100644 index e638bdb..0000000 --- a/docs/podman_runlabel_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_runlabel module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_runlabel module

-

The documentation for the module plugin, containers.podman.podman_runlabel, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_save_module.html b/docs/podman_save_module.html deleted file mode 100644 index 5edb1d9..0000000 --- a/docs/podman_save_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_save module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_save module

-

The documentation for the module plugin, containers.podman.podman_save, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_search_module.html b/docs/podman_search_module.html deleted file mode 100644 index 2e92a06..0000000 --- a/docs/podman_search_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_search module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_search module

-

The documentation for the module plugin, containers.podman.podman_search, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_secret_info_module.html b/docs/podman_secret_info_module.html deleted file mode 100644 index ac5fc0c..0000000 --- a/docs/podman_secret_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_secret_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_secret_info module

-

The documentation for the module plugin, containers.podman.podman_secret_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_secret_module.html b/docs/podman_secret_module.html deleted file mode 100644 index 7dab033..0000000 --- a/docs/podman_secret_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_secret module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_secret module

-

The documentation for the module plugin, containers.podman.podman_secret, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_tag_module.html b/docs/podman_tag_module.html deleted file mode 100644 index 16f54a0..0000000 --- a/docs/podman_tag_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_tag module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_tag module

-

The documentation for the module plugin, containers.podman.podman_tag, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_unshare_become.html b/docs/podman_unshare_become.html deleted file mode 100644 index 09c3042..0000000 --- a/docs/podman_unshare_become.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_unshare become — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_unshare become

-

The documentation for the become plugin, containers.podman.podman_unshare, was malformed.

-

The errors were:

-
    -
  • 1 validation error for PluginDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_volume_info_module.html b/docs/podman_volume_info_module.html deleted file mode 100644 index 1ecdadb..0000000 --- a/docs/podman_volume_info_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_volume_info module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_volume_info module

-

The documentation for the module plugin, containers.podman.podman_volume_info, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/podman_volume_module.html b/docs/podman_volume_module.html deleted file mode 100644 index 7f2940a..0000000 --- a/docs/podman_volume_module.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - containers.podman.podman_volume module — Python documentation - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- -
-

containers.podman.podman_volume module

-

The documentation for the module plugin, containers.podman.podman_volume, was malformed.

-

The errors were:

-
    -
  • 1 validation error for ModuleDocSchema
    -doc -> plugin_name
    -  extra fields not permitted (type=value_error.extra)
    -
    -
    -
  • -
-

File a bug with the containers.podman collection in order to have it corrected.

-
- - -
- -
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/docs/search.html b/docs/search.html index 5ab0172..f893df6 100644 --- a/docs/search.html +++ b/docs/search.html @@ -1,162 +1,164 @@ - - - - - - Search — Python documentation - - - + + + + + + + Search — Ansible collections documentation + + + + + + + - - - + + + + + + - - - - - - - - - + - - -
-
-
+ + + + + + + + + + +
Ansible Collections Documentation
+
+
+ + +
+ +
+
+
+
    +
  • + +
  • +
  • +
+
+
+
+ + +
+
+ +
+ +
+ +
+

© Copyright Ansible contributors.

+
+ + + + +
-
+
+ + + + + - - - - - - -

Navigation

- - - - - -
-

Related Topics

- -
- - - - - - - - -
-
-
-
- - - - - - + \ No newline at end of file diff --git a/docs/searchindex.js b/docs/searchindex.js index af4c4fe..0ae4260 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["buildah_connection", "buildah_containers_inventory", "environment_variables", "index", "podman_connection", "podman_container_copy_module", "podman_container_exec_module", "podman_container_info_module", "podman_container_module", "podman_containers_inventory", "podman_containers_module", "podman_export_module", "podman_generate_systemd_module", "podman_image_info_module", "podman_image_module", "podman_import_module", "podman_load_module", "podman_login_info_module", "podman_login_module", "podman_logout_module", "podman_network_info_module", "podman_network_module", "podman_play_module", "podman_pod_info_module", "podman_pod_module", "podman_prune_module", "podman_quadlet_info_module", "podman_quadlet_module", "podman_runlabel_module", "podman_save_module", "podman_search_module", "podman_secret_info_module", "podman_secret_module", "podman_system_info_module", "podman_tag_module", "podman_unshare_become", "podman_volume_info_module", "podman_volume_module"], "filenames": ["buildah_connection.rst", "buildah_containers_inventory.rst", "environment_variables.rst", "index.rst", "podman_connection.rst", "podman_container_copy_module.rst", "podman_container_exec_module.rst", "podman_container_info_module.rst", "podman_container_module.rst", "podman_containers_inventory.rst", "podman_containers_module.rst", "podman_export_module.rst", "podman_generate_systemd_module.rst", "podman_image_info_module.rst", "podman_image_module.rst", "podman_import_module.rst", "podman_load_module.rst", "podman_login_info_module.rst", "podman_login_module.rst", "podman_logout_module.rst", "podman_network_info_module.rst", "podman_network_module.rst", "podman_play_module.rst", "podman_pod_info_module.rst", "podman_pod_module.rst", "podman_prune_module.rst", "podman_quadlet_info_module.rst", "podman_quadlet_module.rst", "podman_runlabel_module.rst", "podman_save_module.rst", "podman_search_module.rst", "podman_secret_info_module.rst", "podman_secret_module.rst", "podman_system_info_module.rst", "podman_tag_module.rst", "podman_unshare_become.rst", "podman_volume_info_module.rst", "podman_volume_module.rst"], "titles": ["containers.podman.buildah connection", "containers.podman.buildah_containers inventory", "Index of all Collection Environment Variables", "Containers.Podman", "containers.podman.podman connection", "containers.podman.podman_container_copy module", "containers.podman.podman_container_exec module", "containers.podman.podman_container_info module", "containers.podman.podman_container module", "containers.podman.podman_containers inventory", "containers.podman.podman_containers module", "containers.podman.podman_export module", "containers.podman.podman_generate_systemd module", "containers.podman.podman_image_info module", "containers.podman.podman_image module", "containers.podman.podman_import module", "containers.podman.podman_load module", "containers.podman.podman_login_info module", "containers.podman.podman_login module", "containers.podman.podman_logout module", "containers.podman.podman_network_info module", "containers.podman.podman_network module", "containers.podman.podman_play module", "containers.podman.podman_pod_info module", "containers.podman.podman_pod module", "containers.podman.podman_prune module", "containers.podman.podman_quadlet_info module", "containers.podman.podman_quadlet module", "containers.podman.podman_runlabel module", "containers.podman.podman_save module", "containers.podman.podman_search module", "containers.podman.podman_secret_info module", "containers.podman.podman_secret module", "containers.podman.podman_system_info module", "containers.podman.podman_tag module", "containers.podman.podman_unshare become", "containers.podman.podman_volume_info module", "containers.podman.podman_volume module"], "terms": {"The": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "document": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "plugin": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "wa": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "malform": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "error": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "were": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "1": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "valid": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "plugindocschema": [0, 1, 4, 9, 35], "doc": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "plugin_nam": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "extra": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "field": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "permit": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "type": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "value_error": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "file": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "bug": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "collect": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "order": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "have": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "correct": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "follow": 2, "declar": 2, "us": 2, "ansibl": [2, 3], "core": [2, 3], "configur": 2, "ar": [2, 3], "ansible_configuration_set": 2, "No": 2, "been": 2, "defin": 2, "version": 3, "17": [], "0": 3, "author": 3, "sagi": 3, "shnaidman": 3, "sshnaidm": 3, "redhat": 3, "com": 3, "team": 3, "support": 3, "2": 3, "8": 3, "newer": 3, "issu": 3, "tracker": 3, "repositori": 3, "sourc": 3, "These": 3, "podman_contain": 3, "podman_container_copi": 3, "podman_container_exec": 3, "podman_container_info": 3, "podman_export": 3, "podman_generate_systemd": 3, "podman_imag": 3, "podman_image_info": 3, "podman_import": 3, "podman_load": 3, "podman_login": 3, "podman_login_info": 3, "podman_logout": 3, "podman_network": 3, "podman_network_info": 3, "podman_plai": 3, "podman_pod": 3, "podman_pod_info": 3, "podman_prun": 3, "podman_quadlet": 3, "podman_quadlet_info": 3, "podman_runlabel": 3, "podman_sav": 3, "podman_search": 3, "podman_secret": 3, "podman_secret_info": 3, "podman_system_info": 3, "podman_tag": 3, "podman_volum": 3, "podman_volume_info": 3, "podman_unshar": 3, "buildah": 3, "buildah_contain": 3, "moduledocschema": [5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "18": 3}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"contain": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "podman": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "buildah": 0, "connect": [0, 3, 4], "buildah_contain": 1, "inventori": [1, 3, 9], "index": [2, 3], "all": 2, "collect": 2, "environ": 2, "variabl": 2, "descript": 3, "plugin": 3, "modul": [3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37], "becom": [3, 35], "podman_container_copi": 5, "podman_container_exec": 6, "podman_container_info": 7, "podman_contain": [8, 9, 10], "podman_export": 11, "podman_generate_systemd": 12, "podman_image_info": 13, "podman_imag": 14, "podman_import": 15, "podman_load": 16, "podman_login_info": 17, "podman_login": 18, "podman_logout": 19, "podman_network_info": 20, "podman_network": 21, "podman_plai": 22, "podman_pod_info": 23, "podman_pod": 24, "podman_prun": 25, "podman_quadlet_info": 26, "podman_quadlet": 27, "podman_runlabel": 28, "podman_sav": 29, "podman_search": 30, "podman_secret_info": 31, "podman_secret": 32, "podman_system_info": 33, "podman_tag": 34, "podman_unshar": 35, "podman_volume_info": 36, "podman_volum": 37}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"containers.podman.buildah connection": [[0, "containers-podman-buildah-connection"]], "containers.podman.buildah_containers inventory": [[1, "containers-podman-buildah-containers-inventory"]], "Index of all Collection Environment Variables": [[2, "index-of-all-collection-environment-variables"]], "Containers.Podman": [[3, "containers-podman"]], "Description": [[3, "description"]], "Plugin Index": [[3, "plugin-index"]], "Modules": [[3, "modules"]], "Become Plugins": [[3, "become-plugins"]], "Connection Plugins": [[3, "connection-plugins"]], "Inventory Plugins": [[3, "inventory-plugins"]], "containers.podman.podman connection": [[4, "containers-podman-podman-connection"]], "containers.podman.podman_container_copy module": [[5, "containers-podman-podman-container-copy-module"]], "containers.podman.podman_container_exec module": [[6, "containers-podman-podman-container-exec-module"]], "containers.podman.podman_container_info module": [[7, "containers-podman-podman-container-info-module"]], "containers.podman.podman_container module": [[8, "containers-podman-podman-container-module"]], "containers.podman.podman_containers inventory": [[9, "containers-podman-podman-containers-inventory"]], "containers.podman.podman_containers module": [[10, "containers-podman-podman-containers-module"]], "containers.podman.podman_export module": [[11, "containers-podman-podman-export-module"]], "containers.podman.podman_generate_systemd module": [[12, "containers-podman-podman-generate-systemd-module"]], "containers.podman.podman_image_info module": [[13, "containers-podman-podman-image-info-module"]], "containers.podman.podman_image module": [[14, "containers-podman-podman-image-module"]], "containers.podman.podman_import module": [[15, "containers-podman-podman-import-module"]], "containers.podman.podman_load module": [[16, "containers-podman-podman-load-module"]], "containers.podman.podman_login_info module": [[17, "containers-podman-podman-login-info-module"]], "containers.podman.podman_login module": [[18, "containers-podman-podman-login-module"]], "containers.podman.podman_logout module": [[19, "containers-podman-podman-logout-module"]], "containers.podman.podman_network_info module": [[20, "containers-podman-podman-network-info-module"]], "containers.podman.podman_network module": [[21, "containers-podman-podman-network-module"]], "containers.podman.podman_play module": [[22, "containers-podman-podman-play-module"]], "containers.podman.podman_pod_info module": [[23, "containers-podman-podman-pod-info-module"]], "containers.podman.podman_pod module": [[24, "containers-podman-podman-pod-module"]], "containers.podman.podman_prune module": [[25, "containers-podman-podman-prune-module"]], "containers.podman.podman_quadlet_info module": [[26, "containers-podman-podman-quadlet-info-module"]], "containers.podman.podman_quadlet module": [[27, "containers-podman-podman-quadlet-module"]], "containers.podman.podman_runlabel module": [[28, "containers-podman-podman-runlabel-module"]], "containers.podman.podman_save module": [[29, "containers-podman-podman-save-module"]], "containers.podman.podman_search module": [[30, "containers-podman-podman-search-module"]], "containers.podman.podman_secret_info module": [[31, "containers-podman-podman-secret-info-module"]], "containers.podman.podman_secret module": [[32, "containers-podman-podman-secret-module"]], "containers.podman.podman_system_info module": [[33, "containers-podman-podman-system-info-module"]], "containers.podman.podman_tag module": [[34, "containers-podman-podman-tag-module"]], "containers.podman.podman_unshare become": [[35, "containers-podman-podman-unshare-become"]], "containers.podman.podman_volume_info module": [[36, "containers-podman-podman-volume-info-module"]], "containers.podman.podman_volume module": [[37, "containers-podman-podman-volume-module"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"alltitles":{"Authors":[[1,"authors"],[2,"authors"],[4,"authors"],[5,"authors"],[6,"authors"],[7,"authors"],[8,"authors"],[9,"authors"],[10,"authors"],[11,"authors"],[12,"authors"],[13,"authors"],[14,"authors"],[15,"authors"],[16,"authors"],[17,"authors"],[18,"authors"],[19,"authors"],[20,"authors"],[21,"authors"],[22,"authors"],[23,"authors"],[24,"authors"],[25,"authors"],[26,"authors"],[27,"authors"],[28,"authors"],[29,"authors"],[30,"authors"],[31,"authors"],[32,"authors"],[33,"authors"],[34,"authors"],[35,"authors"]],"Become Plugins":[[3,"become-plugins"]],"Collection Index":[[38,null]],"Collection links":[[1,"collection-links"],[2,"collection-links"],[4,"collection-links"],[5,"collection-links"],[6,"collection-links"],[7,"collection-links"],[8,"collection-links"],[9,"collection-links"],[10,"collection-links"],[11,"collection-links"],[12,"collection-links"],[13,"collection-links"],[14,"collection-links"],[15,"collection-links"],[16,"collection-links"],[17,"collection-links"],[18,"collection-links"],[19,"collection-links"],[20,"collection-links"],[21,"collection-links"],[22,"collection-links"],[23,"collection-links"],[24,"collection-links"],[25,"collection-links"],[26,"collection-links"],[27,"collection-links"],[28,"collection-links"],[29,"collection-links"],[30,"collection-links"],[31,"collection-links"],[32,"collection-links"],[33,"collection-links"],[34,"collection-links"],[35,"collection-links"]],"Collections in the Containers Namespace":[[0,null]],"Collections:":[[43,null]],"Connection Plugins":[[3,"connection-plugins"]],"Containers.Podman":[[3,null]],"Description":[[3,"description"]],"Examples":[[2,"examples"],[5,"examples"],[6,"examples"],[7,"examples"],[8,"examples"],[9,"examples"],[10,"examples"],[11,"examples"],[12,"examples"],[13,"examples"],[14,"examples"],[15,"examples"],[16,"examples"],[17,"examples"],[18,"examples"],[19,"examples"],[20,"examples"],[21,"examples"],[22,"examples"],[23,"examples"],[24,"examples"],[25,"examples"],[26,"examples"],[27,"examples"],[28,"examples"],[29,"examples"],[30,"examples"],[31,"examples"],[32,"examples"],[33,"examples"],[34,"examples"],[35,"examples"]],"Index of all Become Plugins":[[39,null]],"Index of all Collection Environment Variables":[[37,null]],"Index of all Connection Plugins":[[40,null]],"Index of all Inventory Plugins":[[41,null]],"Index of all Modules":[[42,null]],"Index of all deprecated plugins":[[36,null]],"Inventory Plugins":[[3,"inventory-plugins"]],"Modules":[[3,"modules"]],"Notes":[[5,"notes"],[6,"notes"],[7,"notes"],[12,"notes"],[13,"notes"],[28,"notes"]],"Parameters":[[1,"parameters"],[2,"parameters"],[4,"parameters"],[5,"parameters"],[6,"parameters"],[7,"parameters"],[8,"parameters"],[9,"parameters"],[10,"parameters"],[11,"parameters"],[12,"parameters"],[13,"parameters"],[14,"parameters"],[15,"parameters"],[16,"parameters"],[17,"parameters"],[18,"parameters"],[19,"parameters"],[20,"parameters"],[21,"parameters"],[22,"parameters"],[23,"parameters"],[24,"parameters"],[25,"parameters"],[26,"parameters"],[27,"parameters"],[28,"parameters"],[29,"parameters"],[30,"parameters"],[31,"parameters"],[32,"parameters"],[33,"parameters"],[34,"parameters"],[35,"parameters"]],"Plugin Index":[[3,"plugin-index"]],"Plugin indexes:":[[43,null]],"Reference indexes:":[[43,null]],"Requirements":[[6,"requirements"],[7,"requirements"],[8,"requirements"],[10,"requirements"],[11,"requirements"],[12,"requirements"],[15,"requirements"],[16,"requirements"],[17,"requirements"],[18,"requirements"],[19,"requirements"],[20,"requirements"],[21,"requirements"],[22,"requirements"],[23,"requirements"],[24,"requirements"],[25,"requirements"],[26,"requirements"],[27,"requirements"],[29,"requirements"],[30,"requirements"],[31,"requirements"],[32,"requirements"],[34,"requirements"],[35,"requirements"]],"Return Values":[[6,"return-values"],[7,"return-values"],[8,"return-values"],[12,"return-values"],[13,"return-values"],[14,"return-values"],[15,"return-values"],[16,"return-values"],[17,"return-values"],[20,"return-values"],[21,"return-values"],[23,"return-values"],[24,"return-values"],[25,"return-values"],[28,"return-values"],[29,"return-values"],[31,"return-values"],[34,"return-values"],[35,"return-values"]],"Synopsis":[[1,"synopsis"],[2,"synopsis"],[4,"synopsis"],[5,"synopsis"],[6,"synopsis"],[7,"synopsis"],[8,"synopsis"],[9,"synopsis"],[10,"synopsis"],[11,"synopsis"],[12,"synopsis"],[13,"synopsis"],[14,"synopsis"],[15,"synopsis"],[16,"synopsis"],[17,"synopsis"],[18,"synopsis"],[19,"synopsis"],[20,"synopsis"],[21,"synopsis"],[22,"synopsis"],[23,"synopsis"],[24,"synopsis"],[25,"synopsis"],[26,"synopsis"],[27,"synopsis"],[28,"synopsis"],[29,"synopsis"],[30,"synopsis"],[31,"synopsis"],[32,"synopsis"],[33,"synopsis"],[34,"synopsis"],[35,"synopsis"]],"Welcome to my Ansible collection documentation":[[43,null]],"containers.podman":[[39,"containers-podman"],[40,"containers-podman"],[41,"containers-podman"],[42,"containers-podman"]],"containers.podman.buildah connection \u2013 Interact with an existing buildah container":[[1,null]],"containers.podman.buildah_containers inventory \u2013 Inventory plugin that discovers Buildah working containers as hosts":[[2,null]],"containers.podman.podman connection \u2013 Interact with an existing podman container":[[4,null]],"containers.podman.podman_container module \u2013 Manage podman containers":[[8,null]],"containers.podman.podman_container_copy module \u2013 Copy file to/from a container":[[5,null]],"containers.podman.podman_container_exec module \u2013 Executes a command in a running container.":[[6,null]],"containers.podman.podman_container_info module \u2013 Gather facts about containers using podman":[[7,null]],"containers.podman.podman_containers inventory \u2013 Inventory plugin that discovers Podman containers as hosts":[[9,null]],"containers.podman.podman_containers module \u2013 Manage podman containers in a batch":[[10,null]],"containers.podman.podman_export module \u2013 Export a podman container":[[11,null]],"containers.podman.podman_generate_systemd module \u2013 Generate systemd unit from a pod or a container":[[12,null]],"containers.podman.podman_image module \u2013 Pull images for use by podman":[[14,null]],"containers.podman.podman_image_info module \u2013 Gather info about images using podman":[[13,null]],"containers.podman.podman_import module \u2013 Import Podman container from a tar file.":[[15,null]],"containers.podman.podman_load module \u2013 Load image from a tar file.":[[16,null]],"containers.podman.podman_login module \u2013 Login to a container registry using podman":[[18,null]],"containers.podman.podman_login_info module \u2013 Return the logged-in user if any for a given registry":[[17,null]],"containers.podman.podman_logout module \u2013 Log out of a container registry using podman":[[19,null]],"containers.podman.podman_network module \u2013 Manage podman networks":[[21,null]],"containers.podman.podman_network_info module \u2013 Gather info about podman networks":[[20,null]],"containers.podman.podman_play module \u2013 Play kubernetes YAML file using podman":[[22,null]],"containers.podman.podman_pod module \u2013 Manage Podman pods":[[24,null]],"containers.podman.podman_pod_info module \u2013 Gather info about podman pods":[[23,null]],"containers.podman.podman_prune module \u2013 Allows to prune various podman objects":[[25,null]],"containers.podman.podman_runlabel module \u2013 Run given label from given image":[[26,null]],"containers.podman.podman_save module \u2013 Saves podman image to tar file":[[27,null]],"containers.podman.podman_search module \u2013 Search for remote images using podman":[[28,null]],"containers.podman.podman_secret module \u2013 Manage podman secrets":[[30,null]],"containers.podman.podman_secret_info module \u2013 Gather info about podman secrets":[[29,null]],"containers.podman.podman_system_info module \u2013 Get podman system information from host machine":[[31,null]],"containers.podman.podman_tag module \u2013 Add an additional name to a local image":[[32,null]],"containers.podman.podman_unshare become \u2013 Run tasks using podman unshare":[[33,null]],"containers.podman.podman_volume module \u2013 Manage Podman volumes":[[35,null]],"containers.podman.podman_volume_info module \u2013 Gather info about podman volumes":[[34,null]]},"docnames":["collections/containers/index","collections/containers/podman/buildah_connection","collections/containers/podman/buildah_containers_inventory","collections/containers/podman/index","collections/containers/podman/podman_connection","collections/containers/podman/podman_container_copy_module","collections/containers/podman/podman_container_exec_module","collections/containers/podman/podman_container_info_module","collections/containers/podman/podman_container_module","collections/containers/podman/podman_containers_inventory","collections/containers/podman/podman_containers_module","collections/containers/podman/podman_export_module","collections/containers/podman/podman_generate_systemd_module","collections/containers/podman/podman_image_info_module","collections/containers/podman/podman_image_module","collections/containers/podman/podman_import_module","collections/containers/podman/podman_load_module","collections/containers/podman/podman_login_info_module","collections/containers/podman/podman_login_module","collections/containers/podman/podman_logout_module","collections/containers/podman/podman_network_info_module","collections/containers/podman/podman_network_module","collections/containers/podman/podman_play_module","collections/containers/podman/podman_pod_info_module","collections/containers/podman/podman_pod_module","collections/containers/podman/podman_prune_module","collections/containers/podman/podman_runlabel_module","collections/containers/podman/podman_save_module","collections/containers/podman/podman_search_module","collections/containers/podman/podman_secret_info_module","collections/containers/podman/podman_secret_module","collections/containers/podman/podman_system_info_module","collections/containers/podman/podman_tag_module","collections/containers/podman/podman_unshare_become","collections/containers/podman/podman_volume_info_module","collections/containers/podman/podman_volume_module","collections/deprecations","collections/environment_variables","collections/index","collections/index_become","collections/index_connection","collections/index_inventory","collections/index_module","index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1},"filenames":["collections/containers/index.rst","collections/containers/podman/buildah_connection.rst","collections/containers/podman/buildah_containers_inventory.rst","collections/containers/podman/index.rst","collections/containers/podman/podman_connection.rst","collections/containers/podman/podman_container_copy_module.rst","collections/containers/podman/podman_container_exec_module.rst","collections/containers/podman/podman_container_info_module.rst","collections/containers/podman/podman_container_module.rst","collections/containers/podman/podman_containers_inventory.rst","collections/containers/podman/podman_containers_module.rst","collections/containers/podman/podman_export_module.rst","collections/containers/podman/podman_generate_systemd_module.rst","collections/containers/podman/podman_image_info_module.rst","collections/containers/podman/podman_image_module.rst","collections/containers/podman/podman_import_module.rst","collections/containers/podman/podman_load_module.rst","collections/containers/podman/podman_login_info_module.rst","collections/containers/podman/podman_login_module.rst","collections/containers/podman/podman_logout_module.rst","collections/containers/podman/podman_network_info_module.rst","collections/containers/podman/podman_network_module.rst","collections/containers/podman/podman_play_module.rst","collections/containers/podman/podman_pod_info_module.rst","collections/containers/podman/podman_pod_module.rst","collections/containers/podman/podman_prune_module.rst","collections/containers/podman/podman_runlabel_module.rst","collections/containers/podman/podman_save_module.rst","collections/containers/podman/podman_search_module.rst","collections/containers/podman/podman_secret_info_module.rst","collections/containers/podman/podman_secret_module.rst","collections/containers/podman/podman_system_info_module.rst","collections/containers/podman/podman_tag_module.rst","collections/containers/podman/podman_unshare_become.rst","collections/containers/podman/podman_volume_info_module.rst","collections/containers/podman/podman_volume_module.rst","collections/deprecations.rst","collections/environment_variables.rst","collections/index.rst","collections/index_become.rst","collections/index_connection.rst","collections/index_inventory.rst","collections/index_module.rst","index.rst"],"indexentries":{"ansible_become_exe":[[33,"index-0",false]],"ansible_become_pass":[[33,"index-2",false],[37,"envvar-ANSIBLE_BECOME_PASS",false]],"ansible_become_user":[[33,"index-4",false]],"ansible_buildah_executable":[[2,"index-0",false],[37,"envvar-ANSIBLE_BUILDAH_EXECUTABLE",false]],"ansible_podman_executable":[[4,"index-0",false],[9,"index-0",false],[37,"envvar-ANSIBLE_PODMAN_EXECUTABLE",false]],"ansible_podman_extra_args":[[4,"index-1",false],[37,"envvar-ANSIBLE_PODMAN_EXTRA_ARGS",false]],"ansible_remote_user":[[1,"index-0",false],[4,"index-2",false]],"ansible_sudo_exe":[[33,"index-1",false],[37,"envvar-ANSIBLE_SUDO_EXE",false]],"ansible_sudo_pass":[[33,"index-3",false],[37,"envvar-ANSIBLE_SUDO_PASS",false]],"ansible_sudo_user":[[33,"index-5",false],[37,"envvar-ANSIBLE_SUDO_USER",false]],"environment variable":[[1,"index-0",false],[2,"index-0",false],[4,"index-0",false],[4,"index-1",false],[4,"index-2",false],[9,"index-0",false],[33,"index-0",false],[33,"index-1",false],[33,"index-2",false],[33,"index-3",false],[33,"index-4",false],[33,"index-5",false],[37,"envvar-ANSIBLE_BECOME_PASS",false],[37,"envvar-ANSIBLE_BUILDAH_EXECUTABLE",false],[37,"envvar-ANSIBLE_PODMAN_EXECUTABLE",false],[37,"envvar-ANSIBLE_PODMAN_EXTRA_ARGS",false],[37,"envvar-ANSIBLE_SUDO_EXE",false],[37,"envvar-ANSIBLE_SUDO_PASS",false],[37,"envvar-ANSIBLE_SUDO_USER",false]]},"objects":{"":[[37,0,1,"-","ANSIBLE_BECOME_PASS"],[37,0,1,"-","ANSIBLE_BUILDAH_EXECUTABLE"],[37,0,1,"-","ANSIBLE_PODMAN_EXECUTABLE"],[37,0,1,"-","ANSIBLE_PODMAN_EXTRA_ARGS"],[37,0,1,"-","ANSIBLE_SUDO_EXE"],[37,0,1,"-","ANSIBLE_SUDO_PASS"],[37,0,1,"-","ANSIBLE_SUDO_USER"]]},"objnames":{"0":["std","envvar","environment variable"]},"objtypes":{"0":"std:envvar"},"terms":{"":[5,8,12,14,21,22,24,33,35],"0":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"00":[7,8,15,20,21,23,24,29,31,34,35],"000":24,"0001":[7,8],"0022":[7,8],"00z":[7,8],"01":[7,8,29],"01777":[8,14,21,22,24,35],"01t00":[7,8],"02":[29,34,35],"029bed813f07be84fae0344cbf8076ced5ea3c929d5f064ba617ac7d8c610a4b":13,"03":[7,8,14,15,20,21,23,24,31],"04":[7,8],"05":[20,23,24],"06":[13,14,16],"06068c676e9a7f1c7dc0da8dd":29,"0640":[8,14,21,22,35],"0644":[8,14,21,22,24,35],"07":[16,21],"07t04":15,"07t22":14,"08":[7,8,29],"09":[15,16,20,23,24],"091":15,"0a":8,"0b":[7,8],"0e901e68141f":14,"1":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"10":[7,8,10,13,16,20,21,24,25],"100":8,"1000":[7,8,23,24,31,33],"100000":31,"1003":33,"100m":8,"10k":8,"10mb":[8,22],"11":[34,35],"115h":31,"11745350":13,"11m":31,"12":[8,31],"120":8,"1222865ed7489298ee28414ddedb63a0c6405938c3a38adf21c8656d7f532271":[7,8],"127":[8,24],"127266655":[7,8],"128":[8,21],"13":[13,16,31],"13t15":21,"14":[8,16,30,31],"1417":[7,8],"14c0":[7,8],"14t00":[7,8],"14t20":13,"15":[7,8,13,31],"16":8,"168":21,"17":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"1749081600":31,"1777":[8,14,21,22,24,35],"18":[2,9,14,34,35],"19":14,"1911504896":31,"192":[21,35],"1d":[8,10],"1dbde2dd497ddde2b467727125b900958a051a72561e58d29abe3d660dcaa9a7":16,"1h":24,"1m22":8,"1mb":[8,24],"2":[3,7,8,16,23,24,31],"20":13,"200":31,"2001":20,"2018":16,"2019":14,"2021":15,"2023":[13,34,35],"2024":[7,8,20,21,23,24,29],"2025":31,"20250611":31,"2048":[7,8],"21":31,"22":21,"23":[13,31],"234234234":13,"2343321":[7,8],"237286439":[7,8],"24":[20,21,25],"2434162":[7,8],"2434164":[7,8],"249":20,"24h":25,"25":[21,28],"255":20,"256018":[7,8],"25t04":16,"27578615c5ae352af4e8449862d61aaf5c11b105a7d5905af55bd01b0c656d6":16,"27t21":20,"28t20":[23,24,29],"29":8,"29e2":[7,8],"2m3":8,"3":[8,10,12,13,14,24,28,30,31],"30":8,"3055095808":31,"30t16":[34,35],"31":[7,8,34,35],"310865559":[34,35],"310a82ccb092cd650215ab375da8943d235a263af9a029b8ac26a281446c04db":16,"313789681z":14,"31857841":29,"32":[21,29],"3227f9785ae4657c022c8da7b0e04d2d124199e66da10a9130437e3c3f0e0e42":20,"328679":33,"33":[7,8],"3300":8,"3310":8,"3362f865019db5f14ac5154cb0db2c3741ad1cce0416045be422ad4de441b081":13,"34":15,"36":21,"36cb91cf4513543a8f0953fed785747ea18b675bc2677f3839889cfca0aac79":16,"37f960e6c8accc6b5b41945b1dcf03a28d3a366f7f37049748f18b21c44f577":[23,24],"38":15,"3f46dc2626fe082b1ec703bc74d048765c1110c9eab7d61e33344e212279402c":21,"3fc6":14,"4":[8,10,12,14,24],"40":31,"41":[23,24,31,34,35],"42":13,"43":21,"4444":24,"444a8274863a":[7,8],"4467084":14,"447205048z":14,"45":[15,16],"457285541888":31,"486699659":20,"4aad9d80f30c3f0608f58173558b7554d84dee4dc4479672926eca29f75e6e33":16,"5":[8,23,24,27,31],"50":24,"502921060352":31,"51":31,"524288":[7,8],"53":14,"537cf0045ed9cd7989f7944e7393019c81b16c1799a2198d8348cd182665397f":16,"548472483":21,"5555":24,"566542742840fe3034b3596f7cb9e62a6274c95a69f368f9e713746f8712c0b6":16,"569919342":16,"579b":13,"5882449":15,"595e85a6b1b4779ea4daaec70b588dff0527a9b7":16,"59e9a6db8f178f3da868614564faabb2820cdfb69be32e63a4405d6f7772f68c":16,"5c7d8e2dd66dcf4a152a4032a1d3c5a33458c67e1c1335edd8d18d738892356b":16,"6":31,"6379":8,"64":[8,20],"644":[8,14,21,22,24,35],"64m":[8,24],"65536":31,"65536000":[7,8],"67129bd46022122a7d8b7acb490092af6c7ce244ce4fbd7d9e2d2b7f5979e090":16,"67157032960":31,"6751fc9b6868254870c062d75a511543fc8cfda2ce6262f4945f107449219632":16,"6a567ecbf97725501a634fcb486271999aa4591b633b4ae9932a46b40f5aaf47":16,"6d1ef012b5674ad8a127ecfa9b5e6f5178d171b90ee462846974177fd9bdd39f":14,"7":[14,30],"720d9edf0cd2a9bb56b88b80be9070dbfaad359514c70094c65066963fed485d":16,"72bb96d6c53ad57a0b1e44cab226a6251598accbead40b23fac89c19ad8c25ca":16,"73":31,"749977105":15,"75391df2c87e076b0c2f72d20c95c57dc8be7ee684cc07273416cce622b43367":16,"77ee2556ebf1":[7,8],"787448k":8,"795a":[7,8],"7c51242c4c5db5c74afda76d7fdbeab6965d8b21804bb3fc597dee09c770b0ca":16,"7dd303f041039bfe8f0833092673ac35f93137d10e0fbc4302021ea65ad57731":16,"8":[3,8],"80":[7,8,16,24],"8009":16,"8080":[8,16],"8081":8,"8289":[7,8],"8421":14,"8421d9a84432575381bfabd248f1eb56f3aa21d9d7cd2511583c68c9b7511d10":14,"850db76dd78a0641eddb9ee19ee6f60d2c59bcfa":31,"8589930496":31,"859":31,"865909":[7,8],"8730c75be86a718929a658db4663d487e562d66762":15,"88":[8,31],"8888":[7,8],"893052319z":13,"897":31,"9":[16,31,33],"9000":8,"9001":8,"92":[8,31],"9225":14,"934395523z":16,"946926613":[23,24],"99":21,"993588153z":13,"9990":16,"A":[8,12,21,24,25],"As":24,"But":12,"By":[8,14,21,22,24,33,35],"For":[1,4,8,14,21,22,24,25,33,35],"If":[4,6,7,8,12,13,14,18,19,21,22,24,30,33,35],"In":8,"It":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"NOT":[8,21,30],"No":36,"Not":[8,17],"One":6,"The":[1,4,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37],"These":[0,3,38],"To":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"Will":28,"_":9,"_data":[34,35],"a27034d79081347421dd24d7e9e776c18271cd9a6e51053cb39af4d3d9c400e8":16,"a99a41b8fa77d8c7ff1c432a7a21bc0c2afd8c13b94a9d9b9b19b66ae97920c1":[23,24],"a99a49b8fa77":[23,24],"a9dbf5616cc16919a8ac0dfc60aff87a72b5be52994c4649fcc91a089a12931f":16,"aa17928":14,"aardvark":31,"abcd":20,"abl":[6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,34,35],"abnorm":[8,12,24],"abort":[8,12,24],"about":[3,42],"abov":[1,4,8,12,22,33],"absent":[8,14,21,22,24,30,35],"absolut":[8,24],"accept":[8,21],"access":[1,4,8,21,28,31],"account":8,"acm":14,"action":8,"actual":8,"ad":[8,21],"add":[2,3,8,9,12,13,14,15,21,22,23,24,35,42],"add_host":[8,24],"addit":[3,8,10,21,24,27,35,42],"address":[7,8,21,24],"admin":8,"advanc":14,"after":[8,12,14,22,24],"again":33,"ago":25,"ainer":8,"alessandro":5,"alfieri":25,"alia":[8,24],"aliaksandr":30,"alias":[8,14,16,22,24,27],"all":[2,7,8,9,12,13,19,20,21,22,23,24,25,28,29,34,43],"alloc":[6,8,21],"allow":[3,5,8,24,27,33,42],"alpin":[10,13,14,24,30,33],"alreadi":[8,12,14,22,24,30],"also":[1,4,8,14,17,18,19,22,25,33],"alter":8,"altogeth":21,"alwai":[7,8,12,13,14,15,16,17,20,21,23,24,28,29,31,34,35],"amd64":[13,14,15,16,31],"amenzhinski":30,"amount":[8,24],"an":[3,8,9,12,14,16,18,21,22,24,27,30,33,35,40,42],"ani":[3,8,12,14,19,21,22,24,25,28,35,42],"annot":[7,8,13,14,15,16,22],"anonym":8,"anoth":8,"anotherappimag":8,"ansibl":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37],"ansible_become_ex":33,"ansible_become_pass":[33,37],"ansible_become_password":33,"ansible_become_us":33,"ansible_buildah_execut":[2,37],"ansible_host":[1,4],"ansible_podman_execut":[4,9,37],"ansible_podman_extra_arg":[4,37],"ansible_podman_host":4,"ansible_remote_tmp":4,"ansible_remote_us":[1,4],"ansible_sudo_ex":[33,37],"ansible_sudo_pass":[33,37],"ansible_sudo_us":[33,37],"ansible_us":[1,4],"apach":5,"api":[7,8,9],"apivers":31,"app":[14,16],"apparmor":[23,24],"apparmoren":31,"apparmorprofil":[7,8],"append":12,"appendonli":8,"appli":8,"applic":[13,14,15,16],"approxim":31,"ar":[0,1,3,4,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,38],"arbitrari":8,"arch":[8,14,31],"architectur":[8,13,14,15,16],"archiv":[5,14,16,27],"area":8,"arg":[6,7,8,14,21,22,24,35],"argsescap":14,"argument":[4,8,14,37],"argv":6,"arm":[8,14],"assert":8,"assign":[2,9,21,24],"associ":[8,24,28],"assum":8,"atom":28,"attach":[8,24],"attachstderr":[7,8],"attachstdin":[7,8],"attachstdout":[7,8],"attempt":[8,14],"attribut":9,"auth":[8,14,17,18,19,22],"auth_fil":14,"authent":[8,14,17,18,19,22],"authfil":[8,14,17,18,19,22],"author":3,"auto":[23,24],"auto_remov":8,"autom":28,"automat":[6,8,21],"autoremov":[7,8],"autoupd":8,"avail":[7,8,17,22,24],"b":[8,24],"b42f6819007f00f88e364fd4036a9c25bf357dd4":16,"back":31,"backend":[21,31],"background":6,"balanc":[8,14],"base":[8,9,21,28],"bash":15,"basic":14,"batch":[3,42],"bcacbdf7a119c0fa934661ca8af839e625ce6540d9ceb6827cdd389f823d49e0":16,"bclim":21,"becaus":21,"becom":[21,37,43],"become_ex":33,"become_method":33,"become_pass":33,"become_us":33,"been":36,"befor":[8,12,24],"begin":8,"behavior":8,"being":8,"below":[6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,34,35],"best":[8,14,21,22,24,35],"between":[8,12,21,24],"bin":[6,7,8,13,14,15,16,31],"binari":[8,25],"bind":[7,8,23,24],"bit":21,"bitnami":[8,13,14,16],"bitnami_app_nam":16,"bitnami_image_vers":16,"blkio_weight":[8,24],"blkio_weight_devic":[8,24],"blkiodevicereadbp":[7,8],"blkiodevicereadiop":[7,8],"blkiodevicewritebp":[7,8],"blkiodevicewriteiop":[7,8],"blkioweight":[7,8],"blkioweightdevic":[7,8],"block":[8,21,24],"boltdb":31,"boolean":[5,6,8,9,10,11,12,14,18,19,21,22,24,25,27,28,29,30,35],"boolean_kei":8,"bootstrap":8,"both":6,"boundingcap":[7,8],"bourqu":32,"bp":[8,24],"bridg":[7,8,21,24,31],"bridge_nam":21,"broadcast":21,"bug":14,"build":[2,14,22],"build_arg":14,"buildah":[3,7,8,37,40,41],"buildah_contain":[3,37,41],"buildahvers":31,"buildarg":14,"buildorigin":31,"built":[8,14,24,31],"builtin":[8,12,33],"builttim":31,"busybox":8,"bye":6,"byte":[8,24],"bzip":15,"c":[6,13,14,15],"c493":[7,8],"c58a2fce65cb3487f965d2fb08eec4843384dbe29264f427b665421db1aabef2":13,"c6":8,"c986":[7,8],"ca_cert_dir":14,"cach":[14,19],"call":[8,18,22,24],"can":[8,10,12,14,17,18,19,21,22,24,25,33,35],"cannot":[8,15,19],"cap_add":8,"cap_chown":[7,8,31],"cap_dac_overrid":[7,8,31],"cap_drop":8,"cap_fown":[7,8,31],"cap_fsetid":[7,8,31],"cap_kil":[7,8,31],"cap_net_bind_servic":[7,8],"cap_setfcap":[7,8],"cap_setgid":[7,8],"cap_setpcap":[7,8],"cap_setuid":[7,8],"cap_sys_chroot":[7,8],"capabl":[8,31],"capadd":[7,8],"capdrop":[7,8],"case":[8,19,21],"cat":[6,30],"cbc6d73c4d232db6e8441df96af81855f62c74157b5db80a1d5":15,"ce":[14,16],"cento":35,"cert":[18,22],"cert_dir":22,"certbot":8,"certdir":18,"certif":[8,14,18,22],"cf":8,"cfg":[1,4,33],"cgroup":[7,8,24],"cgroup_conf":8,"cgroup_par":[8,24],"cgroupconf":[7,8],"cgroupcontrol":31,"cgroupmanag":[7,8,31],"cgroupmod":[7,8],"cgroupn":8,"cgrouppar":[7,8,23,24],"cgrouppath":[7,8,23,24],"cgroupvers":31,"chang":[8,15,19,35],"charact":8,"check":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"checkpointedat":[7,8],"chmod_foo":33,"choic":[2,5,6,8,9,10,11,12,14,18,19,21,22,24,25,27,28,29,30,35],"choos":[21,24],"chosen":8,"chown":[5,33],"christian":32,"chroot":8,"chrootdir":8,"cidfil":8,"cidr":21,"class":8,"clelang":[17,18,19],"clemen":[17,18,19],"client":22,"clo":8,"cmd":[7,8,13,14,15,16],"cmd_arg":8,"cni":[8,22,24],"co":8,"code":[6,8],"collect":3,"com":[3,16,21,28,31,35],"combin":24,"comma":[8,24],"command":[1,3,4,8,10,12,14,17,18,19,20,21,23,24,29,30,33,34,37,42],"comment":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"commit":[15,31],"commit_messag":15,"common":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"compar":8,"compat":8,"complet":[6,8],"completali":33,"complex":8,"compos":9,"compress":[14,27],"comput":24,"condit":9,"conf":[7,8,18,19,21,22,24,31],"config":[7,8,12,13,14,15,19,21,22,24,31,35],"configfil":31,"configmap":22,"configur":[1,2,4,8,9,12,21,22,33,37],"conflict":[8,24],"conjunct":8,"conmon":[7,8,24,31],"conmon_pidfil":8,"conmonpid":[7,8],"conmonpidfil":[7,8],"connect":[2,7,8,9,18,21,22,24,37,43],"connection_plugin":[2,9],"consid":[8,24,25],"consoles":[7,8],"consum":8,"contact":[18,22],"contain":[37,38,43],"container1":24,"container2":24,"container_fil":14,"container_file_t":[7,8],"container_filt":25,"container_id":31,"container_prefix":[8,12,24],"container_t":[7,8],"containerconfig":16,"containerfil":14,"containeridfil":[7,8],"containerport":8,"containers_filt":25,"containerstor":31,"content":[12,14,22,30],"context":[14,22],"context_dir":22,"continu":[23,24],"continuumio":[26,32],"control":[8,14],"convers":[8,14,21,22,24,35],"cool":14,"coordin":24,"copi":[3,8,12,35,42],"core":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37],"correct":[8,14,21,22,24,35],"correspond":19,"costapp":[7,8],"count":8,"cpu":[8,14,24,31],"cpu_period":8,"cpu_quota":8,"cpu_rt_period":8,"cpu_rt_runtim":8,"cpu_shar":[8,24],"cpucount":[7,8],"cpuperc":[7,8],"cpuperiod":[7,8],"cpuquota":[7,8],"cpurealtimeperiod":[7,8],"cpurealtimeruntim":[7,8],"cpuset_cpu":[8,24],"cpuset_mem":[8,24],"cpusetcpu":[7,8],"cpusetmem":[7,8],"cpushar":[7,8],"cpuutil":31,"creat":[7,8,9,12,13,14,15,16,18,19,20,21,22,23,24,25,27,30,33,35],"createcgroup":[23,24],"createcommand":[7,8,23,24],"created_bi":[13,14,15],"createdat":[29,34,35],"createinfra":[23,24],"creation":[8,24],"credenti":[14,19],"crt":[18,22],"crun":[7,8,31],"ctrl":8,"current":[8,21,22,25,30],"custom":[8,22,24,35],"cval":[23,24],"cyberfox001":12,"d":[7,8,18,22],"d0":8,"d38a":[7,8],"d38a8fcd61ab7e0754355e8fb3acc201e07770f3d1fd8fed36556941ac458c":[7,8],"d_type":31,"daemon":[12,14],"daemon_reload":12,"dai":31,"dangl":25,"dangling_onli":25,"dash":[8,24],"data":[7,8,9,10,12,13,14,15,16,24,25,29,30],"data2":[23,24],"databasebackend":31,"db8":20,"dead":[7,8],"debian":16,"debug":[8,10,21,22,24,30,31,33,35],"decim":[8,14,21,22,24,35],"declar":[8,12,24,37],"decrypt":8,"decryption_kei":8,"default":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"defin":[8,12,28],"delai":8,"deleg":24,"delet":[8,14,19,22,25],"delete_depend":8,"delete_tim":8,"delete_volum":8,"delimit":[8,24],"depend":[7,8,12,24],"deploi":8,"deploy":16,"derek":28,"derekwat":28,"deriv":9,"describ":[22,24],"descript":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"descriptor":8,"dest":[5,11,12,14,27],"destin":[5,8,12,14,21,23,24,27],"detach":[6,8,30],"detach_contain":6,"detach_kei":8,"detail":[6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,34,35],"determin":[8,24],"dev":[7,8,24,35],"devel":28,"devic":[7,8,21,24,35],"device_cgroup_rul":8,"device_nam":8,"device_read_bp":[8,24],"device_read_iop":8,"device_write_bp":[8,24],"device_write_iop":8,"dhcp":21,"dict":8,"dictionari":[6,7,8,9,10,12,14,15,16,17,21,22,24,25,30,31,35],"diff":[7,8,13,14,15,16,30,31],"differ":[24,33],"digest":[13,14,15,16],"dir":[8,14,24,27],"directli":8,"directori":[5,6,8,14,18,21,22,24,27,35],"disabl":[8,21,22,24],"disable_dn":21,"discard":14,"discov":[3,41],"diskquota":[7,8],"distribut":[13,14,16,31],"dmz":20,"dn":[7,8,21,23,24,31],"dns_enabl":[20,21],"dns_opt":[8,24],"dns_option":[8,24],"dns_search":[8,24],"dns_search_domain":8,"dns_server":8,"dnsoption":[7,8,23,24],"dnssearch":[7,8,23,24],"dnsserver":[23,24],"do":[8,12,14,21,22,24,35],"doc":[3,33],"docker":[8,12,13,14,16,17,19,21,22,24,26,27,30,31,32],"docsit":43,"document":[0,6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,33,34,35,37,38],"doe":[8,11,12,14,15,16,21,22,24,26,27,32,35],"doesn":[8,24],"domain":[8,24],"domainnam":[7,8],"don":8,"doran":13,"dostal":26,"doubl":8,"down":[1,4,8,33],"driver":[7,8,20,21,22,23,24,29,30,34,35],"driver_mtu":21,"driver_opt":30,"drop":8,"dual":21,"due":35,"durat":8,"dure":14,"dwildfli":16,"dynam":31,"e":[8,9,12,19,22,24,35],"each":[1,2,4,8,9,21,22,28,33],"echo":[6,8,14],"edu":16,"ee":28,"effect":[8,24],"effectivecap":[7,8],"either":[8,14,16,21,22,24,27,35],"element":[2,6,7,8,9,10,12,13,14,15,20,21,22,23,24,25,27,28,29,32,34,35],"elev":[5,7,13,28],"emilien":7,"emilienm":7,"empti":[2,8,9,22,24],"empty_lay":[13,14],"en":33,"enabl":[8,12,21,22,24,30],"end":[8,14,21,22,24,35],"end_ip":20,"endpointid":[7,8],"ensur":[2,8,9,12,14,21,22,24,35],"enter":24,"enterpris":28,"entir":8,"entri":[1,4,8,9,33],"entrypoint":[7,8,16],"env":[6,7,8,12,13,14,16,30],"env_fil":8,"env_host":8,"env_merg":8,"environ":[1,2,4,6,8,9,12,17,18,19,22,24,30,33,43],"equal":[8,24],"error":[7,8,22],"etc":[6,8,12,14,18,21,22,24,35],"etc_host":8,"ethernet":8,"even":[8,11,12,14,21,22,25,27,35],"eventlogg":31,"everi":21,"everyth":25,"exampl":[1,4],"exclud":9,"exclus":[14,30],"exec":6,"exec_id":6,"execid":[7,8],"execut":[1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,42],"exist":[3,8,11,12,14,18,19,21,22,24,27,30,31,35,40],"exit":[4,6,8,9,24],"exit_polici":24,"exitcod":[7,8],"exitcodepropag":22,"exitpolici":[23,24],"expect":[8,24],"explicitli":[18,19,22],"explod":8,"export":[3,8,12,17,18,19,22,42],"expos":8,"exposed_port":8,"exposedport":16,"express":8,"ext4":35,"extend":[6,8],"extern":[21,25],"extf":31,"extra":[4,14,37],"extra_arg":14,"extrahost":[7,8],"extraus":8,"f97315dc58a9c002ba0cabccb9933d4b0d2113733d204188c88d72f75569b57b":16,"f99002e34c1087fd1aa08d5027e455bf7c2d6b74f019069acf6462a96ddf2a47":6,"fact":[3,8,20,21,23,29,34,42],"fail":[7,8,9,19],"failingstreak":[7,8],"failur":[8,12,24],"fair":8,"fals":[5,6,7,8,9,10,11,12,14,16,18,19,20,21,22,23,24,25,27,28,29,30,31,33,35],"fatal":[8,22],"favor":8,"fc41":31,"fd":8,"fe2ba3a8ede60e5938e666b483c3a812ba902dac2303341930fbadc0482592b7":[7,8],"fedora":[27,31],"fedoraproject":31,"fetch":[1,4],"field":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"file":[1,2,3,4,8,9,11,12,13,14,17,18,19,21,24,29,30,31,33,35,42],"file123":27,"file456":27,"filedriv":29,"filesystem":[8,11,15,31],"filter":[9,25],"finishedat":[7,8],"first":[8,18,19,24],"flag":[8,18,19,24],"folder":5,"follow":[6,7,8,12,13,14,15,16,17,20,21,22,23,24,25,28,29,31,34,35,37],"foo":33,"forc":[8,11,12,14,21,24,27,30],"force_delet":8,"force_restart":8,"force_rm":14,"forcibli":8,"foreground":16,"forget":8,"format":[8,9,14,21,22,24,27,35],"forward":8,"found":[8,19,22],"fox":18,"freelock":31,"from":[1,3,4,7,8,9,13,14,18,19,20,21,22,23,24,28,29,33,34,35,42],"from_contain":5,"ftp_proxi":8,"full":[8,12,24],"fulli":[2,9,28],"function":14,"further":[1,4,6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35],"g":[8,9,12,14,19,21,22,24,35],"g0293c6f":31,"galaxi":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"gatewai":[7,8,20,21],"gather":[3,28,33,42],"gcr":24,"gendr":12,"gener":[3,8,16,21,24,42],"generate_systemd":[8,24],"gerzson":33,"get":[3,26,42],"gibibyt":24,"gid":[5,6,8,24,35],"gidmap":[8,24,31],"gigabyt":8,"gitcommit":31,"give":[6,8,14,21,22,24,35],"given":[3,7,8,12,13,21,24,42],"glob":[2,9],"globalipv6address":[7,8],"globalipv6prefixlen":[7,8],"gmt":8,"go1":31,"goodby":6,"googl":[23,24],"gosu_gpg_kei":16,"gosu_vers":16,"govers":31,"gpg_key_servers_list":16,"gpu":[8,24],"graphdriv":[7,8,13,14,15,16],"graphdrivernam":31,"graphopt":31,"graphroot":31,"graphrootalloc":31,"graphrootus":31,"graphstatu":31,"greater":8,"greet":22,"greet_to":22,"group":[6,8,9,10,35],"group_add":8,"group_by_imag":9,"group_by_label":9,"group_entri":8,"groupadd":[7,8],"groupnam":[6,8],"grz":33,"guid":8,"gz":15,"ha":[8,16],"hairpinmod":[7,8],"handl":8,"hard":[7,8],"hat":[28,31],"have":[1,4,8,14,21,22,24,33,35,36],"he":24,"header":[8,12,24],"health":[7,8],"health_cmd":8,"health_interv":8,"health_on_failur":8,"health_retri":8,"health_start_period":8,"health_startup_cmd":8,"health_startup_interv":8,"health_startup_retri":8,"health_startup_success":8,"health_startup_timeout":8,"health_timeout":8,"healthcheck":8,"healthcheck_failure_act":8,"healthcheck_interv":8,"healthcheck_retri":8,"healthcheck_start_period":8,"healthcheck_timeout":8,"healthcheckonfailureact":[7,8],"healthi":8,"hello":[6,14,22],"help":[8,10,21,24,35],"here":[0,3,6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,33,34,35,37,38],"hiatt":18,"hide":22,"high":[1,4,33],"higher":[1,4,33],"histori":[13,14,15],"hit":8,"hkp":16,"home":[7,8,13,14,15,16,19,22,29,31,34,35],"hook":8,"hooks_dir":8,"host":[3,5,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,32,33,34,35,41,42],"host_id":31,"hostadd":[23,24],"hostconfig":[7,8],"hostip":[7,8],"hostnam":[7,8,23,24,31],"hostnamepath":[7,8],"hostnetwork":[23,24],"hostport":[7,8],"hostspath":[7,8],"hostus":8,"hostvar":9,"hour":25,"how":8,"howev":19,"html":[8,33],"http":[8,14,18,22,33],"http_proxi":8,"https_proxi":8,"hub":17,"i":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37],"id":[1,2,4,5,6,7,8,9,12,13,14,15,16,20,21,23,24,25,29],"idempot":[8,12,14,21,35],"idleperc":31,"idmap":31,"ignor":[8,14,19],"ignore_docker_credenti":19,"imag":[3,7,8,9,10,12,15,22,24,25,30,33,35,42],"image_filt":25,"image_node_14":9,"image_o":16,"image_strict":8,"image_volum":8,"imagecopytmpdir":31,"imagedigest":[7,8],"imagenam":[7,8],"imagestor":31,"impli":8,"import":[3,42],"includ":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"include_stop":9,"indefinit":8,"index":28,"indic":[12,24],"infinit":8,"influenc":12,"info":[3,8,14,15,16,22,28,31,42],"inform":[3,8,10,12,21,24,25,35,42],"infra":[8,23,24],"infra_command":24,"infra_conmon_pidfil":24,"infra_imag":24,"infra_nam":24,"infraconfig":[23,24],"infracontainerid":[23,24],"ini":[1,4,33],"init":[8,24],"init_ctr":8,"init_path":8,"initi":8,"inject":8,"inlin":14,"input":16,"insecur":[18,22],"insid":[1,2,4,6,8,9],"inspect":[8,14,20,23,24,29,34,35],"instal":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"instanc":12,"instead":[8,12,24,27],"integ":[6,8,12,21,24,28],"integr":12,"interact":[3,8,40],"interfac":[8,21],"interface_nam":21,"intermedi":14,"intern":[20,21],"interpret":27,"interv":8,"invalid":[7,8],"inventori":[37,43],"inventory_hostnam":[1,4],"investig":[8,10,21,24,35],"io":[7,8,12,13,14,16,17,18,19,24,26,30,31,32,33,35],"iomaximumbandwidth":[7,8],"iomaximumiop":[7,8],"iop":8,"ip":[8,21,24],"ip6":[8,24],"ip_rang":21,"ipaddress":[7,8],"ipam":21,"ipam_driv":21,"ipam_opt":[20,21],"ipc":[8,23,24],"ipc_mod":8,"ipcmod":[7,8],"ipprefixlen":[7,8],"ipv4":21,"ipv6":[8,21,24],"ipv6_en":[20,21],"ipv6gatewai":[7,8],"ipvlan":31,"isinfra":[7,8],"isol":[7,8,21],"isservic":[7,8],"issu":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"item":[8,14,24],"its":[8,12,14,21,22,24,33,35],"itself":8,"jano":33,"jason":18,"java":16,"jinja2":9,"johnson":31,"johnsonlien":31,"join":[8,21,22,24],"journal":[8,24],"journald":[7,8,22,31],"json":[7,8,9,13,14,15,17,18,19,22,31],"jthiatt":18,"jun":31,"k":[8,24],"k8":[8,24,31],"kddkdk":[23,24],"keep":8,"kei":[6,7,8,9,12,13,14,15,16,17,18,20,21,22,23,24,25,28,29,30,31,34,35],"kept":19,"kernel":[8,24,31],"kernel_memori":8,"kernelmemori":[7,8],"key2":35,"keyed_group":9,"keyserv":16,"kibibyt":24,"kill":[8,24],"killer":8,"kilobyt":8,"know":[8,14,21,22,24,35],"known":28,"kube":22,"kube_fil":22,"kube_file_cont":22,"kubealex":5,"kubeexitcodepropag":[7,8],"kubelet":22,"kubernet":[3,42],"label":[3,7,8,9,13,14,15,16,21,23,24,29,30,34,35,42],"label_":9,"label_fil":[8,24],"label_selector":9,"lang":[17,18,19],"larger":8,"last":24,"later":8,"latest":[7,8,12,14,16,33,35],"launch":8,"layer":[13,14,15,16,27],"lead":[8,14,21,22,24,35],"lease_rang":20,"leav":[8,22],"letsencrypt":8,"level":[8,22],"lib":[8,16,22],"libexec":31,"libnss":8,"libpod":[7,8],"librari":[8,12,13,14],"lien":31,"lightweight":24,"like":[8,14,21,22,24,33,35],"limit":[8,24,28],"line":[4,8,14,21,22,24,35,37],"linklocalipv6address":[7,8],"linklocalipv6prefixlen":[7,8],"linkmod":31,"linux":[8,13,14,15,16,21,28,31],"list":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"list_tag":28,"load":[3,8,14,15,42],"local":[2,3,7,8,9,11,13,14,16,20,21,22,27,29,31,34,35,42],"localhost":24,"locat":8,"lock":[8,24],"locknumb":[7,8,23,24,34,35],"log":[3,7,8,22,24,31,42],"log_driv":[8,22],"log_level":[8,22],"log_opt":[8,22],"logconfig":[7,8],"logdriv":31,"logged_in":17,"login":[3,17,19,22,33,42],"logout":19,"look":28,"loop":[14,24],"loop1":35,"love":16,"low":[1,4,33],"lower":[1,4,33],"lowerdir":[7,8,16],"m":[8,24],"mac":[8,24],"mac_address":[8,24],"macaddress":[7,8],"macchi":7,"machin":[3,5,7,8,11,13,14,15,16,17,18,19,20,21,23,24,26,27,28,29,30,32,34,35,42],"macvlan":[20,21,31],"mai":[5,6,7,8,12,13,14,28],"maintain":16,"make":8,"man":12,"manag":[3,7,42],"manifest":[13,14,15,16,27],"manifesttyp":[13,14,15,16],"map":[8,24,33],"mark":8,"markdown":33,"mask":[8,14,21,22,35],"match":[2,8,9,22],"max":[8,22],"max_retri":8,"max_siz":[8,22],"maximum":[8,21],"maximumretrycount":[7,8],"mean":[2,8,9,22,24],"mebibyt":24,"megabyt":8,"mem":8,"memfre":31,"memori":[7,8,24,31],"memory_reserv":8,"memory_swap":[8,24],"memory_swappi":8,"memoryreserv":[7,8],"memoryswap":[7,8],"memoryswappi":[7,8],"memtot":31,"merg":[7,8,16],"mergeddir":[7,8,16],"messag":[8,15,22],"meta":[8,12,24],"metacopi":31,"metadata":[8,24,35],"metric":21,"mianzhynski":30,"michael":18,"microsecond":8,"miniconda":32,"miniconda3":[26,32],"minim":28,"miss":[8,9,14,21,22,24,35],"mit":16,"mknod":24,"mode":[8,12,14,21,22,23,24,30,35],"modifi":33,"modul":43,"more":[8,12,14,24,25,27,32],"mount":[7,8,14,23,24,33,35],"mountcount":[34,35],"mountlabel":[7,8],"mountopt":31,"mountpoint":[34,35],"move":8,"msg":[30,31],"mtu":21,"multi_image_arch":27,"multipl":[8,14,22,24],"must":[4,5,8,9,12,14,21,22,24,35],"mutual":[14,30],"my":[2,14,22,30],"my_api_contain":8,"my_app":12,"my_contain":12,"my_webapp":12,"myapplic":8,"mycontain":[8,22],"mycustom_imag":14,"mydata":8,"myimageregistri":28,"mypod":[23,24],"myredi":8,"mysecret":30,"myservic":8,"myvolum":15,"n":[8,31],"name":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,33,34,35,42],"name_pattern":[2,9],"nameserv":21,"nameshistori":[13,14,15],"namespac":[7,8,22,24,33],"nami":16,"nami_vers":16,"nanocpu":[7,8],"nativ":31,"ncommit":31,"ncopyright":31,"necessari":[8,14,24],"need":[6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,34,35],"needschown":[34,35],"needscopyup":[34,35],"net":[8,16,23,24],"net_config":21,"netavark":[21,31],"netn":[7,8],"network":[3,8,14,22,23,24,25,31,35,42],"network_alia":[8,24],"network_alias":[8,24],"network_filt":25,"network_interfac":21,"network_mod":8,"networkbackend":31,"networkbackendinfo":31,"networkmod":[7,8],"networkopt":[23,24],"networkset":[7,8],"never":8,"new":[2,8,9,10,12,14,17,20,21,22,23,24,25,30,33,35],"newer":[3,8],"newli":[8,14,21,22,24,35],"nginx":[8,10,13,14,27],"nishimura":6,"nishipi":6,"no_default_rout":[20,21],"no_head":[8,12,24],"no_healthcheck":8,"no_host":[8,24],"no_proxi":8,"node":[8,24],"nodev":[23,24,31],"nomanagehost":[23,24],"nomanageresolvconf":[23,24],"non":[5,8,14,21,22,24,25,35],"none":[7,8,21,24,31],"nop":[13,14,15],"nosuid":[23,24],"notat":21,"note":[8,22],"notifi":8,"notify_socket":8,"now":33,"null":[7,8,13,14,15,23,24,31],"numa":[8,24],"number":[8,14,21,22,24,28,31,35],"numcontain":[23,24],"numer":6,"o":[8,13,14,15,16,21,22,24,31,35],"object":[3,42],"object_r":[7,8],"ocafebab":32,"oci":[7,8,14,15,16,27],"ociconfigpath":[7,8],"ociruntim":[7,8,31],"ocivers":[7,8],"octal":[8,14,21,22,24,35],"offici":[28,33],"ohno":8,"ok":33,"older":25,"omit":[8,24],"onbuild":[7,8],"onc":[8,10,12],"ondemand":16,"one":[8,14,21,22,24,27,32,35],"onli":[8,12,14,19,21,22,24,25,27],"onlin":12,"oom":8,"oom_kill_dis":8,"oom_score_adj":8,"oomkil":[7,8],"oomkilldis":[7,8],"oomscoreadj":[7,8],"open":8,"opencontain":[7,8],"openstdin":[7,8],"opt":[8,16,21,23,24,33],"option":[6,8,9,12,14,19,20,21,22,23,24,29,30,34,35,37],"order":[1,4,5,7,8,12,13,24,28,33],"org":[7,8,31],"osarch":31,"ostre":14,"other":[8,19],"otherkei":[23,24],"our":33,"out":[3,42],"output":[6,8,22,30,33],"overlai":[7,8,13,14,15,16,31],"overrid":[1,4,8,12,17,18,19,22,24,30,33],"overridden":[12,18,19],"overwrit":[5,8],"overwritten":[1,4,33],"own":[8,14,21,22,24,33,35],"owner":33,"ownership":33,"p":[7,8,9],"p4ssw0rd":18,"p80":16,"packag":31,"page":12,"pair":[14,15],"panic":[8,22],"parent":[8,13,14,15,16,21,24],"pars":24,"parser":[8,14,21,22,24,35],"part":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"pass":[4,6,8,14,21,22,24,33,37],"passphras":8,"passt":31,"passthrough":31,"passwd":[7,8],"passwd_entri":8,"password":[14,18,22,33,37],"pasta":31,"path":[2,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,37],"pattern":[2,9],"paus":[7,8,24,31],"pavel":26,"pdostal":26,"per":[8,12,24,28],"percent":24,"period":8,"permiss":[8,14,21,22,24,35],"person":8,"pgp":16,"pid":[7,8,24,31],"pid_fil":8,"pid_mod":8,"pid_n":[23,24],"pidfil":[7,8],"pidmod":[7,8],"pids_limit":8,"pidslimit":[7,8],"plai":[3,42],"platform":[8,28],"playbook":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"pleas":8,"plu":[8,24],"plugin":[1,4,21,31,33,37],"pod":[3,7,8,22,25,35,42],"pod1":24,"pod2":24,"pod_id_fil":[8,24],"pod_nam":[23,24],"pod_prefix":[8,12,24],"podman":[0,37,38,43],"podman2":21,"podman_command":12,"podman_contain":[3,12,24,30,33,37,41,42],"podman_container_copi":[3,42],"podman_container_exec":[3,42],"podman_container_info":[3,42],"podman_execut":4,"podman_export":[3,42],"podman_extra_arg":4,"podman_generate_systemd":[3,42],"podman_imag":[3,42],"podman_image_info":[3,42],"podman_import":[3,42],"podman_info":31,"podman_intern":21,"podman_load":[3,42],"podman_login":[3,42],"podman_login_info":[3,42],"podman_logout":[3,42],"podman_network":[3,42],"podman_network_info":[3,42],"podman_p":9,"podman_plai":[3,42],"podman_pod":[3,42],"podman_pod_info":[3,42],"podman_prun":[3,42],"podman_runlabel":[3,42],"podman_sav":[3,42],"podman_search":[3,42],"podman_secret":[3,42],"podman_secret_info":[3,42],"podman_socket":[7,8],"podman_system_info":[3,42],"podman_tag":[3,42],"podman_unshar":[3,37,39],"podman_usern":[8,22,24],"podman_ushar":33,"podman_volum":[3,42],"podman_volume_info":[3,42],"point":8,"polici":[8,12,24],"pool":[8,16],"port":[7,8,24],"portbind":[7,8,23,24],"posix":8,"possibl":25,"postgr":12,"postgres9":34,"postgres_loc":12,"postgres_local_systemd_unit":12,"postgres_password":12,"postgres_us":12,"power":24,"pre":14,"preced":[1,4,33],"prefer":8,"prefix":[8,12,14,24],"preprocess":8,"present":[8,14,20,21,23,24,29,30,34,35],"preserve_fd":8,"prettyjw":16,"primari":5,"print":[30,31],"prioriti":[1,4,33],"privat":[7,8,23,24],"privileg":[5,6,7,8,13,28],"privilege_escal":33,"process":[8,24],"processlabel":[7,8],"profil":[8,22],"project":31,"propag":[23,24],"properli":[5,7,13,28],"provid":[8,14,21,22,24,35],"proxi":[8,14],"prune":[3,42],"pseudo":[6,8],"publish":[8,24],"publish_al":8,"publishallport":[7,8],"published_port":8,"pull":[3,8,22,42],"pull_extra_arg":14,"push":[8,14,27],"push_arg":14,"put":[1,4],"python":10,"qpod":24,"quadlet":[8,14,21,22,24,35],"quadlet_dir":[8,14,21,22,24,35],"quadlet_file_mod":[8,14,21,22,24,35],"quadlet_filenam":[8,14,21,22,24,35],"quadlet_opt":[8,14,21,22,24,35],"quadlet_volum":35,"quai":[8,13,14,16,17,18,19,35],"qualifi":[2,9],"queue":21,"quiet":22,"quot":[8,14,21,22,24,35],"quota":8,"r":[8,14,21,22,24,35],"r12":16,"random":[8,24],"randomli":[8,21],"rang":[8,21,24],"rate":[8,24],"rather":[6,8],"raw":9,"rbind":[23,24],"rc":6,"rdt":8,"rdt_class":8,"re":[8,24],"read":[8,22,24],"read_onli":8,"read_only_tmpf":8,"readonlyrootf":[7,8],"real":8,"reap":8,"reason":8,"rebtoor":25,"receiv":[8,14,21,22,24,35],"reclaim":25,"recreat":[8,21,22,24,30,35],"recurs":8,"red":[28,31],"redhat":[3,6,28,31],"redi":[7,8,13,14],"redirect":8,"refer":[8,9,12,24],"regardless":8,"regist":[8,12,30,31,33],"registri":[3,7,8,14,22,28,31,42],"registry_auth_fil":[8,17,18,19,22],"regular":8,"rel":[8,24],"releas":[6,8],"reload":12,"remain":30,"remot":[3,8,14,17,22,31,33,42],"remote_addr":[1,4],"remote_us":[1,4],"remotesocket":31,"remov":[6,8,12,14,19,21,30],"remove_signatur":14,"renew":8,"replac":12,"repodigest":[13,14,15,16],"repositori":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"repotag":[13,14,15,16],"repres":8,"request":8,"requir":[2,5,9,13,14,28],"reset":33,"resolv":[7,8,21,24],"resolvconfpath":[7,8],"restart":[7,8,12,24],"restart_polici":[8,12,24],"restart_sec":[8,12,24],"restart_tim":8,"restartcount":[7,8],"restartpolici":[7,8],"restartsec":[8,24],"restoredat":[7,8],"restrict":[8,21],"result":[8,14,21,22,24,28,35],"retri":8,"retry_delai":8,"return":[3,10,42],"reus":8,"rhel":28,"rhel7":28,"rhel8":28,"rlimit_nofil":[7,8],"rlimit_nproc":[7,8],"rm":[8,12,14,33],"rmi":8,"ro":24,"roberto":25,"role":9,"root":[5,7,8,14,15,21,22,24,33,35,37],"rootf":[7,8,13,14,15,16],"rootless":[8,24,31],"rootlessnetworkcmd":31,"rossi":5,"rout":21,"rprivat":[23,24],"rule":[8,14,21,22,24,35],"run":[1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,34,35,39,42],"runlabel":26,"runroot":31,"runtim":[7,8],"rw":[8,14,21,22,23,24,35],"rwm":8,"rwx":[8,14,21,22,24,35],"s0":[7,8],"sagi":[2,3,7,8,9,10,11,14,15,16,20,21,22,23,24,27,29,34,35],"sam":13,"samdoran":13,"same":[21,27,30],"sampl":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"sandboxid":[7,8],"sandboxkei":[7,8],"save":[3,11,15,16,42],"sbin":[7,8,13,14,16],"schedul":8,"scope":[7,8,12,21,24,34,35],"scp":14,"sda":[8,24],"sdc":8,"sdnotifi":8,"sdnotifymod":[7,8],"search":[3,8,18,19,24,31,42],"seccomp":[8,22,23,24,31],"seccomp_polici":8,"seccomp_profile_root":22,"seccompen":31,"seccompprofilepath":31,"second":[8,12,24],"secret":[3,8,18,42],"secret_kei":8,"secret_nam":29,"secur":[8,23,24,31],"security_opt":[8,23,24],"securityopt":[7,8],"see":[6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,37],"select":[8,9,25,26],"selinuxen":31,"semant":8,"send":8,"sent":8,"separ":[8,12,14,24],"sequenc":8,"servec":12,"server":[8,14,17,18,19,21,24],"servic":[7,8,12,23,24],"serviceisremot":31,"session":6,"set":[4,6,8,12,14,15,17,18,19,21,22,24,30,33,35,37],"setup":8,"setworkingdirectori":22,"sever":[7,13,24],"sh":[6,7,8,13,14,15,16],"sha256":[7,8,13,14,15,16],"share":[7,8,13,14,24,29,31,34,35],"share_par":24,"shareabl":[7,8],"sharednamespac":[23,24],"shift":31,"shm":[8,24],"shm_size":[8,24],"shm_size_systemd":[8,24],"shmsize":[7,8],"shnaidman":[2,3,7,8,9,10,11,14,15,16,20,21,22,23,24,27,29,34,35],"should":[8,14,21,22],"show":[29,33],"showmysecret":30,"showsecret":29,"sig_proxi":8,"sigchld":8,"sigkil":8,"sign":14,"sign_bi":14,"signal":8,"signatur":14,"sigstop":8,"sigterm":8,"similar":[8,12,24],"sinc":[8,19],"singl":8,"situat":33,"size":[7,8,13,14,15,16,21,22,24,31],"sk":16,"skip_exist":30,"sleep":[8,10,12,24],"slice":[7,8,23,24],"slirp4netn":[7,8,31],"slurp":8,"so":[1,2,4,8,9,14,21,22,24,33,35],"sock":[8,24,31],"socket":[7,8],"soft":[7,8],"somekei":[23,24],"someth":33,"someus":8,"somev":[23,24],"sourc":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"space":[24,25],"spec":29,"speci":[8,14,21,22,24,35],"special":24,"special_pod":23,"specif":[7,8,13,14,20,22,23,24,28,29,30,34,35],"specifi":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"specific_secret":29,"specific_volum":34,"spmfox":18,"src":[5,15],"ssh":[9,14],"sshnaidm":[2,3,8,9,10,11,14,15,16,20,21,22,23,24,27,29,34,35],"ssssh":8,"stack":[8,21],"stage":14,"standard":6,"star":28,"start":[8,12,16,22,24],"start_ip":20,"start_timeout":[8,12,24],"startedat":[7,8],"startup":8,"stat":33,"state":[7,8,12,14,21,22,23,24,30,33,35],"static":[8,21,24],"staticdir":[7,8],"staticip":[23,24],"staticmac":[23,24],"statu":[7,8,9],"stderr":[6,8],"stdin":8,"stdinonc":[7,8],"stdout":[6,8,30],"stop":[8,9,12,21,24,31],"stop_sign":8,"stop_tim":8,"stop_timeout":[8,12,24],"stopsign":[7,8],"stoptimeout":[7,8],"storag":[7,8,13,14,16,22,29,31,34,35],"store":[9,12,16,19,31,32],"strict":9,"string":[1,2,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"stronger":[8,12,24],"structur":22,"style":8,"subdirectori":22,"subgid":[8,24],"subgidnam":[8,24],"subnet":[20,21],"subuid":[8,24],"subuidnam":[8,24],"succe":8,"success":[6,8,12,14,24],"sudo":[33,37],"sudo_become_plugin":33,"super":30,"suppli":[8,24],"support":[3,8,12,21,22,24,27,28,31,35],"swap":[8,24],"swapfre":31,"swappi":8,"swaptot":31,"symbol":[6,8,14,21,22,24,35],"syntax":8,"sysctl":[8,24],"syslog":8,"system":[3,8,12,24,25,42],"system_al":25,"system_r":[7,8],"system_u":[7,8],"system_volum":25,"systemctl":12,"systemd":[3,7,8,14,21,22,24,31,35,42],"systemd_unit":12,"systemperc":31,"sysv":8,"s\u00e9bastien":12,"t":[8,24],"tag":[7,8,13,14,21,22,27,28,32],"take":[8,12,14,21,24,35],"taken":8,"takuya":6,"tar":[3,11,42],"tarbal":[11,14,15,27],"target":[8,12,14,18,22],"target_nam":32,"task":[2,3,8,9,37,39],"tcp":[7,8,16],"team":3,"tell":8,"term":28,"test":[5,7,8,10,23,24,33],"test_contain":6,"test_dir":33,"test_host":33,"testimag":14,"tgz":15,"than":[6,8,12,24,25,27],"thei":[8,19,22,24,25],"them":[2,8,9,12,24],"thi":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,43],"those":[8,21],"three":10,"threshold":21,"thu":[8,31],"time":[8,12,22,24],"timeout":[7,8,12,24],"timer":8,"timestamp":[8,12,24],"timezon":8,"tini_gpg_kei":16,"tini_vers":16,"tl":[14,18,22],"tls_verifi":[8,14,22],"tlsverifi":[14,18],"tmp":[8,22,23,24,27,31],"tmpf":[7,8,24,35],"togeth":19,"token":[2,9],"toma":[1,4],"tomastomecek":[1,4],"tomecek":[1,4],"tool":[1,4,19],"total":[8,24,25],"tpmf":35,"tracker":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"traffic":21,"transientstor":31,"transmiss":21,"transport":[14,27],"treat":8,"true":[5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,33,34,35],"tty":[6,7,8],"tune":8,"txz":15,"type":[1,4,7,8,13,14,15,16,23,24,27,33,35],"u":[8,14,21,22,24,35],"ubi8":6,"ubuntu":[8,16],"udp":8,"uid":[4,5,6,8,13,24,33,35],"uidmap":[8,24,31],"ulimit":[7,8],"umask":[7,8,24],"unaccess":33,"uncompress":27,"unconfin":[8,23,24],"under":[8,9,18,19,24],"unencrypt":30,"unexpect":[8,14,21,22,24,35],"unhealthi":8,"uniqu":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"unit":[3,8,21,24,42],"unix":[7,8],"unless":[8,18,19,22,28],"unlik":24,"unlimit":8,"unmount":35,"unpaus":24,"unprivileg":33,"unset":[8,21],"unsetenv":8,"unsetenv_al":8,"unshar":[3,39],"unsuccess":14,"until":[8,25],"unus":25,"up":[1,4,8,14,21,22,24,33,35],"updat":[8,21],"updatedat":29,"upper":8,"upperdir":[7,8,13,14,15,16],"uptim":31,"url":14,"us":[1,2,3,4,5,6,8,9,10,11,12,15,16,17,20,21,23,24,25,26,27,29,30,31,32,34,35,37,39,42],"usag":[8,24],"use_nam":12,"user":[1,3,4,6,7,8,12,13,14,15,16,18,19,21,22,23,24,29,31,33,34,35,37,42],"userdata":[7,8],"usern":[8,22,23,24],"usernam":[6,8,14,17,18,22],"userns_mod":8,"usernsmod":[7,8],"userperc":31,"usr":[7,8,13,14,16,31],"usual":[8,14,21,22,24,35],"ut":[8,23,24],"uts_n":[23,24],"utsmod":[7,8],"v":10,"v0":16,"v1":[8,15,16,24],"v2":[8,13,14,31],"v2s1":14,"v2s2":[14,27],"v7":14,"valid":[8,14,33,37],"validate_cert":14,"valu":[1,4,9,22,30,33,37],"value2":35,"var":[8,9,16,22,24,31,33],"variabl":[1,2,4,6,8,9,12,17,18,19,22,24,30,31,33,43],"variant":[8,14,31],"variou":[3,42],"vault_registry_password":14,"verbose_output":9,"verif":[18,22],"verifi":[8,18,22],"versa":5,"version":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"via":[1,4,8,14,24],"vice":5,"virtual":21,"virtuals":[13,14,15,16],"vlan":21,"vlan_filt":21,"vnd":[13,14,15,16],"volatil":31,"volnam":35,"volum":[3,7,8,11,14,15,23,24,25,31,33,42],"volume1":35,"volume_filt":25,"volumedriv":[7,8],"volumepath":31,"volumes_from":[8,24],"volumesfrom":[7,8],"vrf":21,"w":24,"wa":14,"wai":[8,14,21,22,24,35],"wait":8,"want":[1,4,8,12,24],"wantedbi":[8,14],"warn":[8,19,22],"watchdog":[8,12,24],"water":28,"we":33,"weak":[8,12,24],"web":10,"web1":7,"weight":[8,24],"well":8,"were":8,"what":[11,15,16,24,26,27,32,35],"when":[6,8,9,12,14,18,21,22,24,25,27,30,33,35],"where":[6,8,14,24,37],"whether":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"which":[1,4,8,10,12,14,21,22,24,30,33,35],"wide":12,"wildfli":[8,13,14,16],"wildfly_java_hom":16,"wildfly_java_opt":16,"wildfly_management_http_port_numb":16,"wildfly_password":16,"wildfly_public_consol":16,"wildfly_server_ajp_port_numb":16,"wildfly_server_http_port_numb":16,"wildfly_server_interfac":16,"wildfly_usernam":16,"wildfly_wildfly_hom":16,"wildfly_wildfly_opt":16,"window":8,"wish":8,"with_sequ":8,"within":[8,22],"without":[8,9,14,21,22,24,35],"work":[3,6,7,8,12,13,14,15,16,24,41],"workdir":[6,7,8,13,14,15,16],"workflow":24,"working_dir":8,"workingdir":[7,8],"workstat":31,"world":[6,14,22],"writabl":4,"write":[8,12,14,21,22,24,27,35],"written":8,"www":8,"x86_64":31,"xdg_runtime_dir":[8,17,18,19,22],"xvda":8,"xvdc":8,"xz":15,"yaml":[3,8,14,21,24,35,42],"ye":8,"yml":5,"you":[1,4,6,7,8,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,37],"your":[12,33],"z":33,"zero":[8,14,21,22,24,35],"zoneinfo":8},"titles":["Collections in the Containers Namespace","containers.podman.buildah connection \u2013 Interact with an existing buildah container","containers.podman.buildah_containers inventory \u2013 Inventory plugin that discovers Buildah working containers as hosts","Containers.Podman","containers.podman.podman connection \u2013 Interact with an existing podman container","containers.podman.podman_container_copy module \u2013 Copy file to/from a container","containers.podman.podman_container_exec module \u2013 Executes a command in a running container.","containers.podman.podman_container_info module \u2013 Gather facts about containers using podman","containers.podman.podman_container module \u2013 Manage podman containers","containers.podman.podman_containers inventory \u2013 Inventory plugin that discovers Podman containers as hosts","containers.podman.podman_containers module \u2013 Manage podman containers in a batch","containers.podman.podman_export module \u2013 Export a podman container","containers.podman.podman_generate_systemd module \u2013 Generate systemd unit from a pod or a container","containers.podman.podman_image_info module \u2013 Gather info about images using podman","containers.podman.podman_image module \u2013 Pull images for use by podman","containers.podman.podman_import module \u2013 Import Podman container from a tar file.","containers.podman.podman_load module \u2013 Load image from a tar file.","containers.podman.podman_login_info module \u2013 Return the logged-in user if any for a given registry","containers.podman.podman_login module \u2013 Login to a container registry using podman","containers.podman.podman_logout module \u2013 Log out of a container registry using podman","containers.podman.podman_network_info module \u2013 Gather info about podman networks","containers.podman.podman_network module \u2013 Manage podman networks","containers.podman.podman_play module \u2013 Play kubernetes YAML file using podman","containers.podman.podman_pod_info module \u2013 Gather info about podman pods","containers.podman.podman_pod module \u2013 Manage Podman pods","containers.podman.podman_prune module \u2013 Allows to prune various podman objects","containers.podman.podman_runlabel module \u2013 Run given label from given image","containers.podman.podman_save module \u2013 Saves podman image to tar file","containers.podman.podman_search module \u2013 Search for remote images using podman","containers.podman.podman_secret_info module \u2013 Gather info about podman secrets","containers.podman.podman_secret module \u2013 Manage podman secrets","containers.podman.podman_system_info module \u2013 Get podman system information from host machine","containers.podman.podman_tag module \u2013 Add an additional name to a local image","containers.podman.podman_unshare become \u2013 Run tasks using podman unshare","containers.podman.podman_volume_info module \u2013 Gather info about podman volumes","containers.podman.podman_volume module \u2013 Manage Podman volumes","Index of all deprecated plugins","Index of all Collection Environment Variables","Collection Index","Index of all Become Plugins","Index of all Connection Plugins","Index of all Inventory Plugins","Index of all Modules","Welcome to my Ansible collection documentation"],"titleterms":{"about":[7,13,20,23,29,34],"add":32,"addit":32,"all":[36,37,39,40,41,42],"allow":25,"an":[1,4,32],"ani":17,"ansibl":43,"author":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"batch":10,"becom":[3,33,39],"buildah":[1,2],"buildah_contain":2,"collect":[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,38,43],"command":6,"connect":[1,3,4,40],"contain":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,39,40,41,42],"copi":5,"deprec":36,"descript":3,"discov":[2,9],"document":43,"environ":37,"exampl":[2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"execut":6,"exist":[1,4],"export":11,"fact":7,"file":[5,15,16,22,27],"from":[5,12,15,16,26,31],"gather":[7,13,20,23,29,34],"gener":12,"get":31,"given":[17,26],"host":[2,9,31],"imag":[13,14,16,26,27,28,32],"import":15,"index":[3,36,37,38,39,40,41,42,43],"info":[13,20,23,29,34],"inform":31,"interact":[1,4],"inventori":[2,3,9,41],"kubernet":22,"label":26,"link":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"load":16,"local":32,"log":[17,19],"login":18,"machin":31,"manag":[8,10,21,24,30,35],"modul":[3,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,35,42],"my":43,"name":32,"namespac":0,"network":[20,21],"note":[5,6,7,12,13,28],"object":25,"out":19,"paramet":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"plai":22,"plugin":[2,3,9,36,39,40,41,43],"pod":[12,23,24],"podman":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,39,40,41,42],"podman_contain":[8,9,10],"podman_container_copi":5,"podman_container_exec":6,"podman_container_info":7,"podman_export":11,"podman_generate_systemd":12,"podman_imag":14,"podman_image_info":13,"podman_import":15,"podman_load":16,"podman_login":18,"podman_login_info":17,"podman_logout":19,"podman_network":21,"podman_network_info":20,"podman_plai":22,"podman_pod":24,"podman_pod_info":23,"podman_prun":25,"podman_runlabel":26,"podman_sav":27,"podman_search":28,"podman_secret":30,"podman_secret_info":29,"podman_system_info":31,"podman_tag":32,"podman_unshar":33,"podman_volum":35,"podman_volume_info":34,"prune":25,"pull":14,"refer":43,"registri":[17,18,19],"remot":28,"requir":[6,7,8,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,34,35],"return":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"run":[6,26,33],"save":27,"search":28,"secret":[29,30],"synopsi":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"system":31,"systemd":12,"tar":[15,16,27],"task":33,"unit":12,"unshar":33,"us":[7,13,14,18,19,22,28,33],"user":17,"valu":[6,7,8,12,13,14,15,16,17,20,21,23,24,25,28,29,31,34,35],"variabl":37,"variou":25,"volum":[34,35],"welcom":43,"work":2,"yaml":22}}) \ No newline at end of file diff --git a/galaxy.yml b/galaxy.yml index fdfd97f..0f38069 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,6 +1,6 @@ namespace: containers name: podman -version: 1.17.0 +version: 1.18.0 readme: README.md authors: - Sagi Shnaidman