From 1a41fc949267e4065bd171bcd3651c991e0df719 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 7 Jan 2019 19:13:35 +0000 Subject: [PATCH 01/16] Cleanup the singleton instances map. This prevents closed resources from being reused. --- salt/transport/ipc.py | 12 +++++++----- salt/transport/tcp.py | 12 ++++++++++++ salt/transport/zeromq.py | 12 ++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/salt/transport/ipc.py b/salt/transport/ipc.py index 2bc1030750..8081349acf 100644 --- a/salt/transport/ipc.py +++ b/salt/transport/ipc.py @@ -257,6 +257,7 @@ class IPCClient(object): client = object.__new__(cls) # FIXME client.__singleton_init__(io_loop=io_loop, socket_path=socket_path) + client._instance_key = key loop_instance_map[key] = client client._refcount = 1 client._refcount_lock = threading.RLock() @@ -400,11 +401,12 @@ class IPCClient(object): # that a closed entry may not be reused. # This forces this operation even if the reference # count of the entry has not yet gone to zero. - if self.io_loop in IPCClient.instance_map: - loop_instance_map = IPCClient.instance_map[self.io_loop] - key = six.text_type(self.socket_path) - if key in loop_instance_map: - del loop_instance_map[key] + if self.io_loop in self.__class__.instance_map: + loop_instance_map = self.__class__.instance_map[self.io_loop] + if self._instance_key in loop_instance_map: + del loop_instance_map[self._instance_key] + if not loop_instance_map: + del self.__class__.instance_map[self.io_loop] class IPCMessageClient(IPCClient): diff --git a/salt/transport/tcp.py b/salt/transport/tcp.py index 82753a21fe..5215aef827 100644 --- a/salt/transport/tcp.py +++ b/salt/transport/tcp.py @@ -241,6 +241,7 @@ class AsyncTCPReqChannel(salt.transport.client.ReqChannel): # references it-- this forces a reference while we return to the caller obj = object.__new__(cls) obj.__singleton_init__(opts, **kwargs) + obj._instance_key = key loop_instance_map[key] = obj obj._refcount = 1 obj._refcount_lock = threading.RLock() @@ -308,6 +309,17 @@ class AsyncTCPReqChannel(salt.transport.client.ReqChannel): self._closing = True self.message_client.close() + # Remove the entry from the instance map so that a closed entry may not + # be reused. + # This forces this operation even if the reference count of the entry + # has not yet gone to zero. + if self.io_loop in self.__class__.instance_map: + loop_instance_map = self.__class__.instance_map[self.io_loop] + if self._instance_key in loop_instance_map: + del loop_instance_map[self._instance_key] + if not loop_instance_map: + del self.__class__.instance_map[self.io_loop] + def __del__(self): with self._refcount_lock: # Make sure we actually close no matter if something diff --git a/salt/transport/zeromq.py b/salt/transport/zeromq.py index d603fe553b..eb8922ffb2 100644 --- a/salt/transport/zeromq.py +++ b/salt/transport/zeromq.py @@ -135,6 +135,7 @@ class AsyncZeroMQReqChannel(salt.transport.client.ReqChannel): # references it-- this forces a reference while we return to the caller obj = object.__new__(cls) obj.__singleton_init__(opts, **kwargs) + obj._instance_key = key loop_instance_map[key] = obj obj._refcount = 1 obj._refcount_lock = threading.RLock() @@ -230,6 +231,17 @@ class AsyncZeroMQReqChannel(salt.transport.client.ReqChannel): else: log.debug('No message_client attr for AsyncZeroMQReqChannel found. Not destroying sockets.') + # Remove the entry from the instance map so that a closed entry may not + # be reused. + # This forces this operation even if the reference count of the entry + # has not yet gone to zero. + if self._io_loop in self.__class__.instance_map: + loop_instance_map = self.__class__.instance_map[self._io_loop] + if self._instance_key in loop_instance_map: + del loop_instance_map[self._instance_key] + if not loop_instance_map: + del self.__class__.instance_map[self._io_loop] + def __del__(self): with self._refcount_lock: # Make sure we actually close no matter if something From 3a85c5b33ff5f784e125ec03fbb1e17ce33764fb Mon Sep 17 00:00:00 2001 From: Ch3LL Date: Tue, 8 Jan 2019 14:35:36 -0500 Subject: [PATCH 02/16] Update man pages for 2019.2.0 --- doc/man/salt-api.1 | 2 +- doc/man/salt-call.1 | 2 +- doc/man/salt-cloud.1 | 2 +- doc/man/salt-cp.1 | 2 +- doc/man/salt-key.1 | 2 +- doc/man/salt-master.1 | 2 +- doc/man/salt-minion.1 | 2 +- doc/man/salt-proxy.1 | 2 +- doc/man/salt-run.1 | 2 +- doc/man/salt-ssh.1 | 7 +- doc/man/salt-syndic.1 | 2 +- doc/man/salt-unity.1 | 2 +- doc/man/salt.1 | 2 +- doc/man/salt.7 | 50619 ++++++++++++++++++++++++++++++++++------ doc/man/spm.1 | 2 +- 15 files changed, 44125 insertions(+), 6527 deletions(-) diff --git a/doc/man/salt-api.1 b/doc/man/salt-api.1 index cdf62fe5f1..04f6889446 100644 --- a/doc/man/salt-api.1 +++ b/doc/man/salt-api.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-API" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-API" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-api \- salt-api Command . diff --git a/doc/man/salt-call.1 b/doc/man/salt-call.1 index bf115585f0..36c80fd09f 100644 --- a/doc/man/salt-call.1 +++ b/doc/man/salt-call.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CALL" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-CALL" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-call \- salt-call Documentation . diff --git a/doc/man/salt-cloud.1 b/doc/man/salt-cloud.1 index 493998f7d8..4ea37626c4 100644 --- a/doc/man/salt-cloud.1 +++ b/doc/man/salt-cloud.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CLOUD" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-CLOUD" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-cloud \- Salt Cloud Command . diff --git a/doc/man/salt-cp.1 b/doc/man/salt-cp.1 index 7a74036aa3..2c16b3ae59 100644 --- a/doc/man/salt-cp.1 +++ b/doc/man/salt-cp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-CP" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-CP" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-cp \- salt-cp Documentation . diff --git a/doc/man/salt-key.1 b/doc/man/salt-key.1 index 5d7303586e..ae5f5792a0 100644 --- a/doc/man/salt-key.1 +++ b/doc/man/salt-key.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-KEY" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-KEY" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-key \- salt-key Documentation . diff --git a/doc/man/salt-master.1 b/doc/man/salt-master.1 index 793278b2cc..7513222b2b 100644 --- a/doc/man/salt-master.1 +++ b/doc/man/salt-master.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MASTER" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-MASTER" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-master \- salt-master Documentation . diff --git a/doc/man/salt-minion.1 b/doc/man/salt-minion.1 index 1aba91924c..8bd6572014 100644 --- a/doc/man/salt-minion.1 +++ b/doc/man/salt-minion.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-MINION" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-MINION" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-minion \- salt-minion Documentation . diff --git a/doc/man/salt-proxy.1 b/doc/man/salt-proxy.1 index c1c914647b..f98ac64a64 100644 --- a/doc/man/salt-proxy.1 +++ b/doc/man/salt-proxy.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-PROXY" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-PROXY" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-proxy \- salt-proxy Documentation . diff --git a/doc/man/salt-run.1 b/doc/man/salt-run.1 index 6357835b64..40f0e299f1 100644 --- a/doc/man/salt-run.1 +++ b/doc/man/salt-run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-RUN" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-RUN" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-run \- salt-run Documentation . diff --git a/doc/man/salt-ssh.1 b/doc/man/salt-ssh.1 index 2d60379186..3779ab5d42 100644 --- a/doc/man/salt-ssh.1 +++ b/doc/man/salt-ssh.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SSH" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-SSH" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-ssh \- salt-ssh Documentation . @@ -177,6 +177,11 @@ Specify the SSH private key file to be used for authentication. .UNINDENT .INDENT 0.0 .TP +.B \-\-priv\-passwd=SSH_PRIV_PASSWD +Specify the SSH private key file\(aqs passphrase if need be. +.UNINDENT +.INDENT 0.0 +.TP .B \-i, \-\-ignore\-host\-keys By default ssh host keys are honored and connections will ask for approval. Use this option to disable StrictHostKeyChecking. diff --git a/doc/man/salt-syndic.1 b/doc/man/salt-syndic.1 index 4d0c1246bb..23c12cae13 100644 --- a/doc/man/salt-syndic.1 +++ b/doc/man/salt-syndic.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-SYNDIC" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-SYNDIC" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-syndic \- salt-syndic Documentation . diff --git a/doc/man/salt-unity.1 b/doc/man/salt-unity.1 index cdaf2a4b7e..72bb3101e9 100644 --- a/doc/man/salt-unity.1 +++ b/doc/man/salt-unity.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT-UNITY" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT-UNITY" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt-unity \- salt-unity Command . diff --git a/doc/man/salt.1 b/doc/man/salt.1 index c79cab4ef7..7f05d4e790 100644 --- a/doc/man/salt.1 +++ b/doc/man/salt.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt \- salt . diff --git a/doc/man/salt.7 b/doc/man/salt.7 index 535e848bf2..72998c2dc9 100644 --- a/doc/man/salt.7 +++ b/doc/man/salt.7 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "7" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SALT" "7" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME salt \- Salt Documentation . @@ -852,13 +852,8 @@ Now go to the Configuring Salt page. .SS FreeBSD .SS Installation .sp -Salt is available in binary package form from both the FreeBSD pkgng repository -or directly from SaltStack. The instructions below outline installation via -both methods: -.SS FreeBSD repo -.sp -The FreeBSD pkgng repository is preconfigured on systems 10.x and above. No -configuration is needed to pull from these repositories. +Salt is available in the FreeBSD ports tree at \fI\%sysutils/py\-salt\fP\&. +.SS FreeBSD binary repo .INDENT 0.0 .INDENT 3.5 .sp @@ -869,44 +864,32 @@ pkg install py27\-salt .fi .UNINDENT .UNINDENT +.SS FreeBSD ports .sp -These packages are usually available within a few days of upstream release. -.SS SaltStack repo -.sp -SaltStack also hosts internal binary builds of the Salt package, available from -\fI\%https://repo.saltstack.com/freebsd/\fP\&. To make use of this repository, add the -following file to your system: -.sp -\fB/usr/local/etc/pkg/repos/saltstack.conf:\fP +By default salt is packaged using python 2.7, but if you build your own packages from FreeBSD ports either by hand or with poudriere you can instead package it with your choice of python. Add a line to /etc/make.conf to choose your python flavour: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -saltstack: { - url: "https://repo.saltstack.com/freebsd/${ABI}/", - enabled: yes -} +echo "DEFAULT_VERSIONS+= python=3.6" >> /etc/make.conf .ft P .fi .UNINDENT .UNINDENT .sp -You should now be able to install Salt from this new repository: +Then build the port and install: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -pkg install py27\-salt +cd /usr/ports/sysutils/py\-salt +make install .ft P .fi .UNINDENT .UNINDENT -.sp -These packages are usually available earlier than upstream FreeBSD. Also -available are release candidates and development releases. Use these pre\-release -packages with caution. .SS Post\-installation tasks .sp \fBMaster\fP @@ -1137,6 +1120,8 @@ Homebrew is designed to work without using sudo. You can decide to use it but we .UNINDENT .UNINDENT .SS Installation from MacPorts +.sp +Macports isolates its dependencies from the OS, and installs salt in /opt/local by default, with config files under /opt/local/etc/salt. For best results, add /opt/local/bin to your PATH. .INDENT 0.0 .INDENT 3.5 .sp @@ -1147,6 +1132,31 @@ sudo port install salt .fi .UNINDENT .UNINDENT +.sp +Variants allow selection of python version used to run salt, defaulting to python27, but also supporting python34, python35, and python36. To install salt with Python 3.6, use the python36 variant, for example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo port install salt @python36 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Startup items (for master, minion, and rest\-cherrypy API gateway, respectively) are installed by subport targets. These will register launchd LaunchDaemons as org.macports.salt\-minion, for example, to trigger automatic startup of the salt\-minion through launchd. LaunchDaemons for salt can be started and stopped without reboot using the macprots load and unload commands. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo port install salt\-master salt\-minion salt\-api +sudo port load salt\-master salt\-minion salt\-api +.ft P +.fi +.UNINDENT +.UNINDENT .SS Installation from Pip .sp When only using the macOS system\(aqs pip, install this way: @@ -1730,7 +1740,7 @@ T{ \fB/custom\-config=\fP T} T{ A string value specifying the name of a custom config -file in the same path as the installer of the full +file in the same path as the installer or the full path to a custom config file. If \fB/master\fP and/or \fB/minion\-name\fP is passed, those values will be used to update the new custom config. @@ -2808,492 +2818,44 @@ Remote Execution and Configuration Management\&. .SS Additional Installation Guides .SS Salt Bootstrap .sp -The Salt Bootstrap script allows for a user to install the Salt Minion or -Master on a variety of system distributions and versions. This shell script -known as \fBbootstrap\-salt.sh\fP runs through a series of checks to determine -the operating system type and version. It then installs the Salt binaries -using the appropriate methods. The Salt Bootstrap script installs the -minimum number of packages required to run Salt. This means that in the event -you run the bootstrap to install via package, Git will not be installed. -Installing the minimum number of packages helps ensure the script stays as -lightweight as possible, assuming the user will install any other required -packages after the Salt binaries are present on the system. The script source -is available on GitHub: \fI\%https://github.com/saltstack/salt\-bootstrap\fP -.SS Supported Operating Systems +The Salt Bootstrap Script allows a user to install the Salt Minion or Master +on a variety of system distributions and versions. .sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -In the event you do not see your distribution or version available please -review the develop branch on GitHub as it may contain updates that are -not present in the stable release: -\fI\%https://github.com/saltstack/salt\-bootstrap/tree/develop\fP -.UNINDENT -.UNINDENT -.SS Debian and derivatives +The Salt Bootstrap Script is a shell script is known as \fBbootstrap\-salt.sh\fP\&. +It runs through a series of checks to determine the operating system type and +version. It then installs the Salt binaries using the appropriate methods. +.sp +The Salt Bootstrap Script installs the minimum number of packages required to +run Salt. This means that in the event you run the bootstrap to install via +package, Git will not be installed. Installing the minimum number of packages +helps ensure the script stays as lightweight as possible, assuming the user +will install any other required packages after the Salt binaries are present +on the system. +.sp +The Salt Bootstrap Script is maintained in a separate repo from Salt, complete +with its own issues, pull requests, contributing guidelines, release protocol, +etc. +.sp +To learn more, please see the Salt Bootstrap repo links: .INDENT 0.0 .IP \(bu 2 -Debian GNU/Linux 7/8 +\fI\%Salt Bootstrap repo\fP .IP \(bu 2 -Linux Mint Debian Edition 1 (based on Debian 8) +\fI\%README\fP: includes supported operating systems, example usage, and more. .IP \(bu 2 -Kali Linux 1.0 (based on Debian 7) -.UNINDENT -.SS Red Hat family -.INDENT 0.0 +\fI\%Contributing Guidelines\fP .IP \(bu 2 -Amazon Linux 2012.09/2013.03/2013.09/2014.03/2014.09 -.IP \(bu 2 -CentOS 5/6/7 -.IP \(bu 2 -Fedora 17/18/20/21/22 -.IP \(bu 2 -Oracle Linux 5/6/7 -.IP \(bu 2 -Red Hat Enterprise Linux 5/6/7 -.IP \(bu 2 -Scientific Linux 5/6/7 -.UNINDENT -.SS SUSE family -.INDENT 0.0 -.IP \(bu 2 -openSUSE 12/13 -.IP \(bu 2 -openSUSE Leap 42 -.IP \(bu 2 -openSUSE Tumbleweed 2015 -.IP \(bu 2 -SUSE Linux Enterprise Server 11 SP1/11 SP2/11 SP3/12 -.UNINDENT -.SS Ubuntu and derivatives -.INDENT 0.0 -.IP \(bu 2 -Elementary OS 0.2 (based on Ubuntu 12.04) -.IP \(bu 2 -Linaro 12.04 -.IP \(bu 2 -Linux Mint 13/14/16/17 -.IP \(bu 2 -Trisquel GNU/Linux 6 (based on Ubuntu 12.04) -.IP \(bu 2 -Ubuntu 10.x/11.x/12.x/13.x/14.x/15.x/16.x -.UNINDENT -.SS Other Linux distro -.INDENT 0.0 -.IP \(bu 2 -Arch Linux -.IP \(bu 2 -Gentoo -.UNINDENT -.SS UNIX systems -.sp -\fBBSD\fP: -.INDENT 0.0 -.IP \(bu 2 -OpenBSD -.IP \(bu 2 -FreeBSD 9/10/11 -.UNINDENT -.sp -\fBSunOS\fP: -.INDENT 0.0 -.IP \(bu 2 -SmartOS -.UNINDENT -.SS Example Usage -.sp -If you\(aqre looking for the \fIone\-liner\fP to install Salt, please scroll to the -bottom and use the instructions for \fI\%Installing via an Insecure One\-Liner\fP -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -In every two\-step example, you would be well\-served to examine the downloaded file and examine -it to ensure that it does what you expect. -.UNINDENT -.UNINDENT -.sp -The Salt Bootstrap script has a wide variety of options that can be passed as -well as several ways of obtaining the bootstrap script itself. -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -These examples below show how to bootstrap Salt directly from GitHub or other Git repository. -Run the script without any parameters to get latest stable Salt packages for your system from -\fI\%SaltStack corporate repository\fP\&. See first example in the \fI\%Install using wget\fP section. -.UNINDENT -.UNINDENT -.SS Install using curl -.sp -Using \fBcurl\fP to install latest development version from GitHub: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -curl \-o bootstrap\-salt.sh \-L https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh git develop -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -If you want to install a specific release version (based on the Git tags): -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -curl \-o bootstrap\-salt.sh \-L https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh git v2015.8.8 -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -To install a specific branch from a Git fork: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -curl \-o bootstrap\-salt.sh \-L https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh \-g https://github.com/myuser/salt.git git mybranch -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -If all you want is to install a \fBsalt\-master\fP using latest Git: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -curl \-o bootstrap\-salt.sh \-L https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh \-M \-N git develop -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -If your host has Internet access only via HTTP proxy: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -PROXY=\(aqhttp://user:password@myproxy.example.com:3128\(aq -curl \-o bootstrap\-salt.sh \-L \-x "$PROXY" https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh \-G \-H "$PROXY" git -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Install using wget -.sp -Using \fBwget\fP to install your distribution\(aqs stable packages: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -wget \-O bootstrap\-salt.sh https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Downloading the script from develop branch: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -wget \-O bootstrap\-salt.sh https://bootstrap.saltstack.com/develop -sudo sh bootstrap\-salt.sh -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Installing a specific version from git using \fBwget\fP: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -wget \-O bootstrap\-salt.sh https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh \-P git v2015.8.8 -.ft P -.fi -.UNINDENT +\fI\%Release Process\fP .UNINDENT .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -On the above example we added \fI\-P\fP which will allow PIP packages to be installed if required but -it\(aqs not a necessary flag for Git based bootstraps. -.UNINDENT -.UNINDENT -.SS Install using Python -.sp -If you already have Python installed, \fBpython 2.6\fP, then it\(aqs as easy as: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -python \-m urllib "https://bootstrap.saltstack.com" > bootstrap\-salt.sh -sudo sh bootstrap\-salt.sh git develop -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -All Python versions should support the following in\-line code: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -python \-c \(aqimport urllib; print urllib.urlopen("https://bootstrap.saltstack.com").read()\(aq > bootstrap\-salt.sh -sudo sh bootstrap\-salt.sh git develop -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Install using fetch -.sp -On a FreeBSD base system you usually don\(aqt have either of the above binaries available. You \fBdo\fP -have \fBfetch\fP available though: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -fetch \-o bootstrap\-salt.sh https://bootstrap.saltstack.com -sudo sh bootstrap\-salt.sh -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -If you have any SSL issues install \fBca_root_nssp\fP: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -pkg install ca_root_nssp -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -And either copy the certificates to the place where fetch can find them: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -cp /usr/local/share/certs/ca\-root\-nss.crt /etc/ssl/cert.pem -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Or link them to the right place: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -ln \-s /usr/local/share/certs/ca\-root\-nss.crt /etc/ssl/cert.pem -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Installing via an Insecure One\-Liner -.sp -The following examples illustrate how to install Salt via a one\-liner. -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -Warning! These methods do not involve a verification step and assume that -the delivered file is trustworthy. -.UNINDENT -.UNINDENT -.sp -Any of the example above which use two\-lines can be made to run in a single\-line -configuration with minor modifications. -.sp -For example, using \fBcurl\fP to install your distribution\(aqs stable packages: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -curl \-L https://bootstrap.saltstack.com | sudo sh -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Using \fBwget\fP to install your distribution\(aqs stable packages: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -wget \-O \- https://bootstrap.saltstack.com | sudo sh -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Installing the latest develop branch of Salt: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -curl \-L https://bootstrap.saltstack.com | sudo sh \-s \-\- git develop -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Command Line Options -.sp -Here\(aqs a summary of the command line options: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -$ sh bootstrap\-salt.sh \-h - - Installation types: - \- stable Install latest stable release. This is the default - install type - \- stable [branch] Install latest version on a branch. Only supported - for packages available at repo.saltstack.com - \- stable [version] Install a specific version. Only supported for - packages available at repo.saltstack.com - \- daily Ubuntu specific: configure SaltStack Daily PPA - \- testing RHEL\-family specific: configure EPEL testing repo - \- git Install from the head of the develop branch - \- git [ref] Install from any git ref (such as a branch, tag, or - commit) - - Examples: - \- bootstrap\-salt.sh - \- bootstrap\-salt.sh stable - \- bootstrap\-salt.sh stable 2017.7 - \- bootstrap\-salt.sh stable 2017.7.2 - \- bootstrap\-salt.sh daily - \- bootstrap\-salt.sh testing - \- bootstrap\-salt.sh git - \- bootstrap\-salt.sh git 2017.7 - \- bootstrap\-salt.sh git v2017.7.2 - \- bootstrap\-salt.sh git 06f249901a2e2f1ed310d58ea3921a129f214358 - - Options: - \-h Display this message - \-v Display script version - \-n No colours - \-D Show debug output - \-c Temporary configuration directory - \-g Salt Git repository URL. Default: https://github.com/saltstack/salt.git - \-w Install packages from downstream package repository rather than - upstream, saltstack package repository. This is currently only - implemented for SUSE. - \-k Temporary directory holding the minion keys which will pre\-seed - the master. - \-s Sleep time used when waiting for daemons to start, restart and when - checking for the services running. Default: 3 - \-L Also install salt\-cloud and required python\-libcloud package - \-M Also install salt\-master - \-S Also install salt\-syndic - \-N Do not install salt\-minion - \-X Do not start daemons after installation - \-d Disables checking if Salt services are enabled to start on system boot. - You can also do this by touching /tmp/disable_salt_checks on the target - host. Default: ${BS_FALSE} - \-P Allow pip based installations. On some distributions the required salt - packages or its dependencies are not available as a package for that - distribution. Using this flag allows the script to use pip as a last - resort method. NOTE: This only works for functions which actually - implement pip based installations. - \-U If set, fully upgrade the system prior to bootstrapping Salt - \-I If set, allow insecure connections while downloading any files. For - example, pass \(aq\-\-no\-check\-certificate\(aq to \(aqwget\(aq or \(aq\-\-insecure\(aq to - \(aqcurl\(aq. On Debian and Ubuntu, using this option with \-U allows one to obtain - GnuPG archive keys insecurely if distro has changed release signatures. - \-F Allow copied files to overwrite existing (config, init.d, etc) - \-K If set, keep the temporary files in the temporary directories specified - with \-c and \-k - \-C Only run the configuration function. Implies \-F (forced overwrite). - To overwrite Master or Syndic configs, \-M or \-S, respectively, must - also be specified. Salt installation will be omitted, but some of the - dependencies could be installed to write configuration with \-j or \-J. - \-A Pass the salt\-master DNS name or IP. This will be stored under - ${BS_SALT_ETC_DIR}/minion.d/99\-master\-address.conf - \-i Pass the salt\-minion id. This will be stored under - ${BS_SALT_ETC_DIR}/minion_id - \-p Extra\-package to install while installing Salt dependencies. One package - per \-p flag. You\(aqre responsible for providing the proper package name. - \-H Use the specified HTTP proxy for all download URLs (including https://). - For example: http://myproxy.example.com:3128 - \-Z Enable additional package repository for newer ZeroMQ - (only available for RHEL/CentOS/Fedora/Ubuntu based distributions) - \-b Assume that dependencies are already installed and software sources are - set up. If git is selected, git tree is still checked out as dependency - step. - \-f Force shallow cloning for git installations. - This may result in an "n/a" in the version number. - \-l Disable ssl checks. When passed, switches "https" calls to "http" where - possible. - \-V Install Salt into virtualenv - (only available for Ubuntu based distributions) - \-a Pip install all Python pkg dependencies for Salt. Requires \-V to install - all pip pkgs into the virtualenv. - (Only available for Ubuntu based distributions) - \-r Disable all repository configuration performed by this script. This - option assumes all necessary repository configuration is already present - on the system. - \-R Specify a custom repository URL. Assumes the custom repository URL - points to a repository that mirrors Salt packages located at - repo.saltstack.com. The option passed with \-R replaces the - "repo.saltstack.com". If \-R is passed, \-r is also set. Currently only - works on CentOS/RHEL and Debian based distributions. - \-J Replace the Master config file with data passed in as a JSON string. If - a Master config file is found, a reasonable effort will be made to save - the file with a ".bak" extension. If used in conjunction with \-C or \-F, - no ".bak" file will be created as either of those options will force - a complete overwrite of the file. - \-j Replace the Minion config file with data passed in as a JSON string. If - a Minion config file is found, a reasonable effort will be made to save - the file with a ".bak" extension. If used in conjunction with \-C or \-F, - no ".bak" file will be created as either of those options will force - a complete overwrite of the file. - \-q Quiet salt installation from git (setup.py install \-q) - \-x Changes the python version used to install a git version of salt. Currently - this is considered experimental and has only been tested on Centos 6. This - only works for git installations. - \-y Installs a different python version on host. Currently this has only been - tested with Centos 6 and is considered experimental. This will install the - ius repo on the box if disable repo is false. This must be used in conjunction - with \-x . For example: - sh bootstrap.sh \-P \-y \-x python2.7 git v2016.11.3 - The above will install python27 and install the git version of salt using the - python2.7 executable. This only works for git and pip installations. -.ft P -.fi +The Salt Bootstrap script can be found in the Salt repo under the +\fBsalt/cloud/deploy/bootstrap\-salt.sh\fP path. Any changes to this file +will be overwritten! Bug fixes and feature additions must be submitted +via the \fI\%Salt Bootstrap repo\fP\&. Please see the Salt Bootstrap Script\(aqs +\fI\%Release Process\fP for more information. .UNINDENT .UNINDENT .SS Opening the Firewall up for Salt @@ -3503,15 +3065,14 @@ common locations, but your mileage may vary. .sp Follow these instructions: \fI\%https://wiki.debian.org/iptables\fP .sp -Once you\(aqve found your firewall rules, you\(aqll need to add the two lines below +Once you\(aqve found your firewall rules, you\(aqll need to add the below line to allow traffic on \fBtcp/4505\fP and \fBtcp/4506\fP: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -\-A INPUT \-m state \-\-state new \-m tcp \-p tcp \-\-dport 4505 \-j ACCEPT -\-A INPUT \-m state \-\-state new \-m tcp \-p tcp \-\-dport 4506 \-j ACCEPT +\-A INPUT \-m state \-\-state new \-m tcp \-p tcp \-\-dport 4505:4506 \-j ACCEPT .ft P .fi .UNINDENT @@ -3533,21 +3094,20 @@ ufw allow salt .SS pf.conf .sp The BSD\-family of operating systems uses \fI\%packet filter (pf)\fP\&. The following -example describes the additions to \fBpf.conf\fP needed to access the Salt +example describes the addition to \fBpf.conf\fP needed to access the Salt master. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -pass in on $int_if proto tcp from any to $int_if port 4505 -pass in on $int_if proto tcp from any to $int_if port 4506 +pass in on $int_if proto tcp from any to $int_if port 4505:4506 .ft P .fi .UNINDENT .UNINDENT .sp -Once these additions have been made to the \fBpf.conf\fP the rules will need to +Once this addition has been made to the \fBpf.conf\fP the rules will need to be reloaded. This can be done using the \fBpfctl\fP command. .INDENT 0.0 .INDENT 3.5 @@ -3576,12 +3136,12 @@ be set on the Master: .nf .ft C # Allow Minions from these networks -\-I INPUT \-s 10.1.2.0/24 \-p tcp \-m multiport \-\-dports 4505,4506 \-j ACCEPT -\-I INPUT \-s 10.1.3.0/24 \-p tcp \-m multiport \-\-dports 4505,4506 \-j ACCEPT +\-I INPUT \-s 10.1.2.0/24 \-p tcp \-\-dports 4505:4506 \-j ACCEPT +\-I INPUT \-s 10.1.3.0/24 \-p tcp \-\-dports 4505:4506 \-j ACCEPT # Allow Salt to communicate with Master on the loopback interface -\-A INPUT \-i lo \-p tcp \-m multiport \-\-dports 4505,4506 \-j ACCEPT +\-A INPUT \-i lo \-p tcp \-\-dports 4505:4506 \-j ACCEPT # Reject everything else -\-A INPUT \-p tcp \-m multiport \-\-dports 4505,4506 \-j REJECT +\-A INPUT \-p tcp \-\-dports 4505:4506 \-j REJECT .ft P .fi .UNINDENT @@ -4408,7 +3968,7 @@ INSTALL_DIR = *location of source code* CONFIG_DIR = ROOT_DIR + \(aq/etc/salt\(aq CACHE_DIR = ROOT_DIR + \(aq/var/cache/salt\(aq SOCK_DIR = ROOT_DIR + \(aq/var/run/salt\(aq -SRV_ROOT_DIR = ROOT_DIR + \(aq/srv\(aq +SRV_ROOT_DIR= ROOT_DIR + \(aq/srv\(aq BASE_FILE_ROOTS_DIR = ROOT_DIR + \(aq/srv/salt\(aq BASE_PILLAR_ROOTS_DIR = ROOT_DIR + \(aq/srv/pillar\(aq BASE_MASTER_ROOTS_DIR = ROOT_DIR + \(aq/srv/salt\-master\(aq @@ -4897,10 +4457,9 @@ Example master configuration file\&. .UNINDENT .UNINDENT .sp -The configuration file for the salt\-master is located at -\fB/etc/salt/master\fP by default. A notable exception is FreeBSD, where the -configuration file is located at \fB/usr/local/etc/salt\fP\&. The available -options are as follows: +The configuration file for the salt\-master is located at \fB/etc/salt/master\fP +by default. A notable exception is FreeBSD, where the configuration file is +located at \fB/usr/local/etc/salt\fP\&. The available options are as follows: .SS Primary Master Configuration .SS \fBinterface\fP .sp @@ -5421,11 +4980,21 @@ sock_dir: /var/run/salt/master .UNINDENT .SS \fBenable_gpu_grains\fP .sp -Default: \fBTrue\fP +Default: \fBFalse\fP .sp Enable GPU hardware data for your master. Be aware that the master can take a while to start up when lspci and/or dmidecode is used to populate the grains for the master. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +enable_gpu_grains: True +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBjob_cache\fP .sp Default: \fBTrue\fP @@ -5731,6 +5300,25 @@ master_job_cache: redis .fi .UNINDENT .UNINDENT +.SS \fBjob_cache_store_endtime\fP +.sp +New in version 2015.8.0. + +.sp +Default: \fBFalse\fP +.sp +Specify whether the Salt Master should store end times for jobs as returns +come in. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +job_cache_store_endtime: False +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBenforce_mine_cache\fP .sp Default: False @@ -5794,8 +5382,7 @@ Causes the master to periodically look for actively connected minions. Presence events are fired on the event bus on a regular interval with a list of connected minions, as well as events with lists of newly connected or disconnected minions. This is a master\-only operation -that does not send executions to minions. Note, this does not detect minions -that connect to a master via localhost. +that does not send executions to minions. .INDENT 0.0 .INDENT 3.5 .sp @@ -6033,6 +5620,46 @@ minion_data_cache_events: True .fi .UNINDENT .UNINDENT +.SS \fBhttp_connect_timeout\fP +.sp +New in version Fluorine. + +.sp +Default: \fB20\fP +.sp +HTTP connection timeout in seconds. +Applied when fetching files using tornado back\-end. +Should be greater than overall download time. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +http_connect_timeout: 20 +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBhttp_request_timeout\fP +.sp +New in version 2015.8.0. + +.sp +Default: \fB3600\fP +.sp +HTTP request timeout in seconds. +Applied when fetching files using tornado back\-end. +Should be greater than overall download time. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +http_request_timeout: 3600 +.ft P +.fi +.UNINDENT +.UNINDENT .SS Salt\-SSH Configuration .SS \fBroster\fP .sp @@ -6122,6 +5749,21 @@ ssh_passwd: \(aq\(aq .fi .UNINDENT .UNINDENT +.SS \fBssh_priv_passwd\fP +.sp +Default: \fB\(aq\(aq\fP +.sp +Passphrase for ssh private key file. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ssh_priv_passwd: \(aq\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBssh_port\fP .sp Default: \fB22\fP @@ -6942,52 +6584,6 @@ zmq_backlog: 1000 .fi .UNINDENT .UNINDENT -.SS \fBsalt_event_pub_hwm\fP and \fBevent_publisher_pub_hwm\fP -.sp -These two ZeroMQ High Water Mark settings, \fBsalt_event_pub_hwm\fP and -\fBevent_publisher_pub_hwm\fP are significant for masters with thousands of -minions. When these are insufficiently high it will manifest in random -responses missing in the CLI and even missing from the job cache. Masters -that have fast CPUs and many cores with appropriate \fBworker_threads\fP -will not need these set as high. -.sp -The ZeroMQ high\-water\-mark for the \fBSaltEvent\fP pub socket default is: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt_event_pub_hwm: 20000 -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -The ZeroMQ high\-water\-mark for the \fBEventPublisher\fP pub socket default is: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -event_publisher_pub_hwm: 10000 -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -As an example, on single master deployment with 8,000 minions, 2.4GHz CPUs, -24 cores, and 32GiB memory has these settings: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt_event_pub_hwm: 128000 -event_publisher_pub_hwm: 64000 -.ft P -.fi -.UNINDENT -.UNINDENT .SS Master Module Management .SS \fBrunner_dirs\fP .sp @@ -7184,7 +6780,7 @@ master_tops: .UNINDENT .SS \fBrenderer\fP .sp -Default: \fByaml_jinja\fP +Default: \fBjinja|yaml\fP .sp The renderer to use on the minions to render the state data. .INDENT 0.0 @@ -7192,7 +6788,7 @@ The renderer to use on the minions to render the state data. .sp .nf .ft C -renderer: yaml_jinja +renderer: jinja|json .ft P .fi .UNINDENT @@ -7626,6 +7222,13 @@ fileserver_ignoresymlinks: False .sp New in version 2014.1.0. +.sp +Deprecated since version 2018.3.4: This option is now ignored. Firstly, it only traversed +\fI\%file_roots\fP, which means it did not work for the other +fileserver backends. Secondly, since this option was added we have added +caching to the code that traverses the file_roots (and gitfs, etc.), which +greatly reduces the amount of traversal that is done. + .sp Default: \fBFalse\fP .sp @@ -7669,7 +7272,8 @@ on a large number of minions. .INDENT 0.0 .INDENT 3.5 Rather than altering this configuration parameter, it may be advisable to -use the \fBfileserver.clear_file_list_cache\fP runner to clear these caches. +use the \fBfileserver.clear_file_list_cache\fP runner to clear these +caches. .UNINDENT .UNINDENT .INDENT 0.0 @@ -10039,6 +9643,15 @@ A: .sp Guesses the best strategy based on the "renderer" setting. .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +In order for yamlex based features such as \fB!aggregate\fP to work as expected +across documents using the default \fBsmart\fP merge strategy, the \fI\%renderer\fP +config option must be set to \fBjinja|yamlex\fP or similar. +.UNINDENT +.UNINDENT .SS \fBpillar_merge_lists\fP .sp New in version 2015.8.0. @@ -10225,6 +9838,56 @@ reactor_worker_hwm: 10000 .fi .UNINDENT .UNINDENT +.SS Salt\-API Master Settings +.sp +There are some settings for salt\-api that can be +configured on the Salt Master. +.SS \fBapi_logfile\fP +.sp +Default: \fB/var/log/salt/api\fP +.sp +The logfile location for \fBsalt\-api\fP\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +api_logfile: /var/log/salt/api +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBapi_pidfile\fP +.sp +Default: /var/run/salt\-api.pid +.sp +If this master will be running \fBsalt\-api\fP, specify the pidfile of the +\fBsalt\-api\fP daemon. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +api_pidfile: /var/run/salt\-api.pid +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBrest_timeout\fP +.sp +Default: \fB300\fP +.sp +Used by \fBsalt\-api\fP for the master requests timeout. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +rest_timeout: 300 +.ft P +.fi +.UNINDENT +.UNINDENT .SS Syndic Server Settings .sp A Salt syndic is a Salt master used to pass commands from a higher Salt master @@ -10641,6 +10304,7 @@ Default: \fB{}\fP This can be used to control logging levels more specifically. See also \fBlog_granular_levels\fP\&. .SS Node Groups +.SS \fBnodegroups\fP .sp Default: \fB{}\fP .sp @@ -11623,6 +11287,31 @@ max_event_size: 1048576 .fi .UNINDENT .UNINDENT +.SS \fBenable_legacy_startup_events\fP +.sp +New in version Fluorine. + +.sp +Default: \fBTrue\fP +.sp +When a minion starts up it sends a notification on the event bus with a tag +that looks like this: \fBsalt/minion//start\fP\&. For historical reasons +the minion also sends a similar event with an event tag like this: +\fBminion_start\fP\&. This duplication can cause a lot of clutter on the event bus +when there are many minions. Set \fBenable_legacy_startup_events: False\fP in the +minion config to ensure only the \fBsalt/minion//start\fP events are +sent. Beginning with the \fBSodium\fP Salt release this option will default to +\fBFalse\fP\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +enable_legacy_startup_events: True +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBmaster_failback\fP .sp New in version 2016.3.0. @@ -11685,12 +11374,19 @@ master_alive_interval: 30 .sp New in version 2014.7.0. +.sp +Deprecated since version Fluorine. + .sp Default: \fBFalse\fP .sp -If \fI\%master\fP is a list of addresses and :conf_minion\(gamaster_type\(ga -is \fBfailover\fP, shuffle them before trying to connect to distribute the -minions over all available masters. This uses Python\(aqs \fBrandom.shuffle\fP method. +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +This option has been deprecated in Salt \fBFluorine\fP\&. Please use +\fI\%random_master\fP instead. +.UNINDENT +.UNINDENT .INDENT 0.0 .INDENT 3.5 .sp @@ -11702,12 +11398,29 @@ master_shuffle: True .UNINDENT .UNINDENT .SS \fBrandom_master\fP +.sp +New in version 2014.7.0. + +.sp +Changed in version Fluorine: The \fI\%master_failback\fP option can be used in conjunction with +\fBrandom_master\fP to force the minion to fail back to the first master in the +list if the first master is back online. Note that \fI\%master_type\fP +must be set to \fBfailover\fP in order for the \fBmaster_failback\fP setting to +work. + .sp Default: \fBFalse\fP .sp -If \fI\%master\fP is a list of addresses, and :conf_minion\(gamaster_type\(ga -is set to \fBfailover\fP shuffle them before trying to connect to distribute the -minions over all available masters. This uses Python\(aqs \fBrandom.shuffle\fP method. +If \fI\%master\fP is a list of addresses, shuffle them before trying to +connect to distribute the minions over all available masters. This uses Python\(aqs +\fBrandom.shuffle\fP method. +.sp +If multiple masters are specified in the \(aqmaster\(aq setting as a list, the default +behavior is to always try to connect to them in the order they are listed. If +\fBrandom_master\fP is set to True, the order will be randomized instead upon Minion +startup. This can be helpful in distributing the load of many minions executing +\fBsalt\-call\fP requests, for example, from a cron job. If only one master is listed, +this setting is ignored and a warning is logged. .INDENT 0.0 .INDENT 3.5 .sp @@ -11718,6 +11431,16 @@ random_master: True .fi .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +When the \fBfailover\fP, \fBmaster_failback\fP, and \fBrandom_master\fP options are +used together, only the "secondary masters" will be shuffled. The first master +in the list is ignored in the \fBrandom.shuffle\fP +call. See \fI\%master_failback\fP for more information. +.UNINDENT +.UNINDENT .SS \fBretry_dns\fP .sp Default: \fB30\fP @@ -11735,6 +11458,26 @@ retry_dns: 30 .fi .UNINDENT .UNINDENT +.SS \fBretry_dns_count\fP +.sp +New in version 2018.3.4. + +.sp +Default: \fBNone\fP +.sp +Set the number of attempts to perform when resolving +the master hostname if name resolution fails. +By default the minion will retry indefinitely. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +retry_dns_count: 3 +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBmaster_port\fP .sp Default: \fB4506\fP @@ -12459,6 +12202,24 @@ sock_dir: /var/run/salt/minion .fi .UNINDENT .UNINDENT +.SS \fBenable_gpu_grains\fP +.sp +Default: \fBTrue\fP +.sp +Enable GPU hardware data for your master. Be aware that the minion can +take a while to start up when lspci and/or dmidecode is used to populate the +grains for the minion, so this can be set to \fBFalse\fP if you do not need these +grains. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +enable_gpu_grains: False +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBoutputter_dirs\fP .sp Default: \fB[]\fP @@ -12924,17 +12685,42 @@ syndic_finger: \(aqab:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:50:10\(aq .fi .UNINDENT .UNINDENT -.SS \fBno_proxy\fP +.SS \fBhttp_connect_timeout\fP .sp -Default: \fB\(aq\(aq\fP +New in version Fluorine. + .sp -List of hostnames to bypass proxy. +Default: \fB20\fP +.sp +HTTP connection timeout in seconds. +Applied when fetching files using tornado back\-end. +Should be greater than overall download time. .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -no_proxy: [ '127.0.0.1', 'foo.tld' ] +http_connect_timeout: 20 +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBhttp_request_timeout\fP +.sp +New in version 2015.8.0. + +.sp +Default: \fB3600\fP +.sp +HTTP request timeout in seconds. +Applied when fetching files using tornado back\-end. +Should be greater than overall download time. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +http_request_timeout: 3600 .ft P .fi .UNINDENT @@ -12999,6 +12785,32 @@ proxy_password: obolus .fi .UNINDENT .UNINDENT +.SS \fBno_proxy\fP +.sp +New in version Fluorine. + +.sp +Default: \fB[]\fP +.sp +List of hosts to bypass HTTP proxy +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This key does nothing unless proxy_host etc is configured, it does not +support any kind of wildcards. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +no_proxy: [ \(aq127.0.0.1\(aq, \(aqfoo.tld\(aq ] +.ft P +.fi +.UNINDENT +.UNINDENT .SS Docker Configuration .SS \fBdocker.update_mine\fP .sp @@ -13604,7 +13416,7 @@ top_file: \(aq\(aq .SS State Management Settings .SS \fBrenderer\fP .sp -Default: \fByaml_jinja\fP +Default: \fBjinja|yaml\fP .sp The default renderer used for local state executions .INDENT 0.0 @@ -13612,7 +13424,7 @@ The default renderer used for local state executions .sp .nf .ft C -renderer: yaml_jinja +renderer: jinja|json .ft P .fi .UNINDENT @@ -14655,7 +14467,7 @@ log_level: warning .UNINDENT .SS \fBlog_level_logfile\fP .sp -Default: \fBinfo\fP +Default: \fBwarning\fP .sp The level of messages to send to the log file. See also \fBlog_level_logfile\fP\&. When it is not set explicitly @@ -14989,7 +14801,7 @@ update_restart_services: [\(aqsalt\-minion\(aq] New in version 2016.11.0. .sp -Default: \fB0\fP +Default: \fB1800\fP .sp If set to a nonzero integer, then passing \fBrefresh=True\fP to functions in the \fBwindows pkg module\fP will not refresh the windows @@ -15604,6 +15416,14 @@ and \fBmine_functions\fP\&. # master event bus. The value is expressed in bytes. #max_event_size: 1048576 +# Windows platforms lack posix IPC and must rely on slower TCP based inter\- +# process communications. Set ipc_mode to \(aqtcp\(aq on such systems +#ipc_mode: ipc + +# Overwrite the default tcp ports used by the minion when ipc_mode is set to \(aqtcp\(aq +#tcp_master_pub_port: 4510 +#tcp_master_pull_port: 4511 + # By default, the master AES key rotates every 24 hours. The next command # following a key rotation will trigger a key refresh from the minion which may # result in minions which do not respond to the first command after a key refresh. @@ -15689,24 +15509,6 @@ and \fBmine_functions\fP\&. # The publisher interface ZeroMQPubServerChannel #pub_hwm: 1000 -# These two ZMQ HWM settings, salt_event_pub_hwm and event_publisher_pub_hwm -# are significant for masters with thousands of minions. When these are -# insufficiently high it will manifest in random responses missing in the CLI -# and even missing from the job cache. Masters that have fast CPUs and many -# cores with appropriate worker_threads will not need these set as high. - -# On deployment with 8,000 minions, 2.4GHz CPUs, 24 cores, 32GiB memory has -# these settings: -# -# salt_event_pub_hwm: 128000 -# event_publisher_pub_hwm: 64000 - -# ZMQ high\-water\-mark for SaltEvent pub socket -#salt_event_pub_hwm: 20000 - -# ZMQ high\-water\-mark for EventPublisher pub socket -#event_publisher_pub_hwm: 10000 - # The master may allocate memory per\-event and not # reclaim it. # To set a high\-water mark for memory allocation, use @@ -16003,7 +15805,7 @@ and \fBmine_functions\fP\&. #master_tops: {} # The renderer to use on the minions to render the state data -#renderer: yaml_jinja +#renderer: jinja|yaml # Default Jinja environment options for all templates except sls templates #jinja_env: @@ -16013,8 +15815,8 @@ and \fBmine_functions\fP\&. # variable_end_string: \(aq}}\(aq # comment_start_string: \(aq{#\(aq # comment_end_string: \(aq#}\(aq -# line_statement_prefix: -# line_comment_prefix: +# line_statement_prefix: +# line_comment_prefix: # trim_blocks: False # lstrip_blocks: False # newline_sequence: \(aq\en\(aq @@ -16028,8 +15830,8 @@ and \fBmine_functions\fP\&. # variable_end_string: \(aq}}\(aq # comment_start_string: \(aq{#\(aq # comment_end_string: \(aq#}\(aq -# line_statement_prefix: -# line_comment_prefix: +# line_statement_prefix: +# line_comment_prefix: # trim_blocks: False # lstrip_blocks: False # newline_sequence: \(aq\en\(aq @@ -16583,7 +16385,7 @@ and \fBmine_functions\fP\&. #log_level: warning # The level of messages to send to the log file. -# One of \(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq, info\(aq, \(aqwarning\(aq, \(aqerror\(aq, \(aqcritical\(aq. +# One of \(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq, \(aqinfo\(aq, \(aqwarning\(aq, \(aqerror\(aq, \(aqcritical\(aq. # If using \(aqlog_granular_levels\(aq this must be set to the highest desired level. #log_level_logfile: warning @@ -16762,15 +16564,19 @@ and \fBmine_functions\fP\&. #proxy_username: #proxy_password: +# List of hosts to bypass HTTP proxy. This key does nothing unless proxy_host etc is +# configured, it does not support any kind of wildcards. +#no_proxy: [] + # If multiple masters are specified in the \(aqmaster\(aq setting, the default behavior -# is to always try to connect to them in the order they are listed. If random_master is -# set to True, the order will be randomized instead. This can be helpful in distributing -# the load of many minions executing salt\-call requests, for example, from a cron job. -# If only one master is listed, this setting is ignored and a warning will be logged. -# NOTE: If master_type is set to failover, use master_shuffle instead. +# is to always try to connect to them in the order they are listed. If random_master +# is set to True, the order will be randomized upon Minion startup instead. This can +# be helpful in distributing the load of many minions executing salt\-call requests, +# for example, from a cron job. If only one master is listed, this setting is ignored +# and a warning will be logged. #random_master: False -# Use if master_type is set to failover. +# NOTE: Deprecated in Salt Fluorine. Use \(aqrandom_master\(aq instead. #master_shuffle: False # Minions can connect to multiple masters simultaneously (all masters @@ -16807,6 +16613,11 @@ and \fBmine_functions\fP\&. # Set to zero if the minion should shutdown and not retry. # retry_dns: 30 +# Set the number of times to attempt to resolve +# the master hostname if name resolution fails. Defaults to None, +# which will attempt the resolution indefinitely. +# retry_dns_count: 3 + # Set the port used by the master reply and authentication server. #master_port: 4506 @@ -16889,6 +16700,11 @@ and \fBmine_functions\fP\&. # Set the directory used to hold unix sockets. #sock_dir: /var/run/salt/minion +# The minion can take a while to start up when lspci and/or dmidecode is used +# to populate the grains for the minion. Set this to False if you do not need +# GPU hardware grains for your minion. +# enable_gpu_grains: True + # Set the default outputter used by the salt\-call command. The default is # "nested". #output: nested @@ -17121,7 +16937,7 @@ and \fBmine_functions\fP\&. # process communications. Set ipc_mode to \(aqtcp\(aq on such systems #ipc_mode: ipc -# Overwrite the default tcp ports used by the minion when in tcp mode +# Overwrite the default tcp ports used by the minion when ipc_mode is set to \(aqtcp\(aq #tcp_pub_port: 4510 #tcp_pull_port: 4511 @@ -17130,6 +16946,16 @@ and \fBmine_functions\fP\&. # minion event bus. The value is expressed in bytes. #max_event_size: 1048576 +# When a minion starts up it sends a notification on the event bus with a tag +# that looks like this: \(gasalt/minion//start\(ga. For historical reasons +# the minion also sends a similar event with an event tag like this: +# \(gaminion_start\(ga. This duplication can cause a lot of clutter on the event bus +# when there are many minions. Set \(gaenable_legacy_startup_events: False\(ga in the +# minion config to ensure only the \(gasalt/minion//start\(ga events are +# sent. Beginning with the \(gaSodium\(ga Salt release this option will default to +# \(gaFalse\(ga +#enable_legacy_startup_events: True + # To detect failed master(s) and fire events on connect/disconnect, set # master_alive_interval to the number of seconds to poll the masters for # connection events. @@ -17204,19 +17030,18 @@ and \fBmine_functions\fP\&. ##### State Management Settings ##### ########################################### -# The state management system executes all of the state templates on the minion -# to enable more granular control of system state management. The type of -# template and serialization used for state management needs to be configured -# on the minion, the default renderer is yaml_jinja. This is a yaml file -# rendered from a jinja template, the available options are: -# yaml_jinja -# yaml_mako -# yaml_wempy -# json_jinja -# json_mako -# json_wempy +# The default renderer to use in SLS files. This is configured as a +# pipe\-delimited expression. For example, jinja|yaml will first run jinja +# templating on the SLS file, and then load the result as YAML. This syntax is +# documented in further depth at the following URL: # -#renderer: yaml_jinja +# https://docs.saltstack.com/en/latest/ref/renderers/#composing\-renderers +# +# NOTE: The "shebang" prefix (e.g. "#!jinja|yaml") described in the +# documentation linked above is for use in an SLS file to override the default +# renderer, it should not be used when configuring the renderer here. +# +#renderer: jinja|yaml # # The failhard option tells the minions to stop immediately after the first # failure detected in the state execution. Defaults to False. @@ -17461,7 +17286,7 @@ and \fBmine_functions\fP\&. #key_logfile: /var/log/salt/key # The level of messages to send to the console. -# One of \(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq, info\(aq, \(aqwarning\(aq, \(aqerror\(aq, \(aqcritical\(aq. +# One of \(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq, \(aqinfo\(aq, \(aqwarning\(aq, \(aqerror\(aq, \(aqcritical\(aq. # # The following log levels are considered INSECURE and may log sensitive data: # [\(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq] @@ -17986,19 +17811,18 @@ and \fBmine_functions\fP\&. ##### State Management Settings ##### ########################################### -# The state management system executes all of the state templates on the minion -# to enable more granular control of system state management. The type of -# template and serialization used for state management needs to be configured -# on the minion, the default renderer is yaml_jinja. This is a yaml file -# rendered from a jinja template, the available options are: -# yaml_jinja -# yaml_mako -# yaml_wempy -# json_jinja -# json_mako -# json_wempy +# The default renderer to use in SLS files. This is configured as a +# pipe\-delimited expression. For example, jinja|yaml will first run jinja +# templating on the SLS file, and then load the result as YAML. This syntax is +# documented in further depth at the following URL: # -#renderer: yaml_jinja +# https://docs.saltstack.com/en/latest/ref/renderers/#composing\-renderers +# +# NOTE: The "shebang" prefix (e.g. "#!jinja|yaml") described in the +# documentation linked above is for use in an SLS file to override the default +# renderer, it should not be used when configuring the renderer here. +# +#renderer: jinja|yaml # # The failhard option tells the minions to stop immediately after the first # failure detected in the state execution. Defaults to False. @@ -18173,7 +17997,7 @@ and \fBmine_functions\fP\&. #key_logfile: /var/log/salt/key # The level of messages to send to the console. -# One of \(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq, info\(aq, \(aqwarning\(aq, \(aqerror\(aq, \(aqcritical\(aq. +# One of \(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq, \(aqinfo\(aq, \(aqwarning\(aq, \(aqerror\(aq, \(aqcritical\(aq. # # The following log levels are considered INSECURE and may log sensitive data: # [\(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq] @@ -18773,6 +18597,9 @@ auth.ldap.port: 389 # Use TLS when connecting auth.ldap.tls: False +# Use STARTTLS when connecting +auth.ldap.starttls: False + # LDAP scope level, almost always 2 auth.ldap.scope: 2 @@ -19273,7 +19100,7 @@ Salt Minions maintain a \fIproc\fP directory in the Salt \fBcachedir\fP\&. The \ directory maintains files named after the executed job ID. These files contain the information about the current running jobs on the minion and allow for jobs to be looked up. This is located in the \fIproc\fP directory under the -cachedir, with a default configuration it is under \fB/var/cache/salt/proc\fP\&. +cachedir, with a default configuration it is under \fB/var/cache/salt/{master|minion}/proc\fP\&. .SS Functions in the saltutil Module .sp Salt 0.9.7 introduced a few new functions to the @@ -20192,7 +20019,7 @@ example, setting \fBlog_level: error\fP will log statements at \fBerror\fP, \fBquiet\fP level. .sp Most of the logging levels are defined by default in Python\(aqs logging library -and can be found in the official \fI\%Python documentation\fP\&. +and can be found in the official Python documentation\&. Salt uses some more levels in addition to the standard levels. All levels available in salt are shown in the table below. .sp @@ -20317,7 +20144,7 @@ format for remote addresses is: .UNINDENT .sp Where \fBlog\-facility\fP is the symbolic name of a syslog facility as defined in -the \fI\%SysLogHandler documentation\fP\&. It defaults to \fBLOG_USER\fP\&. +the \fBSysLogHandler documentation\fP\&. It defaults to \fBLOG_USER\fP\&. .sp Default: Dependent of the binary being executed, for example, for \fBsalt\-master\fP, \fB/var/log/salt/master\fP\&. @@ -20421,7 +20248,7 @@ log_level_logfile: warning Default: \fB%H:%M:%S\fP .sp The date and time format used in console log messages. Allowed date/time -formatting matches those used in \fI\%time.strftime()\fP\&. +formatting matches those used in \fBtime.strftime()\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -20437,7 +20264,7 @@ log_datefmt: \(aq%H:%M:%S\(aq Default: \fB%Y\-%m\-%d %H:%M:%S\fP .sp The date and time format used in log file messages. Allowed date/time -formatting matches those used in \fI\%time.strftime()\fP\&. +formatting matches those used in \fBtime.strftime()\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -20453,7 +20280,7 @@ log_datefmt_logfile: \(aq%Y\-%m\-%d %H:%M:%S\(aq Default: \fB[%(levelname)\-8s] %(message)s\fP .sp The format of the console logging messages. All standard python logging -\fI\%LogRecord\fP attributes can be used. Salt also provides these +\fBLogRecord\fP attributes can be used. Salt also provides these custom LogRecord attributes to colorize console log output: .INDENT 0.0 .INDENT 3.5 @@ -20493,7 +20320,7 @@ log_fmt_console: \(aq[%(levelname)\-8s] %(message)s\(aq Default: \fB%(asctime)s,%(msecs)03d [%(name)\-17s][%(levelname)\-8s] %(message)s\fP .sp The format of the log file logging messages. All standard python logging -\fI\%LogRecord\fP attributes can be used. Salt also provides +\fBLogRecord\fP attributes can be used. Salt also provides these custom LogRecord attributes that include padding and enclosing brackets \fB[\fP and \fB]\fP: .INDENT 0.0 @@ -20538,6 +20365,21 @@ log_granular_levels: .fi .UNINDENT .UNINDENT +.SS \fBlog_fmt_jid\fP +.sp +Default: \fB[JID: %(jid)s]\fP +.sp +The format of the JID when added to logging messages. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +log_fmt_jid: \(aq[JID: %(jid)s]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .SS External Logging Handlers .sp Besides the internal logging handlers used by salt, there are some external @@ -20887,7 +20729,7 @@ New in version 0.17.0. This module provides a \fI\%Sentry\fP logging handler. Sentry is an open source error tracking platform that provides deep context about exceptions that happen in production. Details about stack traces along with the context -variables available at the time of the exeption are easily browsable and +variables available at the time of the exception are easily browsable and filterable from the online interface. For more details please see \fI\%Sentry\fP\&. .INDENT 0.0 @@ -21101,68 +20943,6 @@ See the documentation for each backend for a more detailed explanation of how environments are mapped. .UNINDENT .UNINDENT -.SS Dynamic Module Distribution -.sp -New in version 0.9.5. - -.sp -Custom Salt execution, state, and other modules can be distributed to Salt -minions using the Salt file server. -.sp -Under the root of any environment defined via the \fBfile_roots\fP -option on the master server directories corresponding to the type of module can -be used. -.sp -The directories are prepended with an underscore: -.INDENT 0.0 -.IP \(bu 2 -\fB_beacons\fP -.IP \(bu 2 -\fB_clouds\fP -.IP \(bu 2 -\fB_engines\fP -.IP \(bu 2 -\fB_grains\fP -.IP \(bu 2 -\fB_modules\fP -.IP \(bu 2 -\fB_output\fP -.IP \(bu 2 -\fB_proxy\fP -.IP \(bu 2 -\fB_renderers\fP -.IP \(bu 2 -\fB_returners\fP -.IP \(bu 2 -\fB_states\fP -.IP \(bu 2 -\fB_tops\fP -.IP \(bu 2 -\fB_utils\fP -.UNINDENT -.sp -The contents of these directories need to be synced over to the minions after -Python modules have been created in them. There are a number of ways to sync -the modules. -.SS Sync Via States -.sp -The minion configuration contains an option \fBautoload_dynamic_modules\fP -which defaults to \fBTrue\fP\&. This option makes the state system refresh all -dynamic modules when states are run. To disable this behavior set -\fBautoload_dynamic_modules\fP to \fBFalse\fP in the minion config. -.sp -When dynamic modules are autoloaded via states, modules only pertinent to -the environments matched in the master\(aqs top file are downloaded. -.sp -This is important to remember, because modules can be manually loaded from -any specific environment that environment specific modules will be loaded -when a state run is executed. -.SS Sync Via the saltutil Module -.sp -The saltutil module has a number of functions that can be used to sync all -or specific dynamic modules. The saltutil module function \fBsaltutil.sync_all\fP -will sync all module types over to a minion. For more information see: -\fBsalt.modules.saltutil\fP .SS Requesting Files from Specific Environments .sp The Salt fileserver supports multiple environments, allowing for SLS files and @@ -23865,7 +23645,7 @@ You may also declare your own variables inside the \fBFORMULA\fP\&. If SPM doesn recognize them then it will ignore them, so there are no restrictions on variable names, outside of avoiding reserved words. .sp -By default the renderer is set to \fByaml_jinja\fP\&. You may change this by +By default the renderer is set to \fBjinja|yaml\fP\&. You may change this by changing the \fBrenderer\fP setting in the \fBFORMULA\fP itself. .SS Building a Package .sp @@ -25413,7 +25193,7 @@ returner. .B \fBprep_jid\fP Ensures that job ids (jid) don\(aqt collide, unless passed_jid is provided. .sp -\fBnochache\fP is an optional boolean that indicates if return data +\fBnocache\fP is an optional boolean that indicates if return data should be cached. \fBpassed_jid\fP is a caller provided jid which should be returned unconditionally. .UNINDENT @@ -26834,7 +26614,7 @@ configuration file: .ft C my_etcd_config: etcd.host: 127.0.0.1 - etcd.port: 4001 + etcd.port: 2379 .ft P .fi .UNINDENT @@ -26849,7 +26629,7 @@ or clusters are available. .nf .ft C etcd.host: 127.0.0.1 -etcd.port: 4001 +etcd.port: 2379 .ft P .fi .UNINDENT @@ -26925,7 +26705,12 @@ etcd.returner_write_profile: my_etcd_write .UNINDENT .INDENT 0.0 .TP -.B salt.returners.etcd_return.get_fun() +.B salt.returners.etcd_return.clean_old_jobs() +Included for API consistency +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.etcd_return.get_fun(fun) Return a dict of the last function called for all minions .UNINDENT .INDENT 0.0 @@ -27777,9 +27562,10 @@ Return data to a mongodb server .sp Required python modules: pymongo .sp -This returner will send data from the minions to a MongoDB server. To -configure the settings for your MongoDB server, add the following lines -to the minion config files: +This returner will send data from the minions to a MongoDB server. MongoDB +server can be configured by using host, port, db, user and password settings +or by connection string URI (for pymongo > 2.3). To configure the settings +for your MongoDB server, add the following lines to the minion config files: .INDENT 0.0 .INDENT 3.5 .sp @@ -27795,6 +27581,47 @@ mongo.port: 27017 .UNINDENT .UNINDENT .sp +Or single URI: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mongo.uri: URI +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +where uri is in the format: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mongodb://db1.example.net:27017/mydatabase +mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test +mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +More information on URI format can be found in +\fI\%https://docs.mongodb.com/manual/reference/connection\-string/\fP +.sp You can also ask for indexes creation on the most common used fields, which should greatly improve performance. Indexes are not created by default. .INDENT 0.0 @@ -27826,6 +27653,18 @@ alternative.mongo.port: 27017 .UNINDENT .UNINDENT .sp +Or single URI: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +alternative.mongo.uri: URI +.ft P +.fi +.UNINDENT +.UNINDENT +.sp This mongo returner is being developed to replace the default mongodb returner in the future and should not be considered API stable yet. .sp @@ -28739,6 +28578,27 @@ alternative.pgjsonb.ssl_key: \(aq/etc/pki/mysql/certs/localhost.key\(aq .fi .UNINDENT .UNINDENT +.sp +Should you wish the returner data to be cleaned out every so often, set +\fBkeep_jobs\fP to the number of hours for the jobs to live in the tables. +Setting it to \fB0\fP or leaving it unset will cause the data to stay in the tables. +.sp +Should you wish to archive jobs in a different table for later processing, +set \fBarchive_jobs\fP to True. Salt will create 3 archive tables; +.INDENT 0.0 +.IP \(bu 2 +\fBjids_archive\fP +.IP \(bu 2 +\fBsalt_returns_archive\fP +.IP \(bu 2 +\fBsalt_events_archive\fP +.UNINDENT +.sp +and move the contents of \fBjids\fP, \fBsalt_returns\fP, and \fBsalt_events\fP that are +more than \fBkeep_jobs\fP hours old to these tables. +.sp +New in version Fluorine. + .sp Use the following Pg database schema: .INDENT 0.0 @@ -28851,6 +28711,13 @@ salt \(aq*\(aq test.ping \-\-return pgjsonb \-\-return_kwargs \(aq{"db": "anothe .UNINDENT .INDENT 0.0 .TP +.B salt.returners.pgjsonb.clean_old_jobs() +Called in the master\(aqs event loop every loop_interval. Archives and/or +deletes the events and job details from the database. +:return: +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.pgjsonb.event_return(events) Return event to Pg server .sp @@ -29738,6 +29605,7 @@ slack.username (required) slack.as_user (required to see the profile picture of your bot) slack.profile (optional) slack.changes(optional, only show changes and failed states) +slack.only_show_failed(optional, only show failed states) slack.yaml_format(optional, format the json in yaml format) .ft P .fi @@ -30667,6 +30535,10 @@ salt \(aq*\(aq test.ping \-\-return zabbix .UNINDENT .INDENT 0.0 .TP +.B salt.returners.zabbix_return.save_load(jid, load, minions=None) +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.zabbix_return.zabbix_send(key, host, output) .UNINDENT .INDENT 0.0 @@ -30675,39 +30547,80 @@ salt \(aq*\(aq test.ping \-\-return zabbix .UNINDENT .SS Renderers .sp -The Salt state system operates by gathering information from common data -types such as lists, dictionaries, and strings that would be familiar -to any developer. +The Salt state system operates by gathering information from common data types +such as lists, dictionaries, and strings that would be familiar to any +developer. .sp -SLS files are translated from whatever data templating format they are written -in back into Python data types to be consumed by Salt. +Salt Renderers translate input from the format in which it is written into +Python data structures. .sp -By default SLS files are rendered as Jinja templates and then parsed as YAML -documents. But since the only thing the state system cares about is raw data, -the SLS files can be any structured format that can be dreamed up. +The default renderer is set in the master/minion configuration file using the +\fBrenderer\fP config option, which defaults to \fBjinja|yaml\fP\&. +.SS Two Kinds of Renderers .sp -Currently there is support for \fBJinja + YAML\fP, \fBMako + YAML\fP, -\fBWempy + YAML\fP, \fBJinja + json\fP, \fBMako + json\fP and \fBWempy + json\fP\&. +Renderers fall into one of two categories, based on what they output: text or +data. The one exception to this would be the \fBpure python\fP renderer, which can be used in either capacity. +.SS Text Renderers .sp -Renderers can be written to support any template type. This means that the -Salt states could be managed by XML files, HTML files, Puppet files, or any -format that can be translated into the Pythonic data structure used by the state -system. -.SS Multiple Renderers +A text renderer returns text. These include templating engines such as +\fBjinja\fP, \fBmako\fP, and +\fBgenshi\fP, as well as the \fBgpg\fP renderer. The following are all text renderers: +.INDENT 0.0 +.IP \(bu 2 +\fBaws_kms\fP +.IP \(bu 2 +\fBcheetah\fP +.IP \(bu 2 +\fBgenshi\fP +.IP \(bu 2 +\fBgpg\fP +.IP \(bu 2 +\fBjinja\fP +.IP \(bu 2 +\fBmako\fP +.IP \(bu 2 +\fBnacl\fP +.IP \(bu 2 +\fBpass\fP +.IP \(bu 2 +\fBpy\fP +.IP \(bu 2 +\fBwempy\fP +.UNINDENT +.SS Data Renderers .sp -A default renderer is selected in the master configuration file by providing -a value to the \fBrenderer\fP key. +A data renderer returns a Python data structure (typically a dictionary). The +following are all data renderers: +.INDENT 0.0 +.IP \(bu 2 +\fBdson\fP +.IP \(bu 2 +\fBhjson\fP +.IP \(bu 2 +\fBjson5\fP +.IP \(bu 2 +\fBjson\fP +.IP \(bu 2 +\fBpydsl\fP +.IP \(bu 2 +\fBpyobjects\fP +.IP \(bu 2 +\fBpy\fP +.IP \(bu 2 +\fBstateconf\fP +.IP \(bu 2 +\fByamlex\fP +.IP \(bu 2 +\fByaml\fP +.UNINDENT +.SS Overriding the Default Renderer .sp -When evaluating an SLS, more than one renderer can be used. +It can sometimes be beneficial to write an SLS file using a renderer other than +the default one. This can be done by using a "shebang"\-like syntax on the first +line of the SLS file: .sp -When rendering SLS files, Salt checks for the presence of a Salt\-specific -shebang line. -.sp -The shebang line directly calls the name of the renderer as it is specified -within Salt. One of the most common reasons to use multiple renderers is to -use the Python or \fBpy\fP renderer. -.sp -Below, the first line is a shebang that references the \fBpy\fP renderer. +Here is an example of using the \fBpure python\fP renderer +to install a package: .INDENT 0.0 .INDENT 3.5 .sp @@ -30717,42 +30630,69 @@ Below, the first line is a shebang that references the \fBpy\fP renderer. def run(): \(aq\(aq\(aq - Install the python\-mako package + Install version 1.5\-1.el7 of package "python\-foo" \(aq\(aq\(aq - return {\(aqinclude\(aq: [\(aqpython\(aq], - \(aqpython\-mako\(aq: {\(aqpkg\(aq: [\(aqinstalled\(aq]}} + return { + \(aqinclude\(aq: [\(aqpython\(aq], + \(aqpython\-foo\(aq: { + \(aqpkg.installed\(aq: [ + {\(aqversion\(aq: \(aq1.5\-1.el7\(aq}, + ] + } + } .ft P .fi .UNINDENT .UNINDENT -.SS Composing Renderers .sp -A renderer can be composed from other renderers by connecting them in a series -of pipes(\fB|\fP). +This would be equivalent to the following: +.INDENT 0.0 +.INDENT 3.5 .sp -In fact, the default \fBJinja + YAML\fP renderer is implemented by connecting a YAML -renderer to a Jinja renderer. Such renderer configuration is specified as: \fBjinja | yaml\fP\&. +.nf +.ft C +include: + \- python + +python\-foo: + pkg.installed: + \- version: \(aq1.5\-1.el7\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Composing Renderers (a.k.a. The "Render Pipeline") .sp -Other renderer combinations are possible: +A render pipeline can be composed from other renderers by connecting them in a +series of "pipes" (i.e. \fB|\fP). The renderers will be evaluated from left to +right, with each renderer receiving the result of the previous renderer\(aqs +execution. +.sp +Take for example the default renderer (\fBjinja|yaml\fP). The file is evaluated +first a jinja template, and the result of that template is evaluated as a YAML +document. +.sp +Other render pipeline combinations include: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP .B \fByaml\fP -i.e, just YAML, no templating. +Just YAML, no templating. .TP -.B \fBmako | yaml\fP -pass the input to the \fBmako\fP renderer, whose output is then fed into the -\fByaml\fP renderer. +.B \fBmako|yaml\fP +This passes the input to the \fBmako\fP renderer, with its output fed into +the \fByaml\fP renderer. .TP -.B \fBjinja | mako | yaml\fP +.B \fBjinja|mako|yaml\fP This one allows you to use both jinja and mako templating syntax in the input and then parse the final rendered output as YAML. .UNINDENT .UNINDENT .UNINDENT .sp -The following is a contrived example SLS file using the \fBjinja | mako | yaml\fP renderer: +The following is a contrived example SLS file using the \fBjinja|mako|yaml\fP +render pipeline: .INDENT 0.0 .INDENT 3.5 .sp @@ -30774,34 +30714,70 @@ An_Example: .UNINDENT .UNINDENT .sp -For backward compatibility, \fBjinja | yaml\fP can also be written as -\fByaml_jinja\fP, and similarly, the \fByaml_mako\fP, \fByaml_wempy\fP, -\fBjson_jinja\fP, \fBjson_mako\fP, and \fBjson_wempy\fP renderers are all supported. +\fBIMPORTANT:\fP +.INDENT 0.0 +.INDENT 3.5 +Keep in mind that not all renderers can be used alone or with any other +renderers. For example, text renderers shouldn\(aqt be used alone as their +outputs are just strings, which still need to be parsed by another renderer +to turn them into Python data structures. .sp -Keep in mind that not all renderers can be used alone or with any other renderers. -For example, the template renderers shouldn\(aqt be used alone as their outputs are -just strings, which still need to be parsed by another renderer to turn them into -highstate data structures. +For example, it would not make sense to use \fByaml|jinja\fP because the +output of the \fByaml\fP renderer is a Python data +structure, and the \fBjinja\fP renderer only +accepts text as input. .sp -For example, it doesn\(aqt make sense to specify \fByaml | jinja\fP because the -output of the YAML renderer is a highstate data structure (a dict in Python), which -cannot be used as the input to a template renderer. Therefore, when combining -renderers, you should know what each renderer accepts as input and what it returns -as output. +Therefore, when combining renderers, you should know what each renderer +accepts as input and what it returns as output. One way of thinking about +it is that you can chain together multiple text renderers, but the pipeline +\fImust\fP end in a data renderer. Similarly, since the text renderers in Salt +don\(aqt accept data structures as input, a text renderer should usually not +come after a data renderer. It\(aqs technically \fIpossible\fP to write a renderer +that takes a data structure as input and returns a string, but no such +renderer is distributed with Salt. +.UNINDENT +.UNINDENT .SS Writing Renderers .sp -A custom renderer must be a Python module placed in the renderers directory and the -module implement the \fBrender\fP function. +A custom renderer must be a Python module which implements a \fBrender\fP +function. This function must implement three positional arguments: +.INDENT 0.0 +.IP 1. 3 +\fBdata\fP \- Can be called whatever you like. This is the input to be +rendered. +.IP 2. 3 +\fBsaltenv\fP +.IP 3. 3 +\fBsls\fP +.UNINDENT .sp -The \fBrender\fP function will be passed the path of the SLS file as an argument. +The first is the important one, and the 2nd and 3rd must be included since Salt +needs to pass this info to each render, even though it is only used by template +renderers. .sp -The purpose of the \fBrender\fP function is to parse the passed file and to return -the Python data structure derived from the file. +Renderers should be written so that the \fBdata\fP argument can accept either +strings or file\-like objects as input. For example: +.INDENT 0.0 +.INDENT 3.5 .sp -Custom renderers must be placed in a \fB_renderers\fP directory within the -\fBfile_roots\fP specified by the master config file. +.nf +.ft C +import mycoolmodule +from salt.ext import six + +def render(data, saltenv=\(aqbase\(aq, sls=\(aq\(aq, **kwargs): + if not isinstance(data, six.string_types): + # Read from file\-like object + data = data.read() + + return mycoolmodule.do_something(data) +.ft P +.fi +.UNINDENT +.UNINDENT .sp -Custom renderers are distributed when any of the following are run: +Custom renderers should be placed within \fBsalt://_renderers/\fP, so that they +can be synced to minions. They are synced when any of the following are run: .INDENT 0.0 .IP \(bu 2 \fBstate.apply\fP @@ -30814,6 +30790,14 @@ Custom renderers are distributed when any of the following are run: Any custom renderers which have been synced to a minion, that are named the same as one of Salt\(aqs default set of renderers, will take the place of the default renderer with the same name. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Renderers can also be synced from \fBsalt://_renderers/\fP to the Master +using either the \fBsaltutil.sync_renderers\fP or \fBsaltutil.sync_all\fP runner function. +.UNINDENT +.UNINDENT .SS Examples .sp The best place to find examples of renderers is in the Salt source code. @@ -30874,7 +30858,7 @@ _ T{ \fBhjson\fP T} T{ -Hjson Renderer for Salt \fI\%http://laktak.github.io/hjson/\fP +hjson renderer for Salt T} _ T{ @@ -31291,8 +31275,9 @@ the data to be rendered. .UNINDENT .SS salt.renderers.hjson .sp -Hjson Renderer for Salt -\fI\%http://laktak.github.io/hjson/\fP +hjson renderer for Salt +.sp +See the \fI\%hjson\fP documentation for more information .INDENT 0.0 .TP .B salt.renderers.hjson.render(hjson_data, saltenv=u\(aqbase\(aq, sls=u\(aq\(aq, **kws) @@ -31658,24 +31643,18 @@ A Python data structure .SS salt.renderers.pass module .SS Pass Renderer for Salt .sp -[pass](\fI\%https://www.passwordstore.org/\fP) +\fI\%pass\fP is an encrypted on\-disk password store. .sp New in version 2017.7.0. .SS Setup .sp -\fBNOTE:\fP +\fINote\fP: \fB\fP needs to be replaced with the user salt\-master will be +running as. +.sp +Have private gpg loaded into \fBuser\fP\(aqs gpg keyring .INDENT 0.0 .INDENT 3.5 -\fB\fP needs to be replaced with the user salt\-master will be running -as -.UNINDENT -.UNINDENT -.INDENT 0.0 -.IP 1. 3 -Have private gpg loaded into \fIuser\fP\(aqs gpg keyring. Example: -.INDENT 3.0 -.INDENT 3.5 .sp .nf .ft C @@ -31687,12 +31666,12 @@ load_private_gpg_key: .fi .UNINDENT .UNINDENT -.IP 2. 3 -Said private key\(aqs public key should have been used when encrypting pass -entries that are of interest for pillar data. -.IP 3. 3 +.sp +Said private key\(aqs public key should have been used when encrypting pass entries +that are of interest for pillar data. +.sp Fetch and keep local pass git repo up\-to\-date -.INDENT 3.0 +.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -31709,9 +31688,9 @@ update_pass: .fi .UNINDENT .UNINDENT -.IP 4. 3 +.sp Install pass binary -.INDENT 3.0 +.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -31722,7 +31701,6 @@ pass: .fi .UNINDENT .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.renderers.pass.render(pass_info, saltenv=u\(aqbase\(aq, sls=u\(aq\(aq, argline=u\(aq\(aq, **kwargs) @@ -31796,8 +31774,8 @@ environment is \fB/srv/salt\fP, and the SLS file is \fBfoo.bar.baz\fP\&. .UNINDENT .sp -The global context \fBdata\fP (same as context \fB{{ data }}\fP for states written -with Jinja + YAML). The following YAML + Jinja state declaration: +When writing a reactor SLS file the global context \fBdata\fP (same as context \fB{{ data }}\fP +for states written with Jinja + YAML) is available. The following YAML + Jinja state declaration: .INDENT 0.0 .INDENT 3.5 .sp @@ -32654,7 +32632,7 @@ attributes defined in the \fBRHEL\fP class. That said, sometimes a minion may match more than one class. For instance, in the above example, Ubuntu minions will match both the \fBDebian\fP and \fBUbuntu\fP classes, since Ubuntu has an \fBos_family\fP grain of \fBDebian\fP -an an \fBos\fP grain of \fBUbuntu\fP\&. As of the 2017.7.0 release, the order is +and an \fBos\fP grain of \fBUbuntu\fP\&. As of the 2017.7.0 release, the order is dictated by the order of declaration, with classes defined later overriding earlier ones. Additionally, 2017.7.0 adds support for explicitly defining the ordering using an optional attribute called \fBpriority\fP\&. @@ -33302,6 +33280,9 @@ salt \(aq*\(aq grains.items .fi .UNINDENT .UNINDENT +.SS Using grains in a state +.sp +To use a grain in a state you can access it via \fI{{ grains[\(aqkey\(aq] }}\fP\&. .SS Grains in the Minion Config .sp Grains can also be statically assigned within the minion configuration file. @@ -33402,8 +33383,8 @@ For this example to work, you would need to have defined the grain The grains are derived by executing all of the "public" functions (i.e. those which do not begin with an underscore) found in the modules located in the Salt\(aqs core grains code, followed by those in any custom grains modules. The -functions in a grains module must return a \fI\%Python dictionary\fP, where the dictionary keys are the names of grains, and each -key\(aqs value is that value for that grain. +functions in a grains module must return a Python dictionary, where the dictionary keys are the names of grains, and +each key\(aqs value is that value for that grain. .sp Custom grains modules should be placed in a subdirectory named \fB_grains\fP located under the \fBfile_roots\fP specified by the master config @@ -33573,6 +33554,11 @@ by custom grains modules synced to minions that have the same name as a core grain will override that core grain. Similarly, grains from \fB/etc/salt/minion\fP override both core grains and custom grain modules, and grains in \fB_grains\fP will override \fIany\fP grains of the same name. +.sp +For custom grains, if the function takes an argument \fBgrains\fP, then the +previously rendered grains will be passed in. Because the rest of the grains +could be rendered in any order, the only grains that can be relied upon to be +passed in are \fBcore\fP grains. This was added in the Fluorine release. .SS Examples of Grains .sp The core module in the grains package is where the main grains are loaded by @@ -33707,6 +33693,39 @@ dev: .UNINDENT .UNINDENT .sp +Pillar definitions can also take a keyword argument \fBignore_missing\fP\&. +When the value of \fBignore_missing\fP is \fBTrue\fP, all errors for missing +pillar files are ignored. The default value for \fBignore_missing\fP is +\fBFalse\fP\&. +.sp +Here is an example using the \fBignore_missing\fP keyword parameter to ignore +errors for missing pillar files: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +base: + \(aq*\(aq: + \- servers + \- systems + \- ignore_missing: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Assuming that the pillar \fBservers\fP exists in the fileserver backend +and the pillar \fBsystems\fP doesn\(aqt, all pillar data from \fBservers\fP +pillar is delivered to minions and no error for the missing pillar +\fBsystems\fP is noted under the key \fB_errors\fP in the pillar data +delivered to minions. +.sp +Should the \fBignore_missing\fP keyword parameter have the value \fBFalse\fP, +an error for the missing pillar \fBsystems\fP would produce the value +\fBSpecified SLS \(aqservers\(aq in environment \(aqbase\(aq is not available on the salt master\fP +under the key \fB_errors\fP in the pillar data delivered to minions. +.sp \fB/srv/pillar/packages.sls\fP .INDENT 0.0 .INDENT 3.5 @@ -34174,7 +34193,7 @@ use. These functions include: .INDENT 0.0 .IP \(bu 2 \fBpillar.item\fP \- Retrieves the value of -one or more keys from the \fI\%in\-memory pillar datj\fP\&. +one or more keys from the \fI\%in\-memory pillar data\fP\&. .IP \(bu 2 \fBpillar.items\fP \- Compiles a fresh pillar dictionary and returns it, leaving the \fI\%in\-memory pillar data\fP untouched. If pillar keys are passed to this function @@ -35276,9 +35295,9 @@ shorthand for having to type out complicated compound expressions. .nf .ft C nodegroups: - \ group1: \(aqL@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com\(aq - \ group2: \(aqG@os:Debian and foo.domain.com\(aq - \ group3: \(aqG@os:Debian and N@group1\(aq + group1: \(aqL@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com\(aq + group2: \(aqG@os:Debian and foo.domain.com\(aq + group3: \(aqG@os:Debian and N@group1\(aq .ft P .fi .UNINDENT @@ -35681,6 +35700,16 @@ T} T{ No T} _ +T{ +N +T} T{ +Nodegroups +T} T{ +\fBN@group1\fP +T} T{ +No +T} +_ .TE .sp Matchers can be joined using boolean \fBand\fP, \fBor\fP, and \fBnot\fP operators. @@ -35878,13 +35907,17 @@ salt \-N group1 test.ping .fi .UNINDENT .UNINDENT +.sp +New in version Fluorine. + .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -The \fBN@\fP classifier cannot be used in compound matches within the CLI or -top file, it is only recognized in the \fBnodegroups\fP -master config file parameter. +The \fBN@\fP classifier historically could not be used in compound matches +within the CLI or top file, it was only recognized in the +\fBnodegroups\fP master config file parameter. As of the Fluorine +release, this limitation no longer exists. .UNINDENT .UNINDENT .sp @@ -36081,6 +36114,187 @@ salt \-\-range %test:APPS test.ping .fi .UNINDENT .UNINDENT +.SS Loadable Matchers +.sp +New in version Flourine. + +.sp +Internally targeting is implemented with chunks of code called Matchers. As of +the Flourine release, matchers can be loaded dynamically. Currently new matchers +cannot be created, but existing matchers can have their functionality altered or +extended. For more information on Matchers see +.SS Matchers +.sp +New in version Neon. + +.sp +Matchers are modules that provide Salt\(aqs targeting abilities. As of the +Neon release, matchers can be dynamically loaded. Currently new matchers +cannot be created because the required plumbing for the CLI does not exist yet. +Existing matchers may have their functionality altered or extended. +.sp +For details of targeting methods, see the Targeting topic. +.sp +A matcher module must have a function called \fBmatch()\fP\&. This function ends up +becoming a method on the Matcher class. All matcher functions require at least +two arguments, \fBself\fP (because the function will be turned into a method), and +\fBtgt\fP, which is the actual target string. The grains and pillar matchers also +take a \fBdelimiter\fP argument and should default to \fBDEFAULT_TARGET_DELIM\fP\&. +.sp +Like other Salt loadable modules, modules that override built\-in functionality +can be placed in \fBfile_roots\fP in a special directory and then copied to the +minion through the normal sync process. \fBsaltutil.sync_all\fP +will transfer all loadable modules, and the Neon release introduces +\fBsaltutil.sync_matchers\fP\&. For matchers, the directory is +\fB/srv/salt/_matchers\fP (assuming your \fBfile_roots\fP is set to the default +\fB/srv/salt\fP). +.sp +As an example, let\(aqs modify the \fBlist\fP matcher to have the separator be a +\(aq\fB/\fP\(aq instead of the default \(aq\fB,\fP\(aq. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +from __future__ import absolute_import, print_function, unicode_literals +from salt.ext import six # pylint: disable=3rd\-party\-module\-not\-gated + +def match(self, tgt): + \(aq\(aq\(aq + Determines if this host is on the list + \(aq\(aq\(aq + if isinstance(tgt, six.string_types): + # The stock matcher splits on \(ga,\(ga. Change to \(ga/\(ga below. + tgt = tgt.split(\(aq/\(aq) + return bool(self.opts[\(aqid\(aq] in tgt) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Place this code in a file called \fBlist_matcher.py\fP in \fB_matchers\fP in your +\fBfile_roots\fP\&. Sync this down to your minions with +\fBsaltutil.sync_matchers\fP\&. +Then attempt to match with the following, replacing \fBminionX\fP with three of your minions. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \-L \(aqminion1/minion2/minion3\(aq test.ping +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Three of your minions should respond. +.sp +The current supported matchers and associated filenames are +.TS +center; +|l|l|l|. +_ +T{ +Salt CLI Switch +T} T{ +Match Type +T} T{ +Filename +T} +_ +T{ + +T} T{ +Glob +T} T{ +glob_match.py +T} +_ +T{ +\-C +T} T{ +Compound +T} T{ +compound_match.py +T} +_ +T{ +\-E +T} T{ +Perl\-Compatible +Regular Expressions +T} T{ +pcre_match.py +T} +_ +T{ +\-L +T} T{ +List +T} T{ +list_match.py +T} +_ +T{ +\-G +T} T{ +Grain +T} T{ +grain_match.py +T} +_ +T{ +\-P +T} T{ +Grain Perl\-Compatible +Regular Expressions +T} T{ +grain_pcre_match.py +T} +_ +T{ +\-N +T} T{ +Nodegroup +T} T{ +nodegroup_match.py +T} +_ +T{ +\-R +T} T{ +Range +T} T{ +range_match.py +T} +_ +T{ +\-I +T} T{ +Pillar +T} T{ +pillar_match.py +T} +_ +T{ +\-J +T} T{ +Pillar Perl\-Compatible +Regular Expressions +T} T{ +pillar_pcre.py +T} +_ +T{ +\-S +T} T{ +IP\-Classless Internet +Domain Routing +T} T{ +ipcidr_match.py +T} +_ +.TE .SS The Salt Mine .sp The Salt Mine is used to collect arbitrary data from Minions and store it on @@ -36158,7 +36372,8 @@ mine_functions: .sp The Salt Mine functions are executed when the Minion starts and at a given interval by the scheduler. The default interval is every 60 minutes and can -be adjusted for the Minion via the \fBmine_interval\fP option: +be adjusted for the Minion via the \fBmine_interval\fP option in the minion +config: .INDENT 0.0 .INDENT 3.5 .sp @@ -36953,7 +37168,7 @@ Saltstack extends \fI\%builtin filters\fP with these custom filters: .SS \fBstrftime\fP .sp Converts any time related object into a time based string. It requires valid -strftime directives. An exhaustive list can be found \fI\%here\fP in the Python documentation. +strftime directives. An exhaustive list can be found here in the Python documentation. .INDENT 0.0 .INDENT 3.5 .sp @@ -37002,8 +37217,8 @@ maps. {%\- load_yaml as foo %} bar: {{ bar|yaml_encode }} baz: {{ baz|yaml_encode }} -baz: {{ zip|yaml_encode }} -baz: {{ zap|yaml_encode }} +zip: {{ zip|yaml_encode }} +zap: {{ zap|yaml_encode }} {%\- endload %} .ft P .fi @@ -37852,7 +38067,7 @@ Example: .INDENT 0.0 .INDENT 3.5 This option may have adverse effects when using the default renderer, -\fByaml_jinja\fP\&. This is due to the fact that YAML requires proper handling +\fBjinja|yaml\fP\&. This is due to the fact that YAML requires proper handling in regard to special characters. Please see the section on YAML ASCII support in the YAML Idiosyncracies documentation for more information. .UNINDENT @@ -38578,11 +38793,10 @@ Example: \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -This option may have adverse effects when using the default renderer, \fByaml_jinja\fP\&. -This is due to the fact that YAML requires proper handling in regard to special -characters. Please see the section on YAML ASCII support -in the YAML Idiosyncracies documentation for more -information. +This option may have adverse effects when using the default renderer, +\fBjinja|yaml\fP\&. This is due to the fact that YAML requires proper handling +in regard to special characters. Please see the section on YAML ASCII +support in the YAML Idiosyncracies documentation for more information. .UNINDENT .UNINDENT .SS \fBdns_check\fP @@ -39571,7 +39785,7 @@ Salt Virt, only the raw qcow image file is needed: .SS Fedora Linux .sp Images for Fedora Linux can be found here: -\fI\%http://fedoraproject.org/en/get\-fedora#clouds\fP +\fI\%https://alt.fedoraproject.org/cloud\fP .SS openSUSE .sp \fI\%http://download.opensuse.org/repositories/openSUSE:/Leap:/42.1:/Images/images\fP @@ -39634,8 +39848,8 @@ The Salt Virt runner will now automatically select a hypervisor to deploy the new virtual machine on. Using \fBsalt://\fP assumes that the CentOS virtual machine image is located in the root of the file\-server on the master. When images are cloned (i.e. copied locatlly after retrieval from the file server) -the destination directory on the hypervisor minion is determined by the \fBvirt.images\fP -config option; by default this is \fB/srv/salt/salt\-images/\fP\&. +the destination directory on the hypervisor minion is determined by the \fBvirt:images\fP +config option; by default this is \fB/srv/salt\-images/\fP\&. .sp When a VM is initialized using \fBvirt.init\fP the image is copied to the hypervisor using \fBcp.cache_file\fP and will be mounted and seeded with a minion. Seeding includes @@ -39740,18 +39954,19 @@ Opening the Firewall up for Salt .UNINDENT .UNINDENT .sp -Salt also needs the \fBvirt.tunnel\fP option to be turned on. +Salt also needs the \fBvirt:tunnel\fP option to be turned on. This flag tells Salt to run migrations securely via the libvirt TLS tunnel and to -use port 16514. Without \fBvirt.tunnel\fP libvirt tries to bind to random ports when +use port 16514. Without \fBvirt:tunnel\fP libvirt tries to bind to random ports when running migrations. .sp -To turn on \fBvirt.tunnel\fP simple apply it to the master config file: +To turn on \fBvirt:tunnel\fP simply apply it to the master config file: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -virt.tunnel: True +virt: + tunnel: True .ft P .fi .UNINDENT @@ -41053,17 +41268,17 @@ salt.utils.http.query(\(aqhttp://example.com/delete/url\(aq, \(aqDELETE\(aq) .UNINDENT .sp When using the \fBPOST\fP method (and others, such as \fBPUT\fP), extra data is usually -sent as well. This data can be sent directly, in whatever format is -required by the remote server (XML, JSON, plain text, etc). +sent as well. This data can be sent directly (would be URL encoded when necessary), +or in whatever format is required by the remote server (XML, JSON, plain text, etc). .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C salt.utils.http.query( - \(aqhttp://example.com/delete/url\(aq, + \(aqhttp://example.com/post/url\(aq, method=\(aqPOST\(aq, - data=json.loads(mydict) + data=json.dumps(mydict) ) .ft P .fi @@ -41287,7 +41502,7 @@ of Salt\(aqs internal structure. Historically, the extension for this file is .sp If the \fBtornado\fP backend is used (\fBtornado\fP is the default), proxy information configured in \fBproxy_host\fP, \fBproxy_port\fP, \fBproxy_username\fP, -and \fBproxy_password\fP from the \fB__opts__\fP dictionary will be used. Normally +\fBproxy_password\fP and \fBno_proxy\fP from the \fB__opts__\fP dictionary will be used. Normally these are set in the minion configuration file. .INDENT 0.0 .INDENT 3.5 @@ -41298,6 +41513,7 @@ proxy_host: proxy.my\-domain proxy_port: 31337 proxy_username: charon proxy_password: obolus +no_proxy: [\(aq127.0.0.1\(aq, \(aqlocalhost\(aq] .ft P .fi .UNINDENT @@ -44378,14 +44594,14 @@ The salt loader was enhanced to look for external modules by looking at the \fIsalt.loader\fP entry\-point: .INDENT 0.0 .INDENT 3.5 -\fI\%https://pythonhosted.org/setuptools/setuptools.html#dynamic\-discovery\-of\-services\-and\-plugins\fP +\fI\%https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry\-points\fP .UNINDENT .UNINDENT .sp \fIpkg_resources\fP should be installed, which is normally included in setuptools. .INDENT 0.0 .INDENT 3.5 -\fI\%https://pythonhosted.org/setuptools/pkg_resources.html\fP +\fI\%https://setuptools.readthedocs.io/en/latest/pkg_resources.html\fP .UNINDENT .UNINDENT .sp @@ -44842,8 +45058,8 @@ with YAML. Salt defaults to YAML because it is very straightforward and easy to learn and use. But the SLS files can be rendered from almost any imaginable medium, so long as a renderer module is provided. .sp -The default rendering system is the \fByaml_jinja\fP renderer. The -\fByaml_jinja\fP renderer will first pass the template through the \fI\%Jinja2\fP +The default rendering system is the \fBjinja|yaml\fP renderer. The +\fBjinja|yaml\fP renderer will first pass the template through the \fI\%Jinja2\fP templating system, and then through the YAML parser. The benefit here is that full programming constructs are available when creating SLS files. .sp @@ -44869,9 +45085,9 @@ documentation for the \fBfile state\fP, as well as the \fI\%MooseFS example\fP below. .UNINDENT .UNINDENT -.SS Getting to Know the Default \- yaml_jinja +.SS Getting to Know the Default \- jinja|yaml .sp -The default renderer \- \fByaml_jinja\fP, allows for use of the jinja +The default renderer \- \fBjinja|yaml\fP, allows for use of the jinja templating system. A guide to the Jinja templating system can be found here: \fI\%http://jinja.pocoo.org/docs\fP .sp @@ -47397,7 +47613,7 @@ system will also prove to be a valuable asset. .UNINDENT .SS The First SLS Formula .sp -The state system is built on SLS formulas. These formulas are built out in +The state system is built on SLS (SaLt State) formulas. These formulas are built out in files on Salt\(aqs file server. To make a very basic SLS formula open up a file under /srv/salt named vim.sls. The following state ensures that vim is installed on a system to which that state has been applied. @@ -48985,11 +49201,11 @@ deeply\-nested dict can be declared with curly braces: \- group: root \- mode: 644 \- template: jinja - \- context: - custom_var: "override" - \- defaults: - custom_var: "default value" - other_var: 123 + \- context: { + custom_var: "override" } + \- defaults: { + custom_var: "default value", + other_var: 123 } .ft P .fi .UNINDENT @@ -51007,7 +51223,7 @@ call functions available in other execution modules. The variable \fB__salt__\fP is packed into the modules after they are loaded into the Salt minion. .sp -The \fB__salt__\fP variable is a \fI\%Python dictionary\fP +The \fB__salt__\fP variable is a Python dictionary containing all of the Salt functions. Dictionary keys are strings representing the names of the modules and the values are the functions themselves. .sp @@ -51045,7 +51261,7 @@ minion. .SS Grains Data .sp The values detected by the Salt Grains on the minion are available in a -\fI\%Python dictionary\fP named \fB__grains__\fP and can be +Python dictionary named \fB__grains__\fP and can be accessed from within callable objects in the Python modules. .sp To see the contents of the grains dictionary for a given system in your @@ -51154,8 +51370,8 @@ Virtual module names are set using the \fB__virtual__\fP function and the \fI\%virtual name\fP\&. .SS \fB__virtual__\fP Function .sp -The \fB__virtual__\fP function returns either a \fI\%string\fP, -\fI\%True\fP, \fI\%False\fP, or \fI\%False\fP with an \fI\%error +The \fB__virtual__\fP function returns either a string, +\fBTrue\fP, \fBFalse\fP, or \fBFalse\fP with an \fI\%error string\fP\&. If a string is returned then the module is loaded using the name of the string as the virtual name. If \fBTrue\fP is returned the module is loaded using the current module name. If \fBFalse\fP is returned the @@ -51706,6 +51922,10 @@ option set by commandline or API \fBdata.get(\(aqexecutor_opts\(aq, {}).get(\(aqsplaytime\(aq)\fP should be used. So if an option is safe and must be accessible by user executor should check it in both places, but if an option is unsafe it should be read from the only config ignoring the passed request data. +.sp +There is also a function named \fBall_missing_func\fP which the name of the +\fBfunc\fP is passed, which can be used to verify if the command should still be +run, even if it is not loaded in minion_mods. .SH CONFIGURATION MANAGEMENT .sp Salt contains a robust and flexible configuration management framework, which @@ -52688,6 +52908,8 @@ A good example of this would be setting up a package manager early on: In this situation, the yum repo is going to be configured before other states, and if it fails to lay down the config file, than no other states will be executed. +It is possible to override a Global Failhard (see below) by explicitly setting +it to \fBFalse\fP in the state. .SS Global Failhard .sp It may be desired to have failhard be applied to every state that is executed, @@ -52703,8 +52925,8 @@ in states not being executed or even checked. It can also be confusing to see states failhard if an admin is not actively aware that the failhard has been set. .sp -To use the global failhard set failhard: True in the master configuration -file. +To use the global failhard set \fBfailhard\fP to \fBTrue\fP in the +master configuration file. .SS Global State Arguments .sp \fBNOTE:\fP @@ -54451,6 +54673,18 @@ backup_mount: \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 +Setting failhard (globally or in +the failing state) to \fBTrue\fP will cause +\fBonfail\fP, \fBonfail_in\fP and \fBonfail_any\fP requisites to be ignored. +If you want to combine a global failhard set to True with \fBonfail\fP, +\fBonfail_in\fP or \fBonfail_any\fP, you will have to explicitly set failhard +to \fBFalse\fP (overriding the global setting) in the state that could fail. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 Beginning in the \fB2016.11.0\fP release of Salt, \fBonfail\fP uses OR logic for multiple listed \fBonfail\fP requisites. Prior to the \fB2016.11.0\fP release, \fBonfail\fP used AND logic. See \fI\%Issue #22370\fP for more information. @@ -54798,7 +55032,7 @@ mod_python: .UNINDENT .UNINDENT .sp -Now the httpd server will only start if php or mod_python are first verified to +Now the httpd server will only start if both php and mod_python are first verified to be installed. Thus allowing for a requisite to be defined "after the fact". .SS Fire Event Notifications .sp @@ -54856,6 +55090,23 @@ state is evaluated correctly. \fBreload_modules\fP is a boolean option that forces salt to reload its modules after a state finishes. \fBreload_pillar\fP and \fBreload_grains\fP can also be set. See Reloading Modules\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +grains_refresh: + module.run: + \- name: saltutil.refresh_grains + \- reload_grains: true + +grains_read: + module.run: + \- name: grains.items +.ft P +.fi +.UNINDENT +.UNINDENT .SS Unless .sp New in version 2014.7.0. @@ -56257,6 +56508,9 @@ can be done by placing them into \fBsalt://_states/\fP\&. They can then be distributed manually to minions by running \fBsaltutil.sync_states\fP or \fBsaltutil.sync_all\fP\&. Alternatively, when running a highstate custom types will automatically be synced. .sp +NOTE: Writing state modules with hyphens in the filename will cause issues +with !pyobjects routines. Best practice to stick to underscores. +.sp Any custom states which have been synced to a minion, that are named the same as one of Salt\(aqs default set of states, will take the place of the default state with the same name. Note that a state module\(aqs name defaults to one based @@ -56286,7 +56540,7 @@ functions available in other state modules. The variable \fB__states__\fP is packed into the modules after they are loaded into the Salt minion. .sp -The \fB__states__\fP variable is a \fI\%Python dictionary\fP +The \fB__states__\fP variable is a Python dictionary containing all of the state modules. Dictionary keys are strings representing the names of the modules and the values are the functions themselves. .sp @@ -57029,6 +57283,56 @@ Total: 2 .fi .UNINDENT .UNINDENT +.SH RETURN CODES +.sp +When the \fBsalt\fP or \fBsalt\-call\fP CLI commands result in an error, the command +will exit with a return code of \fB1\fP\&. Error cases consist of the following: +.INDENT 0.0 +.IP 1. 3 +Errors are encountered while running States, or any state returns a \fBFalse\fP result +.IP 2. 3 +Any exception is raised +.IP 3. 3 +In the case of remote\-execution functions, when the return data is a +Python dictionary with a key named either \fBresult\fP +or \fBsuccess\fP, which has a value of \fBFalse\fP +.UNINDENT +.SS Retcode Passthrough +.sp +In addition to the cases listed above, if a state or remote\-execution function +sets a nonzero value in the \fBretcode\fP key of the __context__ dictionary, the command will exit with a return code of +\fB1\fP\&. For those developing custom states and execution modules, using +\fB__context__[\(aqretcode\(aq]\fP can be a useful way of signaling that an error has +occurred: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +if something_went_wrong: + __context__[\(aqretcode\(aq] = 42 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This is actually how states signal that they have failed. Different cases +result in different codes being set in the __context__ +dictionary: +.INDENT 0.0 +.IP \(bu 2 +\fB1\fP is set when any error is encountered in the state compiler (missing SLS +file, etc.) +.IP \(bu 2 +\fB2\fP is set when any state returns a \fBFalse\fP result +.IP \(bu 2 +\fB5\fP is set when Pillar data fails to be compiled before running the +state(s) +.UNINDENT +.sp +When the \fB\-\-retcode\-passthrough\fP flag is used with \fBsalt\-call\fP, then +\fBsalt\-call\fP will exit with whichever retcode was set in the __context__ dictionary, rather than the default behavior which simply +exits with \fB1\fP for any error condition. .SH UTILITY MODULES - CODE REUSE IN CUSTOM MODULES .sp New in version 2015.5.0. @@ -57857,7 +58161,8 @@ salt\-call event.send \(aqmyco/mytag/success\(aq \(aq{success: True, message: "I .UNINDENT .sp If a process is listening on the minion, it may be useful for a user on the -master to fire an event to it: +master to fire an event to it. An example of listening local events on +a minion on a non\-Windows system: .INDENT 0.0 .INDENT 3.5 .sp @@ -57866,10 +58171,32 @@ master to fire an event to it: # Job on minion import salt.utils.event -event = salt.utils.event.MinionEvent(**__opts__) +opts = salt.config.minion_config(\(aq/etc/salt/minion\(aq) +event = salt.utils.event.MinionEvent(opts) -for evdata in event.iter_events(tag=\(aqcustomtag/\(aq): - return evdata # do your processing here... +for evdata in event.iter_events(match_type = \(aqregex\(aq, + tag = \(aqcustom/.*\(aq): + # do your processing here... +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +And an example of listening local events on a Windows system: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Job on minion +import salt.utils.event + +opts = salt.config.minion_config(salt.minion.DEFAULT_MINION_OPTS) +event = salt.utils.event.MinionEvent(opts) + +for evdata in event.iter_events(match_type = \(aqregex\(aq, + tag = \(aqcustom/.*\(aq): + # do your processing here... .ft P .fi .UNINDENT @@ -57927,13 +58254,13 @@ import salt.client caller = salt.client.Caller() -caller.sminion.functions[\(aqevent.send\(aq]( - \(aqmyco/myevent/success\(aq, - { - \(aqsuccess\(aq: True, - \(aqmessage\(aq: "It works!", - } -) +ret = called.cmd(\(aqevent.send\(aq, + \(aqmyco/event/success\(aq + { \(aqsuccess\(aq: True, + \(aqmessage\(aq: "It works!" }) + +if not ret: + # the event could not be sent, process the error here .ft P .fi .UNINDENT @@ -58363,8 +58690,8 @@ execution modules that may be CPU intense or IO bound. Please feel free to add new execution modules and functions to back specific beacons. .SS Distributing Custom Beacons .sp -Custom beacons can be distributed to minions using \fBsaltutil\fP, see -Dynamic Module Distribution\&. +Custom beacons can be distributed to minions via the standard methods, see +Modular Systems\&. .SS Reactor System .sp Salt\(aqs Reactor system gives Salt the ability to trigger actions in response to @@ -59331,8 +59658,8 @@ minion for this to work. See \fBsalt.returners.smtp_return\fP documentation for Salt will sync all custom types (by running a \fBsaltutil.sync_all\fP) on every highstate\&. However, there is a chicken\-and\-egg issue where, on the initial highstate, a minion will not yet have these custom types synced when the top file is first compiled. This can be worked -around with a simple reactor which watches for \fBminion_start\fP events, which -each minion fires when it first starts up and connects to the master. +around with a simple reactor which watches for \fBsalt/minion/*/start\fP events, +which each minion fires when it first starts up and connects to the master. .sp On the master, create \fB/srv/reactor/sync_grains.sls\fP with the following contents: @@ -60418,6 +60745,7 @@ YAML contents: .ft C salt\-ssh: config_dir: path/to/config/dir + ssh_log_file: salt\-ssh.log ssh_max_procs: 30 ssh_wipe: True .ft P @@ -60524,6 +60852,7 @@ The information which can be stored in a roster \fBtarget\fP is the following: priv: # File path to ssh private key, defaults to salt\-ssh.rsa # The priv can also be set to agent\-forwarding to not specify # a key, but use ssh agent forwarding + priv_passwd: # Passphrase for ssh private key timeout: # Number of seconds to wait for response when establishing # an SSH connection minion_opts: # Dictionary of minion opts @@ -60654,6 +60983,98 @@ thorium_roots: .fi .UNINDENT .UNINDENT +.sp +It is also possible to use gitfs with Thorium, +using the \fBthoriumenv\fP or \fBthorium_top\fP settings. +.sp +Example using \fBthorium_top\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +thorium_top: salt://thorium/top.sls +gitfs_provider: pygit2 + +gitfs_remotes: + \- git@github.com:user/repo.git: + \- name: salt\-backend + \- root: salt + \- base: master + \- git@github.com:user/repo.git: + \- name: thorium\-backend + \- root: thorium + \- base: master + \- mountpoint: salt://thorium +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +When using this method don\(aqt forget to prepend the mountpoint to files served by this repo, +for example \fBtop.sls\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +base: + \(aq*\(aq: + \- thorium.key_clean +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Example using \fBthoriumenv\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +thoriumenv: thorium +gitfs_provider: pygit2 + +gitfs_remotes: + \- git@github.com:user/repo.git: + \- name: salt\-backend + \- root: salt + \- base: master + \- git@github.com:user/repo.git: + \- name: thorium\-backend + \- root: thorium + \- saltenv: + \- thorium: + \- ref: master +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +When using this method all state will run under the defined environment, +for example \fBtop.sls\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +thorium: + \(aq*\(aq: + \- key_clean +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .SS The Thorium top.sls File .sp Thorium uses its own \fBtop.sls\fP file, which follows the same convention as is @@ -61684,9 +62105,9 @@ Any top level data element from your profile may be overridden in the map file: .ft C fedora_small: \- web1: - size: t2.micro + size: t2.micro \- web2: - size: t2.nano + size: t2.nano .ft P .fi .UNINDENT @@ -62207,8 +62628,8 @@ configuration to be added on a per\-file basis. .SS Pillar Configuration .sp It is possible to configure cloud providers using pillars. This is only used when inside the cloud -module. You can setup a variable called \fBcloud\fP that contains your profile and provider to pass -that information to the cloud servers instead of having to copy the full configuration to every +module. You can setup a variable called \fBcloud\fP that contains your profile, provider, and map to +pass that information to the cloud servers instead of having to copy the full configuration to every minion. In your pillar file, you would use something like this: .INDENT 0.0 .INDENT 3.5 @@ -62233,6 +62654,26 @@ cloud: size: ds512M image: CentOS 7 script_args: git develop + + maps: + my\-dev\-map: + ubuntu\-openstack: + \- dev\-test01 + \- dev\-test02 + \- dev\-test03 + \- dev\-test04 + my\-prd\-map: + ubuntu\-openstack: + \- prd\-web01 + \- prd\-web02 + minion: + id: custom\-minion\-id\-app1\-stack1\-frontend + grains: + roles: + \- webserver + deployment: datacenter4\-openstack + \- prod\-db01 + \- prod\-db02 .ft P .fi .UNINDENT @@ -62781,6 +63222,16 @@ supported by Salt Cloud. However, it may not necessarily be available on all Windows images. .SS Requirements .sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Support \fBwinexe\fP and \fBimpacket\fP has been deprecated and will be removed in +Sodium. These dependencies are replaced by \fBpypsexec\fP and \fBsmbprotocol\fP +respectivly. These are pure python alternatives that are compatible with all +supported python versions. +.UNINDENT +.UNINDENT +.sp Salt Cloud makes use of \fIimpacket\fP and \fIwinexe\fP to set up the Windows Salt Minion installer. .sp @@ -62803,6 +63254,14 @@ channels: .IP \(bu 2 \fI\%openSUSE Build Service\fP .UNINDENT +.INDENT 0.0 +.IP \(bu 2 +\fI\%pypsexec project home\fP +.UNINDENT +.INDENT 0.0 +.IP \(bu 2 +\fI\%smbprotocol project home\fP +.UNINDENT .sp Optionally WinRM can be used instead of \fIwinexe\fP if the python module \fIpywinrm\fP is available and WinRM is supported on the target Windows version. Information @@ -63254,18 +63713,6 @@ OpenSSL (to generate the certificates) .IP \(bu 2 \fI\%Salt\fP .UNINDENT -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -The Azure driver is currently being updated to work with the new version of -the Python Azure SDK, 1.0.0. However until that process is complete, this -driver will not work with Azure 1.0.0. Please be sure you\(aqre running on a -minimum version of 0.10.2 and less than version 1.0.0. -.sp -See \fI\%Issue #27980\fP for more information. -.UNINDENT -.UNINDENT .SS Configuration .sp Set up the provider config at \fB/etc/salt/cloud.providers.d/azure.conf\fP: @@ -64910,7 +65357,25 @@ More information about Azure is located at \fI\%http://www.windowsazure.com/\fP\ .SS Dependencies .INDENT 0.0 .IP \(bu 2 -Azure Cli \fB\(gapip install \(aqazure\-cli>=2.0.12\(aq\(ga\fP +\fI\%azure\fP >= 2.0.0rc6 +.IP \(bu 2 +\fI\%azure\-common\fP >= 1.1.4 +.IP \(bu 2 +\fI\%azure\-mgmt\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-mgmt\-compute\fP >= 0.33.0 +.IP \(bu 2 +\fI\%azure\-mgmt\-network\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-mgmt\-resource\fP >= 0.30.0 +.IP \(bu 2 +\fI\%azure\-mgmt\-storage\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-mgmt\-web\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-storage\fP >= 0.32.0 +.IP \(bu 2 +\fI\%msrestazure\fP >= 0.4.21 .IP \(bu 2 A Microsoft Azure account .IP \(bu 2 @@ -64999,7 +65464,7 @@ Set up an initial profile at \fB/etc/salt/cloud.profiles\fP: .sp .nf .ft C -azure\-ubuntu: +azure\-ubuntu\-pass: provider: my\-azure\-config image: Canonical|UbuntuServer|14.04.5\-LTS|14.04.201612050 size: Standard_D1_v2 @@ -65007,6 +65472,14 @@ azure\-ubuntu: ssh_username: azureuser ssh_password: verybadpass +azure\-ubuntu\-key: + provider: my\-azure\-config + image: Canonical|UbuntuServer|14.04.5\-LTS|14.04.201612050 + size: Standard_D1_v2 + location: eastus + ssh_username: azureuser + ssh_publickeyfile: /path/to/ssh_public_key.pub + azure\-win2012: provider: my\-azure\-config image: MicrosoftWindowsServer|WindowsServer|2012\-R2\-Datacenter|latest @@ -65086,8 +65559,8 @@ version: Such as 14.04.201612050 or latest .UNINDENT .UNINDENT .sp -It is possible to specify the URL of a custom image that you have access to, -such as: +It is possible to specify the URL or resource ID path of a custom image that you +have access to, such as: .INDENT 0.0 .INDENT 3.5 .sp @@ -65098,6 +65571,18 @@ https://.blob.core.windows.net/system/Microsoft.Compute/Images/= 3.0.0 +profitbricks >= 4.1.1 .UNINDENT .SS Configuration .INDENT 0.0 @@ -70702,8 +71382,10 @@ my\-profitbricks\-config: # username: user@domain.com password: 123456 - # datacenter_id is the UUID of a pre\-existing virtual data center. - datacenter_id: 9e6709a0\-6bf9\-4bd6\-8692\-60349c70ce0e + # datacenter is the UUID of a pre\-existing virtual data center. + datacenter: 9e6709a0\-6bf9\-4bd6\-8692\-60349c70ce0e + # delete_volumes is forcing a deletion of all volumes attached to a server on a deletion of a server + delete_volumes: true # Connect to public LAN ID 1. public_lan: 1 ssh_public_key: /path/to/id_rsa.pub @@ -70743,6 +71425,18 @@ salt\-cloud \-f list_datacenters my\-profitbricks\-config .fi .UNINDENT .UNINDENT +.sp +A new data center can be created with the following command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-f create_datacenter my\-profitbricks\-config name=example location=us/las description="my description" +.ft P +.fi +.UNINDENT +.UNINDENT .SS Authentication .sp The \fBusername\fP and \fBpassword\fP are the same as those used to log into the @@ -70758,7 +71452,9 @@ Here is an example of a profile: profitbricks_staging provider: my\-profitbricks\-config size: Micro Instance - image: 2f98b678\-6e7e\-11e5\-b680\-52540066fee9 + image_alias: \(aqubuntu:latest\(aq + # image or image_alias must be provided + # image: 2f98b678\-6e7e\-11e5\-b680\-52540066fee9 cores: 2 ram: 4096 public_lan: 1 @@ -70770,13 +71466,18 @@ profitbricks_staging profitbricks_production: provider: my\-profitbricks\-config image: Ubuntu\-15.10\-server\-2016\-05\-01 + image_password: MyPassword1 disk_type: SSD disk_size: 40 cores: 8 cpu_family: INTEL_XEON ram: 32768 public_lan: 1 + public_ips: + \- 172.217.18.174 private_lan: 2 + private_ips: + \- 192.168.100.10 public_firewall_rules: Allow SSH: protocol: TCP @@ -70794,141 +71495,209 @@ profitbricks_production: disk_size: 500 db_log: disk_size: 50 - disk_type: HDD - disk_availability_zone: ZONE_3 + disk_type: SSD .ft P .fi .UNINDENT .UNINDENT .sp +Locations can be obtained using the \fB\-\-list\-locations\fP option for the \fBsalt\-cloud\fP +command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# salt\-cloud \-\-list\-locations my\-profitbricks\-config +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Images can be obtained using the \fB\-\-list\-sizes\fP option for the \fBsalt\-cloud\fP +command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# salt\-cloud \-\-list\-images my\-profitbricks\-config +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Sizes can be obtained using the \fB\-\-list\-sizes\fP option for the \fBsalt\-cloud\fP +command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# salt\-cloud \-\-list\-sizes my\-profitbricks\-config +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Changed in version Fluorine: One or more public IP address can be reserved with the following command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# salt\-cloud \-f reserve_ipblock my\-profitbricks\-config location=\(aqus/ewr\(aq size=1 +.ft P +.fi +.UNINDENT +.UNINDENT + +.SS Profile Specifics: +.sp The following list explains some of the important properties. .INDENT 0.0 -.TP -.B size -Can be one of the options listed in the output of the following command: -.UNINDENT -.INDENT 0.0 +.IP \(bu 2 +\fBsize\fP \- Can be one of the options listed in the output of the following +command: +.INDENT 2.0 .INDENT 3.5 .sp .nf .ft C -salt\-cloud \-\-list\-sizes my\-profitbricks +salt\-cloud \-\-list\-sizes my\-profitbricks\-config .ft P .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B image -Can be one of the options listed in the output of the following command: -.UNINDENT -.INDENT 0.0 +.IP \(bu 2 +\fBimage\fP \- Can be one of the options listed in the output of the following +command: +.INDENT 2.0 .INDENT 3.5 .sp .nf .ft C -salt\-cloud \-\-list\-images my\-profitbricks +salt\-cloud \-\-list\-images my\-profitbricks\-config .ft P .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B disk_size -This option allows you to override the size of the disk as defined by the -size. The disk size is set in gigabytes (GB). -.TP -.B disk_type -This option allow the disk type to be set to HDD or SSD. The default is -HDD. -.TP -.B disk_availability_zone -This option will provision the volume in the specified availability_zone. -.TP -.B cores -This option allows you to override the number of CPU cores as defined by -the size. -.TP -.B ram -This option allows you to override the amount of RAM defined by the size. -The value must be a multiple of 256, e.g. 256, 512, 768, 1024, and so +.IP \(bu 2 +\fBimage_alias\fP \- Can be one of the options listed in the output of the +following command: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-f list_images my\-profitbricks\-config +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBdisk_size\fP \- This option allows you to override the size of the disk as +defined by the size. The disk size is set in gigabytes (GB). +.IP \(bu 2 +\fBdisk_type\fP \- This option allow the disk type to be set to HDD or SSD. The +default is HDD. +.sp +New in version Fluorine. + +.IP \(bu 2 +\fBimage_password\fP \- A password is set on the image for the "root" or +"Administrator" account. This field may only be set during volume creation. +Only valid with ProfitBricks supplied HDD (not ISO) images. The password must +contain at least 8 and no more than 50 characters. Only these characters are +allowed: [a\-z][A\-Z][0\-9] +.IP \(bu 2 +\fBcores\fP \- This option allows you to override the number of CPU cores as +defined by the size. +.IP \(bu 2 +\fBram\fP \- This option allows you to override the amount of RAM defined by the +size. The value must be a multiple of 256, e.g. 256, 512, 768, 1024, and so forth. -.TP -.B availability_zone -This options specifies in which availability zone the server should be -built. Zones include ZONE_1 and ZONE_2. The default is AUTO. -.TP -.B public_lan -This option will connect the server to the specified public LAN. If no -LAN exists, then a new public LAN will be created. The value accepts a LAN -ID (integer). -.TP -.B public_firewall_rules -This option allows for a list of firewall rules assigned to the public -network interface. -.INDENT 7.0 -.TP -.B Firewall Rule Name: -protocol: (TCP, UDP, ICMP) -source_mac: -source_ip: -target_ip: -port_range_start: -port_range_end: -icmp_type: -icmp_code: +.IP \(bu 2 +\fBpublic_lan\fP \- This option will connect the server to the specified public +LAN. If no LAN exists, then a new public LAN will be created. The value +accepts a LAN ID (integer). +.sp +New in version Fluorine. + +.IP \(bu 2 +\fBpublic_ips\fP \- Public IPs assigned to the NIC in the public LAN. +.IP \(bu 2 +\fBpublic_firewall_rules\fP \- This option allows for a list of firewall rules +assigned to the public network interface. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +Firewall Rule Name: + protocol: (TCP, UDP, ICMP) + source_mac: + source_ip: + target_ip: + port_range_start: + port_range_end: + icmp_type: + icmp_code: +.ft P +.fi .UNINDENT -.TP -.B nat -This option will enable NAT on the private NIC. -.TP -.B private_lan -This option will connect the server to the specified private LAN. If no -LAN exists, then a new private LAN will be created. The value accepts a LAN -ID (integer). -.TP -.B private_firewall_rules -This option allows for a list of firewall rules assigned to the private -network interface. -.INDENT 7.0 -.TP -.B Firewall Rule Name: -protocol: (TCP, UDP, ICMP) -source_mac: -source_ip: -target_ip: -port_range_start: -port_range_end: -icmp_type: -icmp_code: .UNINDENT -.TP -.B ssh_private_key -Full path to the SSH private key file. -.TP -.B ssh_public_key -Full path to the SSH public key file. -.TP -.B ssh_interface -This option will use the private LAN IP for node connections (such as -bootstrapping the node) instead of the public LAN IP. The value accepts -\(aqprivate_lan\(aq. -.TP -.B cpu_family -This option allow the CPU family to be set to AMD_OPTERON or INTEL_XEON. -The default is AMD_OPTERON. -.TP -.B volumes: -This option allows a list of additional volumes by name that will be -created and attached to the server. Each volume requires \(aqdisk_size\(aq +.IP \(bu 2 +\fBprivate_lan\fP \- This option will connect the server to the specified +private LAN. If no LAN exists, then a new private LAN will be created. The +value accepts a LAN ID (integer). +.sp +New in version Fluorine. + +.IP \(bu 2 +\fBprivate_ips\fP \- Private IPs assigned in the private LAN. NAT setting is +ignored when this setting is active. +.IP \(bu 2 +\fBprivate_firewall_rules\fP \- This option allows for a list of firewall rules +assigned to the private network interface. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +Firewall Rule Name: + protocol: (TCP, UDP, ICMP) + source_mac: + source_ip: + target_ip: + port_range_start: + port_range_end: + icmp_type: + icmp_code: +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBssh_private_key\fP \- Full path to the SSH private key file +.IP \(bu 2 +\fBssh_public_key\fP \- Full path to the SSH public key file +.IP \(bu 2 +\fBssh_interface\fP \- This option will use the private LAN IP for node +connections (such as as bootstrapping the node) instead of the public LAN IP. +The value accepts \(aqprivate_lan\(aq. +.IP \(bu 2 +\fBcpu_family\fP \- This option allow the CPU family to be set to AMD_OPTERON or +INTEL_XEON. The default is AMD_OPTERON. +.IP \(bu 2 +\fBvolumes\fP \- This option allows a list of additional volumes by name that +will be created and attached to the server. Each volume requires \(aqdisk_size\(aq and, optionally, \(aqdisk_type\(aq. The default is HDD. -.TP -.B deploy -Set to False if Salt should not be installed on the node. -.TP -.B wait_for_timeout -The timeout to wait in seconds for provisioning resources such as servers. -The default wait_for_timeout is 15 minutes. +.IP \(bu 2 +\fBdeploy\fP \- Set to \fBFalse\fP if Salt should not be installed on the node. +.IP \(bu 2 +\fBwait_for_timeout\fP \- The timeout to wait in seconds for provisioning +resources such as servers. The default wait_for_timeout is 15 minutes. .UNINDENT .sp For more information concerning cloud profiles, see here\&. @@ -71125,6 +71894,9 @@ verify_ssl: False # Network interfaces, netX net0: name=eth0,bridge=vmbr0,ip=dhcp + +# Public key to add to /root/.ssh/authorized_keys. +pubkey: \(aqssh\-rsa AAAAB3NzaC1yc2EAAAADAQABA...\(aq .ft P .fi .UNINDENT @@ -72521,7 +73293,7 @@ Profile configuration example: vagrant\-machine: host: my\-vhost # the Salt id of the virtual machine\(aqs host computer. provider: my\-vagrant\-config - cwd: /srv/machines # the path to your Virtualbox file. + cwd: /srv/machines # the path to your Vagrantfile. vagrant_runas: my\-username # the username who defined the Vagrantbox on the host # vagrant_up_timeout: 300 # (seconds) timeout for cmd.run of the "vagrant up" command # vagrant_provider: \(aq\(aq # option for "vagrant up" like: "\-\-provider vmware_fusion" @@ -73649,6 +74421,11 @@ VMware vSphere documentation: .TP .B \fBwin_installer\fP Specify windows minion client installer path +.TP +.B \fBwin_run_once\fP +Specify a list of commands to run on first login to a windows minion +.sp +\fI\%https://www.vmware.com/support/developer/vc\-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.GuiRunOnce.html\fP .UNINDENT .SS Cloning a VM .sp @@ -74315,20 +75092,6 @@ provider, profile, or map blocks use ssh_port option. .sp New in version 2015.5.0. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -ssh_port: 2222 -.ft P -.fi -.UNINDENT -.UNINDENT -.SS SSH Port -.sp -By default ssh port is set to port 22. If you want to use a custom port in -provider, profile, or map blocks use ssh_port option. .INDENT 0.0 .INDENT 3.5 .sp @@ -74857,7 +75620,7 @@ this may be seen in the Azure module: \fI\%https://github.com/saltstack/salt/tree/develop/salt/cloud/clouds/msazure.py\fP .SS The get_configured_provider() Function .sp -This function uses \fBconfig.is_provider_configured()\fP to determine wither +This function uses \fBconfig.is_provider_configured()\fP to determine whether all required information for this driver has been configured. The last value in the list of required settings should be followed by a comma. .SS Libcloud Based Modules @@ -75967,7 +76730,7 @@ presence of the instance will be managed statefully. .ft C my\-instance\-name: cloud.present: - \- provider: my\-ec2\-config + \- cloud_provider: my\-ec2\-config \- image: ami\-1624987f \- size: \(aqt1.micro\(aq \- ssh_username: ec2\-user @@ -79590,8 +80353,8 @@ automation support is based on proxy minions. NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is an opensourced Python library that implements a set of functions to interact with different router vendor devices using a unified API. -Begin vendor\-agnostic simplifies the operations, as the configuration -and the interaction with the network device does not rely on a particular vendor. +Being vendor\-agnostic simplifies operations, as the configuration and +interaction with the network device does not rely on a particular vendor. [image] .sp Beginning with 2017.7.0, the NAPALM modules have been transformed so they can @@ -80573,18 +81336,19 @@ read from the \fBconfig.option\fP function, meaning that the configuration can b stored in the minion config file, the master config file, or the minion\(aqs pillar. .sp -This configuration option is called \fBvirt.nic\fP\&. By default the \fBvirt.nic\fP +This configuration option is called \fBvirt:nic\fP\&. By default the \fBvirt:nic\fP option is empty but defaults to a data structure which looks like this: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -virt.nic: - default: - eth0: - bridge: br0 - model: virtio +virt: + nic: + default: + eth0: + bridge: br0 + model: virtio .ft P .fi .UNINDENT @@ -80602,7 +81366,7 @@ is \fBvirtio\fP This configuration sets up a network profile called default. The default profile creates a single Ethernet device on the virtual machine that is bridged to the hypervisor\(aqs \fBbr0\fP interface. This default setup does not -require setting up the \fBvirt.nic\fP configuration, and is the reason why a +require setting up the \fBvirt:nic\fP configuration, and is the reason why a default install only requires setting up the \fBbr0\fP bridge device on the hypervisor. .SS Define More Profiles @@ -80614,41 +81378,42 @@ more than one profile, this can be easily accomplished: .sp .nf .ft C -virt.nic: - dual: - eth0: - bridge: service_br - eth1: - bridge: storage_br - single: - eth0: - bridge: service_br - triple: - eth0: - bridge: service_br - eth1: - bridge: storage_br - eth2: - bridge: dmz_br - all: - eth0: - bridge: service_br - eth1: - bridge: storage_br - eth2: - bridge: dmz_br - eth3: - bridge: database_br - dmz: - eth0: - bridge: service_br - eth1: - bridge: dmz_br - database: - eth0: - bridge: service_br - eth1: - bridge: database_br +virt: + nic: + dual: + eth0: + bridge: service_br + eth1: + bridge: storage_br + single: + eth0: + bridge: service_br + triple: + eth0: + bridge: service_br + eth1: + bridge: storage_br + eth2: + bridge: dmz_br + all: + eth0: + bridge: service_br + eth1: + bridge: storage_br + eth2: + bridge: dmz_br + eth3: + bridge: database_br + dmz: + eth0: + bridge: service_br + eth1: + bridge: dmz_br + database: + eth0: + bridge: service_br + eth1: + bridge: database_br .ft P .fi .UNINDENT @@ -82274,6 +83039,11 @@ Specify the SSH private key file to be used for authentication. .UNINDENT .INDENT 0.0 .TP +.B \-\-priv\-passwd=SSH_PRIV_PASSWD +Specify the SSH private key file\(aqs passphrase if need be. +.UNINDENT +.INDENT 0.0 +.TP .B \-i, \-\-ignore\-host\-keys By default ssh host keys are honored and connections will ask for approval. Use this option to disable StrictHostKeyChecking. @@ -84080,29 +84850,20 @@ Validate the beacon configuration .SS salt.beacons.btmp .sp Beacon to fire events at failed login of users +.sp +New in version 2015.5.0. + +.SS Example Configuration .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -beacons: - btmp: [] -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.btmp.beacon(config) -Read the last btmp file and return information on the failed logins -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C +# Fire events on all failed logins beacons: btmp: [] +# Matching on user name, using a default time range beacons: btmp: \- users: @@ -84112,6 +84873,7 @@ beacons: start: \(aq8am\(aq end: \(aq4pm\(aq +# Matching on user name, overriding the default time range beacons: btmp: \- users: @@ -84123,10 +84885,86 @@ beacons: time_range: start: \(aq8am\(aq end: \(aq4pm\(aq + +# Matching on group name, overriding the default time range +beacons: + btmp: + \- groups: + users: + time_range: + start: \(aq8am\(aq + end: \(aq4pm\(aq + \- defaults: + time_range: + start: \(aq8am\(aq + end: \(aq4pm\(aq .ft P .fi .UNINDENT .UNINDENT +.SS Use Case: Posting Failed Login Events to Slack +.sp +This can be done using the following reactor SLS: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +report\-wtmp: + runner.salt.cmd: + \- args: + \- fun: slack.post_message + \- channel: mychannel # Slack channel + \- from_name: someuser # Slack user + \- message: "Failed login from \(ga{{ data.get(\(aquser\(aq, \(aq\(aq) or \(aqunknown user\(aq }}\(ga on \(ga{{ data[\(aqid\(aq] }}\(ga" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Match the event like so in the master config file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +reactor: + + \- \(aqsalt/beacon/*/btmp/\(aq: + \- salt://reactor/btmp.sls +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This approach uses the \fBslack execution module\fP directly on the master, and therefore requires +that the master has a slack API key in its configuration: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +slack: + api_key: xoxb\-XXXXXXXXXXXX\-XXXXXXXXXXXX\-XXXXXXXXXXXXXXXXXXXXXXXX +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +See the \fBslack execution module\fP +documentation for more information. While you can use an individual user\(aqs +API key to post to Slack, a bot user is likely better suited for this. The +\fBslack engine\fP documentation has information +on how to set up a bot user. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.beacons.btmp.beacon(config) +Read the last btmp file and return information on the failed logins .UNINDENT .INDENT 0.0 .TP @@ -84296,7 +85134,7 @@ the beacon configuration. .TP .B note The \fIinotify\fP beacon only works on OSes that have \fIinotify\fP -kernel support. Currently this excludes FreeBSD, macOS, and Windows. +kernel support. .UNINDENT .INDENT 0.0 .TP @@ -85412,53 +86250,149 @@ Validate the beacon configuration .SS salt.beacons.wtmp .sp Beacon to fire events at login of users as registered in the wtmp file +.sp +New in version 2015.5.0. + +.SS Example Configuration +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Fire events on all logins +beacons: + wtmp: [] + +# Matching on user name, using a default time range +beacons: + wtmp: + \- users: + gareth: + \- defaults: + time_range: + start: \(aq8am\(aq + end: \(aq4pm\(aq + +# Matching on user name, overriding the default time range +beacons: + wtmp: + \- users: + gareth: + time_range: + start: \(aq7am\(aq + end: \(aq3pm\(aq + \- defaults: + time_range: + start: \(aq8am\(aq + end: \(aq4pm\(aq + +# Matching on group name, overriding the default time range +beacons: + wtmp: + \- groups: + users: + time_range: + start: \(aq7am\(aq + end: \(aq3pm\(aq + \- defaults: + time_range: + start: \(aq8am\(aq + end: \(aq4pm\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.SS How to Tell What An Event Means +.sp +In the events that this beacon fires, a type of \fB7\fP denotes a login, while a +type of \fB8\fP denotes a logout. These values correspond to the \fBut_type\fP +value from a wtmp/utmp event (see the \fBwtmp\fP manpage for more information). +In the extremely unlikely case that your platform uses different values, they +can be overridden using a \fBut_type\fP key in the beacon configuration: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C beacons: - wtmp: [] + wtmp: + \- ut_type: + login: 9 + logout: 10 .ft P .fi .UNINDENT .UNINDENT +.sp +This beacon\(aqs events include an \fBaction\fP key which will be either \fBlogin\fP +or \fBlogout\fP depending on the event type. +.sp +Changed in version Fluorine: \fBaction\fP key added to beacon event, and \fBut_type\fP config parameter +added. + +.SS Use Case: Posting Login/Logout Events to Slack +.sp +This can be done using the following reactor SLS: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +report\-wtmp: + runner.salt.cmd: + \- args: + \- fun: slack.post_message + \- channel: mychannel # Slack channel + \- from_name: someuser # Slack user + \- message: "{{ data.get(\(aqaction\(aq, \(aqUnknown event\(aq) | capitalize }} from \(ga{{ data.get(\(aquser\(aq, \(aq\(aq) or \(aqunknown user\(aq }}\(ga on \(ga{{ data[\(aqid\(aq] }}\(ga" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Match the event like so in the master config file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +reactor: + + \- \(aqsalt/beacon/*/wtmp/\(aq: + \- salt://reactor/wtmp.sls +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This approach uses the \fBslack execution module\fP directly on the master, and therefore requires +that the master has a slack API key in its configuration: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +slack: + api_key: xoxb\-XXXXXXXXXXXX\-XXXXXXXXXXXX\-XXXXXXXXXXXXXXXXXXXXXXXX +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +See the \fBslack execution module\fP +documentation for more information. While you can use an individual user\(aqs +API key to post to Slack, a bot user is likely better suited for this. The +\fBslack engine\fP documentation has information +on how to set up a bot user. +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.beacons.wtmp.beacon(config) Read the last wtmp file and return information on the logins -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -beacons: - wtmp: [] - -beacons: - wtmp: - \- users: - gareth: - \- defaults: - time_range: - start: \(aq8am\(aq - end: \(aq4pm\(aq - -beacons: - wtmp: - \- users: - gareth: - time_range: - start: \(aq8am\(aq - end: \(aq4pm\(aq - \- defaults: - time_range: - start: \(aq8am\(aq - end: \(aq4pm\(aq -.ft P -.fi -.UNINDENT -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -85572,7 +86506,7 @@ Remove the key from the cache bank with all the key content. .UNINDENT .INDENT 0.0 .TP -.B salt.cache.consul.list(bank) +.B salt.cache.consul.list_(bank) Return an iterable object containing all entries stored in the specified bank. .UNINDENT .INDENT 0.0 @@ -85650,7 +86584,7 @@ Remove the key from the cache bank with all the key content. .UNINDENT .INDENT 0.0 .TP -.B salt.cache.etcd_cache.list(bank) +.B salt.cache.etcd_cache.ls(bank) Return an iterable object containing all entries stored in the specified bank. .UNINDENT @@ -85696,7 +86630,7 @@ Remove the key from the cache bank with all the key content. .UNINDENT .INDENT 0.0 .TP -.B salt.cache.localfs.list(bank, cachedir) +.B salt.cache.localfs.list_(bank, cachedir) Return an iterable object containing all entries stored in the specified bank. .UNINDENT .INDENT 0.0 @@ -85774,7 +86708,7 @@ Remove the key from the cache bank with all the key content. .UNINDENT .INDENT 0.0 .TP -.B salt.cache.mysql_cache.list(bank) +.B salt.cache.mysql_cache.ls(bank) Return an iterable object containing all entries stored in the specified bank. .UNINDENT @@ -85784,7 +86718,7 @@ bank. Get a cursor and run a query. Reconnect up to \fIretries\fP times if needed. Returns: cursor, affected rows counter -Raises: SaltCacheError, AttributeError, MySQLdb.OperationalError +Raises: SaltCacheError, AttributeError, OperationalError .UNINDENT .INDENT 0.0 .TP @@ -86014,7 +86948,7 @@ should not change as the user needs to explicitly allow Salt inject scripts in t .UNINDENT .INDENT 0.0 .TP -.B salt.cache.redis_cache.list(bank) +.B salt.cache.redis_cache.list_(bank) Lists entries stored in the specified bank. .UNINDENT .INDENT 0.0 @@ -86036,7 +86970,7 @@ _ T{ \fBazurearm\fP T} T{ -Azure Cloud Module +Azure ARM Cloud Module T} _ T{ @@ -86466,37 +87400,99 @@ salt\-cloud \-a stop myinstance force=True .UNINDENT .UNINDENT .SS salt.cloud.clouds.azurearm -.SS Azure Cloud Module +.SS Azure ARM Cloud Module .sp New in version 2016.11.0. .sp -The Azure cloud module is used to control access to Microsoft Azure +Changed in version Fluorine. + +.sp +The Azure ARM cloud module is used to control access to Microsoft Azure Resource Manager .INDENT 0.0 .TP .B depends .INDENT 7.0 .IP \(bu 2 -\fI\%Microsoft Azure SDK for Python\fP >= 2.0rc5 +\fI\%azure\fP >= 2.0.0rc6 .IP \(bu 2 -\fI\%Microsoft Azure Storage SDK for Python\fP >= 0.32 +\fI\%azure\-common\fP >= 1.1.4 .IP \(bu 2 -\fIMicrosoft Azure CLI \fP >= 2.0.12 +\fI\%azure\-mgmt\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-mgmt\-compute\fP >= 0.33.0 +.IP \(bu 2 +\fI\%azure\-mgmt\-network\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-mgmt\-resource\fP >= 0.30.0 +.IP \(bu 2 +\fI\%azure\-mgmt\-storage\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-mgmt\-web\fP >= 0.30.0rc6 +.IP \(bu 2 +\fI\%azure\-storage\fP >= 0.32.0 +.IP \(bu 2 +\fI\%msrestazure\fP >= 0.4.21 .UNINDENT .TP .B configuration Required provider parameters: +.INDENT 7.0 +.TP +.B if using username and password: +.INDENT 7.0 +.IP \(bu 2 +\fBsubscription_id\fP +.IP \(bu 2 +\fBusername\fP +.IP \(bu 2 +\fBpassword\fP +.UNINDENT +.TP +.B if using a service principal: +.INDENT 7.0 +.IP \(bu 2 +\fBsubscription_id\fP +.IP \(bu 2 +\fBtenant\fP +.IP \(bu 2 +\fBclient_id\fP +.IP \(bu 2 +\fBsecret\fP +.UNINDENT +.UNINDENT .sp -if using username and password: -* \fBsubscription_id\fP -* \fBusername\fP -* \fBpassword\fP -.sp -if using a service principal: -* \fBsubscription_id\fP -* \fBtenant\fP -* \fBclient_id\fP -* \fBsecret\fP +Optional provider parameters: +.INDENT 7.0 +.TP +\fBcloud_environment\fP: Used to point the cloud driver to different API endpoints, such as Azure GovCloud. Possible values: +.INDENT 7.0 +.IP \(bu 2 +\fBAZURE_PUBLIC_CLOUD\fP (default) +.IP \(bu 2 +\fBAZURE_CHINA_CLOUD\fP +.IP \(bu 2 +\fBAZURE_US_GOV_CLOUD\fP +.IP \(bu 2 +\fBAZURE_GERMAN_CLOUD\fP +.IP \(bu 2 +HTTP base URL for a custom endpoint, such as Azure Stack. The \fB/metadata/endpoints\fP path will be added to the URL. +.UNINDENT +.TP +\fBuserdata\fP and \fBuserdata_file\fP: +Azure Resource Manager uses a separate VirtualMachineExtension object to pass userdata scripts to the virtual +machine. Arbitrary shell commands can be passed via the \fBuserdata\fP parameter, or via a file local to the Salt +Cloud system using the \fBuserdata_file\fP parameter. Note that the local file is not treated as a script by the +extension, so "one\-liners" probably work best. If greater functionality is desired, a web\-hosted script file can +be specified via \fBuserdata_file: https://raw.githubusercontent.com/account/repo/master/azure\-script.py\fP, which +will be executed on the system after VM creation. For Windows systems, script files ending in \fB\&.ps1\fP will be +executed with \fBpowershell.exe\fP\&. The \fBuserdata\fP parameter takes precedence over the \fBuserdata_file\fP parameter +when creating the custom script extension. +.TP +\fBwin_installer\fP: +This parameter, which holds the local path to the Salt Minion installer package, is used to determine if the +virtual machine type will be "Windows". Only set this parameter on profiles which install Windows operating systems. +.UNINDENT .UNINDENT .sp Example \fB/etc/salt/cloud.providers\fP or @@ -86507,81 +87503,116 @@ Example \fB/etc/salt/cloud.providers\fP or .nf .ft C my\-azure\-config with username and password: - driver: azure + driver: azurearm subscription_id: 3287abc8\-f98a\-c678\-3bde\-326766fd3617 username: larry password: 123pass Or my\-azure\-config with service principal: - driver: azure + driver: azurearm subscription_id: 3287abc8\-f98a\-c678\-3bde\-326766fd3617 tenant: ABCDEFAB\-1234\-ABCD\-1234\-ABCDEFABCDEF client_id: ABCDEFAB\-1234\-ABCD\-1234\-ABCDEFABCDEF secret: XXXXXXXXXXXXXXXXXXXXXXXX + cloud_environment: AZURE_US_GOV_CLOUD The Service Principal can be created with the new Azure CLI (https://github.com/Azure/azure\-cli) with: az ad sp create\-for\-rbac \-n "http://" \-\-role \-\-scopes For example, this creates a service principal with \(aqowner\(aq role for the whole subscription: az ad sp create\-for\-rbac \-n "http://mysaltapp" \-\-role owner \-\-scopes /subscriptions/3287abc8\-f98a\-c678\-3bde\-326766fd3617 - *Note: review the details of Service Principals. Owner role is more than you normally need, and you can restrict scope to a resource group or individual resources. + + *Note: review the details of Service Principals. Owner role is more than you normally need, and you can restrict + scope to a resource group or individual resources. .ft P .fi .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.avail_images(conn=None, call=None) -List available images for Azure +.B salt.cloud.clouds.azurearm.avail_images(call=None) +Return a dict of all available images on the provider .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.avail_locations(conn=None, call=None) -List available locations for Azure +.B salt.cloud.clouds.azurearm.avail_locations(call=None) +Return a dict of all available regions. .UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.azurearm.avail_sizes(call=None) -Return a list of sizes from Azure +Return a list of sizes available from the provider .UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.azurearm.create(vm_) -Create a single VM from a data dict +Create a single VM from a data dict. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.create_interface(call=None, kwargs=None) -Create a network interface +.B salt.cloud.clouds.azurearm.create_network_interface(call=None, kwargs=None) +Create a network interface. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.create_security_group(call=None, kwargs=None) -Create a security group -.UNINDENT -.INDENT 0.0 +.B salt.cloud.clouds.azurearm.create_or_update_vmextension(call=None, kwargs=None) +New in version Fluorine. + +.sp +Create or update a VM extension object "inside" of a VM object. +.INDENT 7.0 .TP -.B salt.cloud.clouds.azurearm.create_security_rule(call=None, kwargs=None) -Create a security rule (aka, firewall rule) +.B required kwargs: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +extension_name: myvmextension +virtual_machine_name: myvm +settings: {"commandToExecute": "hostname"} +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B optional kwargs: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +resource_group: < inferred from cloud configs > +location: < inferred from cloud configs > +publisher: < default: Microsoft.Azure.Extensions > +virtual_machine_extension_type: < default: CustomScript > +type_handler_version: < default: 2.0 > +auto_upgrade_minor_version: < default: True > +protected_settings: < default: None > +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.azurearm.delete_blob(call=None, kwargs=None) -Delete a blob from a container +Delete a blob from a container. .UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.azurearm.delete_interface(call=None, kwargs=None) -Create a network interface +Delete a network interface. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.delete_ip(call=None, kwargs=None) -Create a network interface +.B salt.cloud.clouds.azurearm.delete_managed_disk(call=None, kwargs=None) +Delete a managed disk from a resource group. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.destroy(name, conn=None, call=None, kwargs=None) -Destroy a VM +.B salt.cloud.clouds.azurearm.destroy(name, call=None, kwargs=None) +Destroy a VM. .sp CLI Examples: .INDENT 7.0 @@ -86598,13 +87629,18 @@ salt\-cloud \-a destroy myminion service_name=myservice .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.get_configured_provider() -Return the first configured instance. +.B salt.cloud.clouds.azurearm.get_api_versions(call=None, kwargs=None) +Get a resource type api versions .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.get_conn(Client=None) -Return a conn object for the passed VM data +.B salt.cloud.clouds.azurearm.get_configured_provider() +Return the first configured provider instance. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.cloud.clouds.azurearm.get_conn(client_type) +Return a connection object for a client type. .UNINDENT .INDENT 0.0 .TP @@ -86613,113 +87649,98 @@ Warn if dependencies aren\(aqt met. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.get_location() +.B salt.cloud.clouds.azurearm.get_location(call=None, kwargs=None) Return the location that is configured for this provider .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.azurearm.get_resource_by_id(resource_id, api_version, extract_value=None) +Get an AzureARM resource by id +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.azurearm.list_blobs(call=None, kwargs=None) -List blobs +List blobs. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.list_containers(call=None, kwargs=None) -List containers +.B salt.cloud.clouds.azurearm.list_nodes(call=None) +List VMs on this Azure account .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.list_interfaces(call=None, kwargs=None) -Create a network interface +.B salt.cloud.clouds.azurearm.list_nodes_full(call=None) +List all VMs on the subscription with full information .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.list_ip_configurations(call=None, kwargs=None) -List IP configurations +.B salt.cloud.clouds.azurearm.list_resource_groups(call=None) +List resource groups associated with the subscription .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.list_networks(call=None, kwargs=None) -List virtual networks -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_nodes(conn=None, call=None) -List VMs on this Azure Active Provider -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_nodes_full(conn=None, call=None) -List VMs on this Azure account, with full information -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_nodes_select(conn=None, call=None) -Return a list of the VMs that are on the provider, with select fields -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_resource_groups(conn=None, call=None) -List resource groups associated with the account -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_security_groups(call=None, kwargs=None) -Create a network security_group -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_security_rules(call=None, kwargs=None) -Lits network security rules -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_storage_accounts(call=None, kwargs=None) -List storage accounts -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.list_storage_containers(call=None, kwargs=None) -List containers +.B salt.cloud.clouds.azurearm.list_storage_accounts(call=None) +List storage accounts within the subscription. .UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.azurearm.list_subnets(call=None, kwargs=None) -List subnets in a virtual network +List subnets in a virtual network. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.make_safe(data) -Turn object data into something serializable +.B salt.cloud.clouds.azurearm.list_virtual_networks(call=None, kwargs=None) +List virtual networks. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.pages_to_list(items) -Convert a set of links from a group of pages to a list +.B salt.cloud.clouds.azurearm.request_instance(vm_) +Request a VM from Azure. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.request_instance(call=None, kwargs=None) -Request that Azure spin up a new instance +.B salt.cloud.clouds.azurearm.show_instance(name, call=None) +Show the details from AzureARM concerning an instance .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.show_instance(name, resource_group=None, call=None) -Show the details from the provider concerning an instance +.B salt.cloud.clouds.azurearm.start(name, call=None) +New in version Fluorine. + +.sp +Start a VM +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-a start myminion +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.azurearm.show_interface(call=None, kwargs=None) -Create a network interface +.B salt.cloud.clouds.azurearm.stop(name, call=None) +New in version Fluorine. + +.sp +Stop (deallocate) a VM +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-a stop myminion +.ft P +.fi .UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.show_security_group(call=None, kwargs=None) -Create a network security_group .UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.azurearm.show_security_rule(call=None, kwargs=None) -Create a network security_rule .UNINDENT .SS salt.cloud.clouds.cloudstack .SS CloudStack Cloud Module @@ -87459,7 +88480,7 @@ Stop a VM in DimensionData. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the VM to stop. +\fBname\fP (\fIstr\fP) \-\- The name of the VM to stop. .UNINDENT .sp CLI Example: @@ -87516,6 +88537,11 @@ my\-ec2\-config: # EC2 metadata set both id and key to \(aquse\-instance\-role\-credentials\(aq id: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + + # If \(aqrole_arn\(aq is specified the above credentials are used to + # to assume to the role. By default, role_arn is set to None. + role_arn: arn:aws:iam::012345678910:role/SomeRoleName + # The ssh keyname to use keyname: default # The amazon security group @@ -87548,6 +88574,10 @@ my\-ec2\-config: # Optional ssh_gateway_username: root + # Default to nc \-q0 %h %p + # Optional + ssh_gateway_command: "\-W %h:%p" + # One authentication method is required. If both # are specified, Private key wins. @@ -87896,6 +88926,11 @@ Warn if dependencies aren\(aqt met. .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.ec2.get_imageid(vm_) +Returns the ImageId to use +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.ec2.get_location(vm_=None) .INDENT 7.0 .TP @@ -88123,7 +89158,8 @@ CLI Example: .sp .nf .ft C -salt\-cloud \-f register_image my\-ec2\-config ami_name=my_ami description="my description" root_device_name=/dev/xvda snapshot_id=snap\-xxxxxxxx +salt\-cloud \-f register_image my\-ec2\-config ami_name=my_ami description="my description" + root_device_name=/dev/xvda snapshot_id=snap\-xxxxxxxx .ft P .fi .UNINDENT @@ -93035,7 +94071,8 @@ List block devices .SS 1&1 Cloud Server Module .sp The 1&1 SaltStack cloud module allows a 1&1 server to be automatically deployed -and bootstrapped with Salt. +and bootstrapped with Salt. It also has functions to create block storages and +ssh keys. .INDENT 0.0 .TP .B depends @@ -93126,6 +94163,31 @@ my\-oneandone\-profile: .fi .UNINDENT .UNINDENT +.sp +Create an SSH key +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo salt\-cloud \-f create_ssh_key my\-oneandone\-config name=\(aqSaltTest\(aq description=\(aqSaltTestDescription\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Create a block storage +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sudo salt\-cloud \-f create_block_storage my\-oneandone\-config name=\(aqSaltTest2\(aq +description=\(aqSaltTestDescription\(aq size=50 datacenter_id=\(aq5091F6D8CBFEF9C26ACE957C652D5D49\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.oneandone.avail_images(conn=None, call=None) @@ -93149,6 +94211,16 @@ Create a single VM from a data dict .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.oneandone.create_block_storage(kwargs=None, call=None) +Create a block storage +.UNINDENT +.INDENT 0.0 +.TP +.B salt.cloud.clouds.oneandone.create_ssh_key(kwargs=None, call=None) +Create an ssh key +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.oneandone.destroy(name, call=None) destroy a server by name .INDENT 7.0 @@ -94540,6 +95612,9 @@ The ID of the template to be cloned. Can be used instead of \fBtemplate_name\fP\ .TP .B template_name The name of the template to be cloned. Can be used instead of \fBtemplate_id\fP\&. +.TP +.B clone_images +Optional, defaults to False. Indicates if the images attached to the template should be cloned as well. .UNINDENT .sp CLI Example: @@ -96455,6 +97530,9 @@ my\-profitbricks\-profile: availability_zone: ZONE_1 # Name or UUID of the HDD image to use. image: + # Image alias could be provided instead of image. + # Example \(aqubuntu:latest\(aq + #image_alias: # Size of the node disk in GB (overrides server size). disk_size: 40 # Type of disk (HDD or SSD). @@ -96518,6 +97596,12 @@ Return a list of the images that are on the provider .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.profitbricks.avail_locations(call=None) +Return a dict of all available VM locations on the cloud provider with +relevant data +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.profitbricks.avail_sizes(call=None) Return a dict of all available VM sizes on the cloud provider with relevant data. Latest version can be found at: @@ -96538,7 +97622,8 @@ CLI Example: .sp .nf .ft C -salt\-cloud \-f create_datacenter profitbricks name=mydatacenter location=us/las description="my description" +salt\-cloud \-f create_datacenter profitbricks name=mydatacenter +location=us/las description="my description" .ft P .fi .UNINDENT @@ -96671,6 +97756,23 @@ salt\-cloud \-f list_datacenters my\-profitbricks\-config .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.profitbricks.list_images(call=None, kwargs=None) +List all the images with alias by location +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-f list_images my\-profitbricks\-config location=us/las +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.profitbricks.list_loadbalancers(call=None) Return a list of the loadbalancers that are on the provider .UNINDENT @@ -96706,6 +97808,11 @@ salt\-cloud \-a reboot vm_name .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.profitbricks.reserve_ipblock(call=None, kwargs=None) +Reserve the IP Block +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.profitbricks.set_public_lan(lan_id) Enables public Internet access for the specified public_lan. If no public LAN is available, then a new public LAN is created. @@ -96717,6 +97824,10 @@ Show the details from the provider concerning an instance .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.profitbricks.signal_event(vm_, event, description) +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.profitbricks.ssh_interface(vm_) Return the ssh_interface type to connect to. Either \(aqpublic_ips\(aq (default) or \(aqprivate_ips\(aq. @@ -96761,6 +97872,11 @@ salt\-cloud \-a stop vm_name .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.cloud.clouds.profitbricks.version_compatible(version) +Checks profitbricks version +.UNINDENT .SS salt.cloud.clouds.proxmox .SS Proxmox Cloud Module .sp @@ -97664,11 +98780,6 @@ scaleway\-config: .UNINDENT .INDENT 0.0 .TP -.B depends -requests -.UNINDENT -.INDENT 0.0 -.TP .B salt.cloud.clouds.scaleway.avail_images(call=None) Return a list of the images that are on the provider. .UNINDENT @@ -97702,11 +98813,6 @@ Return the first configured instance. .UNINDENT .INDENT 0.0 .TP -.B salt.cloud.clouds.scaleway.get_dependencies() -Warn if dependencies aren\(aqt met. -.UNINDENT -.INDENT 0.0 -.TP .B salt.cloud.clouds.scaleway.get_image(server_) Return the image object to use. .UNINDENT @@ -99860,6 +100966,38 @@ nyc\-4gb\-4cpu\-ubuntu\-14\-04: .fi .UNINDENT .UNINDENT +.sp +This driver also supports Vultr\(aqs \fIstartup script\fP feature. You can list startup +scripts in your account with +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-f list_scripts +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +That list will include the IDs of the scripts in your account. Thus, if you +have a script called \(aqsetup\-networking\(aq with an ID of 493234 you can specify +that startup script in a profile like so: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +nyc\-2gb\-1cpu\-ubuntu\-17\-04: + location: 1 + provider: my\-vultr\-config + image: 223 + size: 13 + startup_script_id: 493234 +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.cloud.clouds.vultrpy.avail_images(conn=None) @@ -99872,6 +101010,11 @@ return available datacenter locations .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.vultrpy.avail_scripts(conn=None) +return available startup scripts +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.vultrpy.avail_sizes(conn=None) Return available sizes ("plans" in VultrSpeak) .UNINDENT @@ -99907,6 +101050,11 @@ Return a list of the VMs that are on the provider, with select fields .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.vultrpy.list_scripts(conn=None, call=None) +return list of Startup Scripts +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.vultrpy.show_instance(name, call=None) Show the details from the provider concerning an instance .UNINDENT @@ -100034,7 +101182,7 @@ salt\-cloud \-\-list\-locations myxen .INDENT 0.0 .TP .B salt.cloud.clouds.xen.avail_sizes(session=None, call=None) -Return a list of Xen templat definitions +Return a list of Xen template definitions .INDENT 7.0 .INDENT 3.5 .sp @@ -100119,6 +101267,21 @@ Return the first configured instance. .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.xen.get_pv_args(name, session=None, call=None) +Get PV arguments for a VM +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-a get_pv_args xenvm01 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.xen.get_vm_ip(name=None, session=None, call=None) Get the IP address of the VM .INDENT 7.0 @@ -100284,6 +101447,21 @@ salt\-cloud \-a resume xenvm01 .UNINDENT .INDENT 0.0 .TP +.B salt.cloud.clouds.xen.set_pv_args(name, kwargs=None, session=None, call=None) +Set PV arguments for a VM +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-cloud \-a set_pv_args xenvm01 pv_args="utf\-8 graphical" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.cloud.clouds.xen.set_vm_ip(name=None, ipv4_cidr=None, ipv4_gw=None, session=None, call=None) Set the IP address on a virtual interface (vif) .UNINDENT @@ -100516,7 +101694,7 @@ An engine that sends events to the Logentries logging service. T} _ T{ -\fBlogstash\fP +\fBlogstash_engine\fP T} T{ An engine that reads messages from the salt event bus and pushes them onto a logstash endpoint. T} @@ -100582,7 +101760,7 @@ Send events from Docker events :Depends: Docker API >= 1.22 .INDENT 0.0 .TP -.B salt.engines.docker_events.start(docker_url=u\(aqunix://var/run/docker.sock\(aq, timeout=60, tag=u\(aqsalt/engines/docker_events\(aq) +.B salt.engines.docker_events.start(docker_url=u\(aqunix://var/run/docker.sock\(aq, timeout=60, tag=u\(aqsalt/engines/docker_events\(aq, filters=None) Scan for Docker events and fire events .sp Example Config @@ -100594,6 +101772,12 @@ Example Config engines: \- docker_events: docker_url: unix://var/run/docker.sock + filters: + event: + \- start + \- stop + \- die + \- oom .ft P .fi .UNINDENT @@ -100602,6 +101786,8 @@ engines: The config above sets up engines to listen for events from the Docker daemon and publish them to the Salt event bus. +.sp +For filter reference, see \fI\%https://docs.docker.com/engine/reference/commandline/events/\fP .UNINDENT .SS salt.engines.hipchat module .sp @@ -101274,7 +102460,7 @@ alias of \fI\%salt.engines.logentries.TLSSocketAppender\fP .B salt.engines.logentries.start(endpoint=u\(aqdata.logentries.com\(aq, port=10000, token=None, tag=u\(aqsalt/engines/logentries\(aq) Listen to salt events and forward them to Logentries .UNINDENT -.SS salt.engines.logstash +.SS salt.engines.logstash_engine .sp An engine that reads messages from the salt event bus and pushes them onto a logstash endpoint. @@ -101302,7 +102488,7 @@ logstash .UNINDENT .INDENT 0.0 .TP -.B salt.engines.logstash.start(host, port=5959, tag=u\(aqsalt/engine/logstash\(aq, proto=u\(aqudp\(aq) +.B salt.engines.logstash_engine.start(host, port=5959, tag=u\(aqsalt/engine/logstash\(aq, proto=u\(aqudp\(aq) Listen to salt events and forward them to logstash .UNINDENT .SS salt.engines.napalm_syslog @@ -101833,15 +103019,15 @@ Check whether a user is in any group, including whether a group has the \(aq*\(a .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBuser\fP (\fI\%str\fP) \-\- The username being checked against +\fBuser\fP (\fIstr\fP) \-\- The username being checked against .IP \(bu 2 -\fBcommand\fP (\fI\%str\fP) \-\- The command that is being invoked (e.g. test.ping) +\fBcommand\fP (\fIstr\fP) \-\- The command that is being invoked (e.g. test.ping) .IP \(bu 2 -\fBgroups\fP (\fI\%dict\fP) \-\- the dictionary with groups permissions structure. +\fBgroups\fP (\fIdict\fP) \-\- the dictionary with groups permissions structure. .UNINDENT .TP .B Return type -\fI\%tuple\fP +tuple .TP .B Returns On a successful permitting match, returns 2\-element tuple that contains @@ -101933,10 +103119,12 @@ todo: add specification for the minion to use to recover pillar .INDENT 7.0 .TP .B get_jobs_from_runner(outstanding_jids) -Given a list of job_ids, return a dictionary of those job_ids that have completed and their results. +Given a list of job_ids, return a dictionary of those job_ids that have +completed and their results. .sp -Query the salt event bus via the jobs runner. jobs.list_job will show a job in progress, -jobs.lookup_jid will return a job that has completed. +Query the salt event bus via the jobs runner. jobs.list_job will show +a job in progress, jobs.lookup_jid will return a job that has +completed. .sp returns a dictionary of job id: result .UNINDENT @@ -102009,11 +103197,11 @@ returns tuple of: args (list), kwargs (dict) .IP \(bu 2 \fBmessage_generator\fP (\fIgenerator of dict\fP) \-\- Generates messages from slack that should be run .IP \(bu 2 -\fBfire_all\fP (\fI\%bool\fP) \-\- Whether to also fire messages to the event bus +\fBfire_all\fP (\fIbool\fP) \-\- Whether to also fire messages to the event bus .IP \(bu 2 -\fBtag\fP (\fI\%str\fP) \-\- The tag to send to use to send to the event bus +\fBtag\fP (\fIstr\fP) \-\- The tag to send to use to send to the event bus .IP \(bu 2 -\fBinterval\fP (\fI\%int\fP) \-\- time to wait between ending a loop and beginning the next +\fBinterval\fP (\fIint\fP) \-\- time to wait between ending a loop and beginning the next .UNINDENT .UNINDENT .UNINDENT @@ -102267,6 +103455,12 @@ Direct call executor module T} _ T{ +\fBdocker\fP +T} T{ +Docker executor module +T} +_ +T{ \fBsplay\fP T} T{ Splay function calls across targeted minions @@ -102287,6 +103481,24 @@ Direct call executor module .B salt.executors.direct_call.execute(opts, data, func, args, kwargs) Directly calls the given function with arguments .UNINDENT +.SS salt.executors.docker module +.sp +Docker executor module +.sp +Used with the docker proxy minion. +.INDENT 0.0 +.TP +.B salt.executors.docker.allow_missing_func(function) +Allow all calls to be passed through to docker container. +.sp +The docker call will use direct_call, which will return back if the module +was unable to be run. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.executors.docker.execute(opts, data, func, args, kwargs) +Directly calls the given function with arguments +.UNINDENT .SS salt.executors.splay module .sp Splay function calls across targeted minions @@ -102390,7 +103602,6 @@ _ T{ \fBazurefs\fP T} T{ -The backend for serving files from the Azure blob storage service. T} _ T{ @@ -102430,68 +103641,6 @@ Subversion Fileserver Backend T} _ .TE -.SS salt.fileserver.azurefs -.sp -The backend for serving files from the Azure blob storage service. -.sp -New in version 2015.8.0. - -.sp -To enable, add \fBazurefs\fP to the \fBfileserver_backend\fP option in -the Master config file. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -fileserver_backend: - \- azurefs -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Starting in Salt 2018.3.0, this fileserver requires the standalone Azure -Storage SDK for Python. Theoretically any version >= v0.20.0 should work, but -it was developed against the v0.33.0 version. -.sp -Each storage container will be mapped to an environment. By default, containers -will be mapped to the \fBbase\fP environment. You can override this behavior with -the \fBsaltenv\fP configuration option. You can have an unlimited number of -storage containers, and can have a storage container serve multiple -environments, or have multiple storage containers mapped to the same -environment. Normal first\-found rules apply, and storage containers are -searched in the order they are defined. -.sp -You must have either an account_key or a sas_token defined for each container, -if it is private. If you use a sas_token, it must have READ and LIST -permissions. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -azurefs: - \- account_name: my_storage - account_key: \(aqfNH9cRp0+qVIVYZ+5rnZAhHc9ycOUcJnHtzpfOr0W0sxrtL2KVLuMe1xDfLwmfed+JJInZaEdWVCPHD4d/oqeA==\(aq - container_name: my_container - \- account_name: my_storage - sas_token: \(aqss=b&sp=&sv=2015\-07\-08&sig=cohxXabx8FQdXsSEHyUXMjsSfNH2tZ2OB97Ou44pkRE%3D&srt=co&se=2017\-04\-18T21%3A38%3A01Z\(aq - container_name: my_dev_container - saltenv: dev - \- account_name: my_storage - container_name: my_public_container -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -Do not include the leading ? for sas_token if generated from the web -.UNINDENT -.UNINDENT .SS salt.fileserver.gitfs .sp Git Fileserver Backend @@ -102765,6 +103914,36 @@ This fileserver back\-end requires the use of the MD5 hashing algorithm. MD5 may not be compliant with all security policies. .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This fileserver back\-end is only compatible with MD5 ETag hashes in +the S3 metadata. This means that you must use SSE\-S3 or plaintext for +bucket encryption, and that you must not use multipart upload when +uploading to your bucket. More information here: +\fI\%https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html\fP +.sp +Objects without an MD5 ETag will be fetched on every fileserver update. +.sp +If you deal with objects greater than 8MB, then you should use the +following AWS CLI config to avoid mutipart upload: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +s3 = + multipart_threshold = 1024MB +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +More info here: +\fI\%https://docs.aws.amazon.com/cli/latest/topic/s3\-config.html\fP +.UNINDENT +.UNINDENT .SS salt.fileserver.svnfs .sp Subversion Fileserver Backend @@ -102819,6 +103998,12 @@ center; |l|l|. _ T{ +\fBcimc\fP +T} T{ +Generate baseline proxy minion grains for cimc hosts. +T} +_ +T{ \fBchronos\fP T} T{ Generate chronos proxy minion grains. @@ -102890,6 +104075,12 @@ Simple grain to merge the opts into the grains directly if the grain_opts config T} _ T{ +\fBpanos\fP +T} T{ +Generate baseline proxy minion grains for panos hosts. +T} +_ +T{ \fBphilips_hue\fP T} T{ Static grains for the Philips HUE lamps @@ -102902,6 +104093,13 @@ Generate baseline proxy minion grains T} _ .TE +.SS salt.grains.cimc +.sp +Generate baseline proxy minion grains for cimc hosts. +.INDENT 0.0 +.TP +.B salt.grains.cimc.cimc(proxy=None) +.UNINDENT .SS salt.grains.chronos .sp Generate chronos proxy minion grains. @@ -102975,6 +104173,12 @@ New in version 2016.3.0. .UNINDENT .INDENT 0.0 .TP +.B salt.grains.core.fqdns() +Return all known FQDNs for the system by enumerating all interfaces and +then trying to reverse resolve them (excluding \(aqlo\(aq interface). +.UNINDENT +.INDENT 0.0 +.TP .B salt.grains.core.get_machine_id() Provide the machine\-id for machine/virtualization combination .UNINDENT @@ -103103,7 +104307,8 @@ Return list of disk devices .sp Generate baseline proxy minion grains for ESXi hosts. .sp -\&., versionadded:: 2015.8.4 +New in version 2015.8.4. + .INDENT 0.0 .TP .B salt.grains.esxi.esxi() @@ -103688,6 +104893,13 @@ configuration value is set .B salt.grains.opts.opts() Return the minion configuration settings .UNINDENT +.SS salt.grains.panos +.sp +Generate baseline proxy minion grains for panos hosts. +.INDENT 0.0 +.TP +.B salt.grains.panos.panos(proxy=None) +.UNINDENT .SS salt.grains.philips_hue .sp Static grains for the Philips HUE lamps @@ -104136,6 +105348,12 @@ Support for Alternatives system T} _ T{ +\fBansiblegate\fP +T} T{ +Ansible Support +T} +_ +T{ \fBapache\fP T} T{ Support for Apache @@ -104172,6 +105390,12 @@ A module to wrap (non\-Windows) archive calls T} _ T{ +\fBarista_pyeapi\fP +T} T{ +Arista pyeapi +T} +_ +T{ \fBartifactory\fP T} T{ Module for fetching artifacts from Artifactory @@ -104252,11 +105476,13 @@ _ T{ \fBboto_asg\fP T} T{ +Connection module for Amazon Autoscale Groups T} _ T{ \fBboto_cfn\fP T} T{ +Connection module for Amazon Cloud Formation T} _ T{ @@ -104274,6 +105500,7 @@ _ T{ \fBboto_cloudwatch\fP T} T{ +Connection module for Amazon CloudWatch T} _ T{ @@ -104303,6 +105530,7 @@ _ T{ \fBboto_ec2\fP T} T{ +Connection module for Amazon EC2 T} _ T{ @@ -104326,6 +105554,7 @@ _ T{ \fBboto_elb\fP T} T{ +Connection module for Amazon ELB T} _ T{ @@ -104385,6 +105614,7 @@ _ T{ \fBboto_secgroup\fP T} T{ +Connection module for Amazon Security Groups T} _ T{ @@ -104402,6 +105632,7 @@ _ T{ \fBboto_vpc\fP T} T{ +Connection module for Amazon VPC T} _ T{ @@ -104489,6 +105720,18 @@ Module providing a simple management interface to a chronos cluster. T} _ T{ +\fBcimc\fP +T} T{ +Module to provide Cisco UCS compatibility to Salt +T} +_ +T{ +\fBciscoconfparse_mod\fP +T} T{ +Execution module for \fI\%ciscoconfparse\fP +T} +_ +T{ \fBcisconso\fP T} T{ Execution module for Cisco Network Services Orchestrator Proxy minions @@ -104885,6 +106128,12 @@ GNOME implementations T} _ T{ +\fBgoogle_chat\fP +T} T{ +Module for sending messages to google chat. +T} +_ +T{ \fBgpg\fP T} T{ Manage a GPG keychains, add keys, create keys, retrieve keys from keyservers. @@ -105080,6 +106329,12 @@ Functions to perform introspection on a minion, and return data in a format usab T} _ T{ +\fBiosconfig\fP +T} T{ +Cisco IOS configuration manipulation helpers +T} +_ +T{ \fBipmi\fP T} T{ Support IPMI commands over LAN. @@ -105122,6 +106377,12 @@ Module for controlling Jenkins T} _ T{ +\fBjira_mod\fP +T} T{ +JIRA Execution module +T} +_ +T{ \fBjunos\fP T} T{ Module to interact with Junos devices. @@ -105370,7 +106631,7 @@ _ T{ \fBmac_service\fP T} T{ -The service module for macOS .. +The service module for macOS T} _ T{ @@ -105584,12 +106845,6 @@ Namecheap User Management T} _ T{ -\fBnapalm\fP -T} T{ -NAPALM helpers -T} -_ -T{ \fBnapalm_acl\fP T} T{ NAPALM ACL @@ -105602,6 +106857,18 @@ NAPALM BGP T} _ T{ +\fBnapalm_formula\fP +T} T{ +NAPALM Formula helpers +T} +_ +T{ +\fBnapalm_mod\fP +T} T{ +NAPALM helpers +T} +_ +T{ \fBnapalm_network\fP T} T{ NAPALM Network @@ -105668,6 +106935,12 @@ The service module for NetBSD T} _ T{ +\fBnetmiko_mod\fP +T} T{ +Netmiko Execution Module +T} +_ +T{ \fBnetscaler\fP T} T{ Module to provide Citrix Netscaler compatibility to Salt (compatible with netscaler 9.2+) @@ -105746,6 +107019,12 @@ Execution module for Cisco NX OS Switches Proxy minions T} _ T{ +\fBnxos_api\fP +T} T{ +Execution module to manage Cisco Nexus Switches (NX\-OS) over the NX\-API +T} +_ +T{ \fBomapi\fP T} T{ This module interacts with an ISC DHCP Server via OMAPI. @@ -105854,6 +107133,12 @@ Support for pam T} _ T{ +\fBpanos\fP +T} T{ +Module to provide Palo Alto compatibility to Salt +T} +_ +T{ \fBparallels\fP T} T{ Manage Parallels Desktop VMs with \fBprlctl\fP and \fBprlsrvctl\fP\&. @@ -105884,6 +107169,18 @@ Manage PHP pecl extensions. T} _ T{ +\fBpeeringdb\fP +T} T{ +PeeringDB Module +T} +_ +T{ +\fBpf\fP +T} T{ +Control the OpenBSD packet filter (PF). +T} +_ +T{ \fBphilips_hue\fP T} T{ Philips HUE lamps module for proxy. @@ -105986,6 +107283,12 @@ Management of Pure Storage FlashArray T} _ T{ +\fBpurefb\fP +T} T{ +Management of Pure Storage FlashBlade +T} +_ +T{ \fBpushbullet\fP T} T{ Module for sending messages to Pushbullet (\fI\%https://www.pushbullet.com\fP) @@ -106208,6 +107511,12 @@ Module for managing the Salt schedule on a minion T} _ T{ +\fBscp_mod\fP +T} T{ +SCP Module +T} +_ +T{ \fBscsi\fP T} T{ SCSI administration module @@ -106676,6 +107985,12 @@ Create virtualenv environments. T} _ T{ +\fBvmctl\fP +T} T{ +Manage vms running on the OpenBSD VMM hypervisor using vmctl(8). +T} +_ +T{ \fBvsphere\fP T} T{ Manage VMware vCenter servers and ESXi hosts. @@ -106868,12 +108183,6 @@ Module for managing timezone on Windows systems. T} _ T{ -\fBwin_update\fP -T} T{ -Module for running windows updates. -T} -_ -T{ \fBwin_useradd\fP T} T{ Module for managing Windows Users @@ -107014,9 +108323,17 @@ Be sure to set at least accept\-tos = True in cli.ini! .UNINDENT .sp Most parameters will fall back to cli.ini defaults if None is given. +.SS DNS plugins +.sp +This module currently supports the CloudFlare certbot DNS plugin. The DNS +plugin credentials file needs to be passed in using the +\fBdns_plugin_credentials\fP argument. +.sp +Make sure the appropriate certbot plugin for the wanted DNS provider is +installed before using this module. .INDENT 0.0 .TP -.B salt.modules.acme.cert(name, aliases=None, email=None, webroot=None, test_cert=False, renew=None, keysize=None, server=None, owner=u\(aqroot\(aq, group=u\(aqroot\(aq, mode=u\(aq0640\(aq, certname=None) +.B salt.modules.acme.cert(name, aliases=None, email=None, webroot=None, test_cert=False, renew=None, keysize=None, server=None, owner=u\(aqroot\(aq, group=u\(aqroot\(aq, mode=u\(aq0640\(aq, certname=None, preferred_challenges=None, tls_sni_01_port=None, tls_sni_01_address=None, http_01_port=None, http_01_address=None, dns_plugin=None, dns_plugin_credentials=None) Obtain/renew a certificate from an ACME CA, probably Let\(aqs Encrypt. .INDENT 7.0 .TP @@ -107046,6 +108363,27 @@ Obtain/renew a certificate from an ACME CA, probably Let\(aqs Encrypt. \fBmode\fP \-\- mode of the private key file .IP \(bu 2 \fBcertname\fP \-\- Name of the certificate to save +.IP \(bu 2 +\fBpreferred_challenges\fP \-\- A sorted, comma delimited list of the preferred +challenge to use during authorization with the +most preferred challenge listed first. +.IP \(bu 2 +\fBtls_sni_01_port\fP \-\- Port used during tls\-sni\-01 challenge. This only affects +the port Certbot listens on. A conforming ACME server +will still attempt to connect on port 443. +.IP \(bu 2 +\fBtls_sni_01_address\fP \-\- The address the server listens to during tls\-sni\-01 +challenge. +.IP \(bu 2 +\fBhttp_01_port\fP \-\- Port used in the http\-01 challenge. This only affects +the port Certbot listens on. A conforming ACME server +will still attempt to connect on port 80. +.IP \(bu 2 +\fBhttps_01_address\fP \-\- The address the server listens to during http\-01 challenge. +.IP \(bu 2 +\fBdns_plugin\fP \-\- Name of a DNS plugin to use (currently only \(aqcloudflare\(aq) +.IP \(bu 2 +\fBdns_plugin_credentials\fP \-\- Path to the credentials file if required by the specified DNS plugin .UNINDENT .TP .B Returns @@ -107571,7 +108909,7 @@ salt \(aq*\(aq alternatives.remove name path .UNINDENT .INDENT 0.0 .TP -.B salt.modules.alternatives.set(name, path) +.B salt.modules.alternatives.set_(name, path) Manually set the alternative for . .sp CLI Example: @@ -107624,6 +108962,162 @@ salt \(aq*\(aq alternatives.show_link editor .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.ansiblegate +.SS Ansible Support +.sp +This module can have an optional minion\-level +configuration in /etc/salt/minion.d/ as follows: +.INDENT 0.0 +.INDENT 3.5 +ansible_timeout: 1200 +.UNINDENT +.UNINDENT +.sp +The timeout is how many seconds Salt should wait for +any Ansible module to respond. +.INDENT 0.0 +.TP +.B class salt.modules.ansiblegate.AnsibleModuleCaller(resolver) +.INDENT 7.0 +.TP +.B DEFAULT_TIMEOUT = 1200 +.UNINDENT +.INDENT 7.0 +.TP +.B OPT_TIMEOUT_KEY = u\(aqansible_timeout\(aq +.UNINDENT +.INDENT 7.0 +.TP +.B call(module, *args, **kwargs) +Call an Ansible module by invoking it. +:param module: the name of the module. +:param args: Arguments to the module +:param kwargs: keywords to the module +:return: +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B class salt.modules.ansiblegate.AnsibleModuleResolver(opts) +This class is to resolve all available modules in Ansible. +.INDENT 7.0 +.TP +.B get_modules_list(pattern=None) +Return module map references. +:return: +.UNINDENT +.INDENT 7.0 +.TP +.B install() +.UNINDENT +.INDENT 7.0 +.TP +.B load_module(module) +Introspect Ansible module. +.INDENT 7.0 +.TP +.B Parameters +\fBmodule\fP \-\- +.TP +.B Returns + +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B resolve() +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ansiblegate.help(module=None, *args) +Display help on Ansible standard module. +.INDENT 7.0 +.TP +.B Parameters +\fBmodule\fP \-\- +.TP +.B Returns + +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ansiblegate.list(pattern=None) +Lists available modules. +:return: +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ansiblegate.playbooks(playbook, rundir=None, check=False, diff=False, extra_vars=None, flush_cache=False, forks=5, inventory=None, limit=None, list_hosts=False, list_tags=False, list_tasks=False, module_path=None, skip_tags=None, start_at_task=None, syntax_check=False, tags=None, playbook_kwargs=None) +Run Ansible Playbooks +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBplaybook\fP \-\- Which playbook to run. +.IP \(bu 2 +\fBrundir\fP \-\- Directory to run \fIansible\-playbook\fP in. (Default: None) +.IP \(bu 2 +\fBcheck\fP \-\- don\(aqt make any changes; instead, try to predict some +of the changes that may occur (Default: False) +.IP \(bu 2 +\fBdiff\fP \-\- when changing (small) files and templates, show the +differences in those files; works great with \-\-check +(default: False) +.IP \(bu 2 +\fBextra_vars\fP \-\- set additional variables as key=value or YAML/JSON, if +filename prepend with @, (default: None) +.IP \(bu 2 +\fBflush_cache\fP \-\- clear the fact cache for every host in inventory +(default: False) +.IP \(bu 2 +\fBforks\fP \-\- specify number of parallel processes to use +(Default: 5) +.IP \(bu 2 +\fBinventory\fP \-\- specify inventory host path or comma separated host +list. (Default: None) (Ansible\(aqs default is /etc/ansible/hosts) +.IP \(bu 2 +\fBlimit\fP \-\- further limit selected hosts to an additional pattern (Default: None) +.IP \(bu 2 +\fBlist_hosts\fP \-\- outputs a list of matching hosts; does not execute anything else +(Default: False) +.IP \(bu 2 +\fBlist_tags\fP \-\- list all available tags (Default: False) +.IP \(bu 2 +\fBlist_tasks\fP \-\- list all tasks that would be executed (Default: False) +.IP \(bu 2 +\fBmodule_path\fP \-\- prepend colon\-separated path(s) to module library. (Default: None) +.IP \(bu 2 +\fBskip_tags\fP \-\- only run plays and tasks whose tags do not match these +values (Default: False) +.IP \(bu 2 +\fBstart_at_task\fP \-\- start the playbook at the task matching this name (Default: None) +.IP \(bu 2 +\fBtags\fP \-\- only run plays and tasks tagged with these values (Default: None) +.UNINDENT +.TP +.B Param +syntax_check: perform a syntax check on the playbook, but do not execute it +(Default: False) +.TP +.B Returns +Playbook return +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqansiblehost\(aq ansible.playbook playbook=/srv/playbooks/play.yml +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.apache .sp Support for Apache @@ -108452,14 +109946,6 @@ Support for APT (Advanced Packaging Tool) If you feel that Salt should be using this module to manage packages on a minion, and it is using a different module (or gives an error similar to \fI\(aqpkg.install\(aq is not available\fP), see here\&. -.UNINDENT -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -For virtual package support, either the \fBpython\-apt\fP or \fBdctrl\-tools\fP -package must be installed. .sp For repository management, the \fBpython\-apt\fP package must be installed. .UNINDENT @@ -108476,22 +109962,22 @@ Add a repo key using \fBapt\-key add\fP\&. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path of the key file to import. +\fBpath\fP (\fIstr\fP) \-\- The path of the key file to import. .IP \(bu 2 -\fBtext\fP (\fI\%str\fP) \-\- The key data to import, in string form. +\fBtext\fP (\fIstr\fP) \-\- The key data to import, in string form. .IP \(bu 2 -\fBkeyserver\fP (\fI\%str\fP) \-\- The server to download the repo key specified by the keyid. +\fBkeyserver\fP (\fIstr\fP) \-\- The server to download the repo key specified by the keyid. .IP \(bu 2 -\fBkeyid\fP (\fI\%str\fP) \-\- The key id of the repo key to add. +\fBkeyid\fP (\fIstr\fP) \-\- The key id of the repo key to add. .IP \(bu 2 -\fBsaltenv\fP (\fI\%str\fP) \-\- The environment the key file resides in. +\fBsaltenv\fP (\fIstr\fP) \-\- The environment the key file resides in. .UNINDENT .TP .B Returns A boolean representing whether the repo key was added. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Examples: @@ -108697,7 +110183,7 @@ List known repo key details. A dictionary containing the repo keys. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -109073,16 +110559,6 @@ appear in installed Changed in version 2014.1.1: Packages in this state now correctly show up in the output of this function. -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -External dependencies -.sp -Virtual package resolution requires the \fBdctrl\-tools\fP package to be -installed. Virtual packages will show a version of \fB1\fP\&. -.UNINDENT .UNINDENT .sp CLI Example: @@ -109226,7 +110702,7 @@ A file name to be used Keyserver to get gpg key from .TP .B keyid -Key ID to load with the \fBkeyserver\fP argument +Key ID or a list of key IDs to load with the \fBkeyserver\fP argument .TP .B key_url URL to a GPG key to add to the APT GPG keyring @@ -109503,6 +110979,44 @@ salt \(aq*\(aq pkg.set_selections salt://path/to/file clear=True .UNINDENT .INDENT 0.0 .TP +.B salt.modules.aptpkg.show(*names, **kwargs) +New in version Fluorine. + +.sp +Runs an \fBapt\-cache show\fP on the passed package names, and returns the +results in a nested dictionary. The top level of the return data will be +the package name, with each package name mapping to a dictionary of version +numbers to any additional information returned by \fBapt\-cache show\fP\&. +.INDENT 7.0 +.TP +.B filter +An optional comma\-separated list (or quoted Python list) of +case\-insensitive keys on which to filter. This allows one to restrict +the information returned for each package to a smaller selection of +pertinent items. +.TP +.B refresh +False +If \fBTrue\fP, the apt cache will be refreshed first. By default, no +refresh is performed. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion pkg.show gawk +salt myminion pkg.show \(aqnginx\-*\(aq +salt myminion pkg.show \(aqnginx\-*\(aq filter=description,provides +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.aptpkg.unhold(name=None, pkgs=None, sources=None, **kwargs) New in version 2014.7.0. @@ -110017,7 +111531,7 @@ salt \(aq*\(aq archive.is_encrypted ftp://10.1.2.3/foo.zip .UNINDENT .INDENT 0.0 .TP -.B salt.modules.archive.list(name, archive_format=None, options=None, strip_components=None, clean=False, verbose=False, saltenv=u\(aqbase\(aq, source_hash=None) +.B salt.modules.archive.list_(name, archive_format=None, options=None, strip_components=None, clean=False, verbose=False, saltenv=u\(aqbase\(aq, source_hash=None) New in version 2016.11.0. .sp @@ -110460,7 +111974,7 @@ salt \(aq*\(aq archive.unzip /tmp/zipfile.zip /home/strongbad/ password=\(aqBadP .UNINDENT .INDENT 0.0 .TP -.B salt.modules.archive.zip(zip_file, sources, template=None, cwd=None, runas=None) +.B salt.modules.archive.zip_(zip_file, sources, template=None, cwd=None, runas=None, zip64=False) Uses the \fBzipfile\fP Python module to create zip files .sp Changed in version 2015.5.0: This function was rewritten to use Python\(aqs native zip file support. @@ -110518,6 +112032,16 @@ salt \(aq*\(aq archive.zip /tmp/baz.zip baz.txt cwd=/foo/bar None Create the zip file as the specified user. Defaults to the user under which the minion is running. +.TP +.B zip64 +False +Used to enable ZIP64 support, necessary to create archives larger than +4 GByte in size. +If true, will create ZIP file with the ZIPp64 extension when the zipfile +is larger than 2 GB. +ZIP64 extension is disabled by default in the Python native zip support +because the default zip and unzip commands on Unix (the InfoZIP utilities) +don\(aqt support these extensions. .UNINDENT .sp CLI Example: @@ -110534,6 +112058,746 @@ salt \(aq*\(aq archive.zip /tmp/zipfile.zip \(aq/tmp/sourcefile*\(aq .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.arista_pyeapi +.SS Arista pyeapi +.sp +New in version Fluorine. + +.sp +Execution module to interface the connection with Arista switches, connecting to +the remote network device using the +\fI\%pyeapi\fP library. It is +flexible enough to execute the commands both when running under an Arista Proxy +Minion, as well as running under a Regular Minion by specifying the connection +arguments, i.e., \fBdevice_type\fP, \fBhost\fP, \fBusername\fP, \fBpassword\fP etc. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%ping@mirceaulinic.net\fP> +.TP +.B maturity +new +.TP +.B depends +pyeapi +.TP +.B platform +unix +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +To understand how to correctly enable the eAPI on your switch, please check +\fI\%https://eos.arista.com/arista\-eapi\-101/\fP\&. +.UNINDENT +.UNINDENT +.SS Dependencies +.sp +The \fBpyeapi\fP Execution module requires the Python Client for eAPI (pyeapi) to +be installed: \fBpip install pyeapi\fP\&. +.SS Usage +.sp +This module can equally be used via the \fBpyeapi\fP +Proxy module or directly from an arbitrary (Proxy) Minion that is running on a +machine having access to the network device API, and the \fBpyeapi\fP library is +installed. +.sp +When running outside of the \fBpyeapi Proxy\fP +(i.e., from another Proxy Minion type, or regular Minion), the pyeapi connection +arguments can be either specified from the CLI when executing the command, or +in a configuration block under the \fBpyeapi\fP key in the configuration opts +(i.e., (Proxy) Minion configuration file), or Pillar. The module supports these +simultaneously. These fields are the exact same supported by the \fBpyeapi\fP +Proxy Module: +.INDENT 0.0 +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B enablepwd +The enable mode password if required by the destination node. +.UNINDENT +.sp +Example (when not running in a \fBpyeapi\fP Proxy Minion): +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +pyeapi: + username: test + password: test +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In case the \fBusername\fP and \fBpassword\fP are the same on any device you are +targeting, the block above (besides other parameters specific to your +environment you might need) should suffice to be able to execute commands from +outside a \fBpyeapi\fP Proxy, e.g.: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pyeapi.send_commands \(aqshow version\(aq \(aqshow interfaces\(aq +salt \(aq*\(aq pyeapi.config \(aqntp server 1.2.3.4\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Remember that the above applies only when not running in a \fBpyeapi\fP Proxy +Minion. If you want to use the \fBpyeapi Proxy\fP, +please follow the documentation notes for a proper setup. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.arista_pyeapi.call(method, *args, **kwargs) +Invoke an arbitrary pyeapi method. +.INDENT 7.0 +.TP +.B method +The name of the pyeapi method to invoke. +.TP +.B args +A list of arguments to send to the method invoked. +.TP +.B kwargs +Key\-value dictionary to send to the method invoked. +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.INDENT 7.0 +.INDENT 3.5 +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B enablepwd +The enable mode password if required by the destination node. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pyeapi.call run_commands "[\(aqshow version\(aq]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.arista_pyeapi.config(commands=None, config_file=None, template_engine=u\(aqjinja\(aq, context=None, defaults=None, saltenv=u\(aqbase\(aq, **kwargs) +Configures the node with the specified commands. +.sp +This method is used to send configuration commands to the node. It +will take either a string or a list and prepend the necessary commands +to put the session into config mode. +.sp +Returns the diff after the configuration commands are loaded. +.INDENT 7.0 +.TP +.B config_file +The source file with the configuration commands to be sent to the +device. +.sp +The file can also be a template that can be rendered using the template +engine of choice. +.sp +This can be specified using the absolute path to the file, or using one +of the following URL schemes: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP, to fetch the file from the Salt fileserver. +.IP \(bu 2 +\fBhttp://\fP or \fBhttps://\fP +.IP \(bu 2 +\fBftp://\fP +.IP \(bu 2 +\fBs3://\fP +.IP \(bu 2 +\fBswift://\fP +.UNINDENT +.TP +.B commands +The commands to send to the node in config mode. If the commands +argument is a string it will be cast to a list. +The list of commands will also be prepended with the necessary commands +to put the session in config mode. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_file\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B template_engine: \fBjinja\fP +The template engine to use when rendering the source file. Default: +\fBjinja\fP\&. To simply fetch the file without attempting to render, set +this argument to \fBNone\fP\&. +.TP +.B context +Variables to add to the template context. +.TP +.B defaults +Default values of the \fBcontext\fP dict. +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.INDENT 7.0 +.INDENT 3.5 +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B enablepwd +The enable mode password if required by the destination node. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pyeapi.config commands="[\(aqntp server 1.2.3.4\(aq, \(aqntp server 5.6.7.8\(aq]" +salt \(aq*\(aq pyeapi.config config_file=salt://config.txt +salt \(aq*\(aq pyeapi.config config_file=https://bit.ly/2LGLcDy context="{\(aqservers\(aq: [\(aq1.2.3.4\(aq]}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.arista_pyeapi.get_config(config=u\(aqrunning\-config\(aq, params=None, as_string=False, **kwargs) +Retrieves the config from the device. +.sp +This method will retrieve the config from the node as either a string +or a list object. The config to retrieve can be specified as either +the startup\-config or the running\-config. +.INDENT 7.0 +.TP +.B config: \fBrunning\-config\fP +Specifies to return either the nodes \fBstartup\-config\fP +or \fBrunning\-config\fP\&. The default value is the \fBrunning\-config\fP\&. +.TP +.B params +A string of keywords to append to the command for retrieving the config. +.TP +.B as_string: \fBFalse\fP +Flag that determines the response. If \fBTrue\fP, then the configuration +is returned as a raw string. If \fBFalse\fP, then the configuration is +returned as a list. The default value is \fBFalse\fP\&. +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.INDENT 7.0 +.INDENT 3.5 +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B enablepwd +The enable mode password if required by the destination node. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pyeapi.get_config +salt \(aq*\(aq pyeapi.get_config params=\(aqsection snmp\-server\(aq +salt \(aq*\(aq pyeapi.get_config config=\(aqstartup\-config\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.arista_pyeapi.get_connection(**kwargs) +Return the connection object to the pyeapi Node. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function returns an unserializable object, hence it is not meant +to be used on the CLI. This should mainly be used when invoked from +other modules for the low level connection with the network device. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B kwargs +Key\-value dictionary with the authentication details. +.UNINDENT +.sp +USAGE Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +conn = __salt__[\(aqpyeapi.get_connection\(aq](host=\(aqrouter1.example.com\(aq, + username=\(aqexample\(aq, + password=\(aqexample\(aq) +show_ver = conn.run_commands([\(aqshow version\(aq, \(aqshow interfaces\(aq]) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.arista_pyeapi.run_commands(*commands, **kwargs) +Sends the commands over the transport to the device. +.sp +This function sends the commands to the device using the nodes +transport. This is a lower layer function that shouldn\(aqt normally +need to be used, preferring instead to use \fBconfig()\fP or \fBenable()\fP\&. +.INDENT 7.0 +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.INDENT 7.0 +.INDENT 3.5 +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B enablepwd +The enable mode password if required by the destination node. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pyeapi.run_commands \(aqshow version\(aq +salt \(aq*\(aq pyeapi.run_commands \(aqshow version\(aq encoding=text +salt \(aq*\(aq pyeapi.run_commands \(aqshow version\(aq encoding=text host=cr1.thn.lon username=example password=weak +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +veos1: + |_ + \-\-\-\-\-\-\-\-\-\- + architecture: + i386 + bootupTimestamp: + 1527541728.53 + hardwareRevision: + internalBuildId: + 63d2e89a\-220d\-4b8a\-a9b3\-0524fa8f9c5f + internalVersion: + 4.18.1F\-4591672.4181F + isIntlVersion: + False + memFree: + 501468 + memTotal: + 1893316 + modelName: + vEOS + serialNumber: + systemMacAddress: + 52:54:00:3f:e6:d0 + version: + 4.18.1F +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.arista_pyeapi.section(regex, config=u\(aqrunning\-config\(aq, **kwargs) +Return a section of the config. +.INDENT 7.0 +.TP +.B regex +A valid regular expression used to select sections of configuration to +return. +.TP +.B config: \fBrunning\-config\fP +The configuration to return. Valid values for config are +\fBrunning\-config\fP or \fBstartup\-config\fP\&. The default value is +\fBrunning\-config\fP\&. +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.INDENT 7.0 +.INDENT 3.5 +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.TP +.B enablepwd +The enable mode password if required by the destination node. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument does not need to be specified when running in a +\fBpyeapi\fP Proxy Minion. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.artifactory .sp Module for fetching artifacts from Artifactory @@ -111600,7 +113864,7 @@ It\(aqs available in Linux mainline kernel since 3.10 This module needs the bcache userspace tools to function. .INDENT 0.0 .TP -.B salt.modules.bcache.attach(dev=None) +.B salt.modules.bcache.attach_(dev=None) Attach a backing devices to a cache set If no dev is given, all backing devices will be attached. .sp @@ -111699,7 +113963,7 @@ potentially (vastly) increasing performance .UNINDENT .INDENT 0.0 .TP -.B salt.modules.bcache.config(dev=None, **kwargs) +.B salt.modules.bcache.config_(dev=None, **kwargs) Show or update config of a bcache device. .sp If no device is given, operate on the cache set itself. @@ -111856,7 +114120,7 @@ salt \(aq*\(aq bcache.stop .UNINDENT .INDENT 0.0 .TP -.B salt.modules.bcache.super(dev) +.B salt.modules.bcache.super_(dev) Read out BCache SuperBlock .sp CLI example: @@ -111922,7 +114186,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq beacons.add ps "[{\(aqsalt\-master\(aq: \(aqstopped\(aq, \(aqapache2\(aq: \(aqstopped\(aq}]" +salt \(aq*\(aq beacons.add ps "[{\(aqsalt\-master\(aq: \(aqstopped\(aq}, {\(aqapache2\(aq: \(aqstopped\(aq}]" .ft P .fi .UNINDENT @@ -112051,7 +114315,7 @@ salt \(aq*\(aq beacons.enable_beacon ps .UNINDENT .INDENT 0.0 .TP -.B salt.modules.beacons.list(return_yaml=True, include_pillar=True, include_opts=True) +.B salt.modules.beacons.list_(return_yaml=True, include_pillar=True, include_opts=True) List the beacons currently configured on the minion .INDENT 7.0 .TP @@ -112133,7 +114397,24 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq beacons.modify ps "[{\(aqsalt\-master\(aq: \(aqstopped\(aq, \(aqapache2\(aq: \(aqstopped\(aq}]" +salt \(aq*\(aq beacons.modify ps "[{\(aqsalt\-master\(aq: \(aqstopped\(aq}, {\(aqapache2\(aq: \(aqstopped\(aq}]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.beacons.reset(**kwargs) +Resest beacon configuration on the minion +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq beacons.reset .ft P .fi .UNINDENT @@ -113685,7 +115966,7 @@ pybluez >= 0.18 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.bluez.address() +.B salt.modules.bluez.address_() Get the many addresses of the Bluetooth adapter .sp CLI Example: @@ -114633,6 +116914,21 @@ salt myminion boto3_route53.associate_vpc_with_hosted_zone N .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto3_route53.aws_encode(x) +An implementation of the encoding required to suport AWS\(aqs domain name +rules defined \fI\%here\fP: +.sp +While AWS\(aqs documentation specifies individual ASCII characters which need +to be encoded, we instead just try to force the string to one of +escaped unicode or idna depending on whether there are non\-ASCII characters +present. +.sp +This means that we support things like ドメイン.テスト as a domain name string. +.sp +More information about IDNA encoding in python is found \fI\%here\fP: +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto3_route53.change_resource_record_sets(HostedZoneId=None, Name=None, PrivateZone=None, ChangeBatch=None, region=None, key=None, keyid=None, profile=None) See the \fI\%AWS Route53 API docs\fP as well as the \fI\%Boto3 documentation\fP for all the details... .sp @@ -115073,6 +117369,16 @@ New in version 2016.11.0. .INDENT 0.0 .TP +.B depends +.INDENT 7.0 +.IP \(bu 2 +boto >= 2.8.0 +.IP \(bu 2 +boto3 >= 1.2.1 +.IP \(bu 2 +botocore >= 1.4.49 +.UNINDENT +.TP .B configuration This module accepts explicit Lambda credentials but can also utilize IAM roles assigned to the instance trough Instance Profiles. @@ -115160,7 +117466,7 @@ error: .UNINDENT .UNINDENT .sp -Request methods (e.g., \fIdescribe_apigateway\fP) return: +Request methods (e.g., \fBdescribe_apigateway\fP) return: .INDENT 0.0 .INDENT 3.5 .sp @@ -115187,11 +117493,6 @@ error: .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B depends -boto3 -.UNINDENT .INDENT 0.0 .TP .B salt.modules.boto_apigateway.activate_api_deployment(restApiId, stageName, deploymentId, region=None, key=None, keyid=None, profile=None) @@ -115212,7 +117513,7 @@ salt myminion boto_apigateway.activate_api_deployent restApiId stagename deploym .INDENT 0.0 .TP .B salt.modules.boto_apigateway.api_exists(name, description=None, region=None, key=None, keyid=None, profile=None) -Check to see if the given Rest API Name and optionlly description exists. +Check to see if the given Rest API Name and optionally description exists. .sp CLI Example: .INDENT 7.0 @@ -115687,8 +117988,8 @@ salt myminion boto_apigateway.delete_api_model restApiId modelName .TP .B salt.modules.boto_apigateway.delete_api_resources(restApiId, path, region=None, key=None, keyid=None, profile=None) Given restApiId and an absolute resource path, delete the resources starting -from the absoluate resource path. If resourcepath is the root resource \(aq/\(aq, -the function will return False. Returns False on failure. +from the absolute resource path. If resourcepath is the root resource \(aq/\(aq, +the function will return False. Returns False on failure. .sp CLI Example: .INDENT 7.0 @@ -116247,6 +118548,584 @@ salt myminion boto_apigateway.update_usage_plan plan_id=\(aqusage plan id\(aq th .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_asg +.sp +Connection module for Amazon Autoscale Groups +.sp +New in version 2014.7.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit autoscale credentials but can also +utilize IAM roles assigned to the instance through Instance Profiles. +Dynamic credentials are then automatically obtained from AWS API and no +further configuration is necessary. More Information available at: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam\-roles\-for\-amazon\-ec2.html +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +asg.keyid: GKTADJGHEIQSXMKKRBJ08H +asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +asg.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If a region is not specified, the default is us\-east\-1. +.sp +It\(aqs also possible to specify key, keyid and region via a profile, either +as a passed in dict, or as a string to pull from pillars or minion config: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myprofile: + keyid: GKTADJGHEIQSXMKKRBJ08H + key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B depends +boto +.TP +.B depends +boto3 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.create(name, launch_config_name, availability_zones, min_size, max_size, desired_capacity=None, load_balancers=None, default_cooldown=None, health_check_type=None, health_check_period=None, placement_group=None, vpc_zone_identifier=None, tags=None, termination_policies=None, suspended_processes=None, scaling_policies=None, scheduled_actions=None, region=None, notification_arn=None, notification_types=None, key=None, keyid=None, profile=None) +Create an autoscale group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.create myasg mylc \(aq["us\-east\-1a", "us\-east\-1e"]\(aq 1 10 load_balancers=\(aq["myelb", "myelb2"]\(aq tags=\(aq[{"key": "Name", value="myasg", "propagate_at_launch": True}]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.create_launch_configuration(name, image_id, key_name=None, vpc_id=None, vpc_name=None, security_groups=None, user_data=None, instance_type=u\(aqm1.small\(aq, kernel_id=None, ramdisk_id=None, block_device_mappings=None, instance_monitoring=False, spot_price=None, instance_profile_name=None, ebs_optimized=False, associate_public_ip_address=None, volume_type=None, delete_on_termination=True, iops=None, use_block_device_types=False, region=None, key=None, keyid=None, profile=None) +Create a launch configuration. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.create_launch_configuration mylc image_id=ami\-0b9c9f62 key_name=\(aqmykey\(aq security_groups=\(aq["mygroup"]\(aq instance_type=\(aqc3.2xlarge\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.delete(name, force=False, region=None, key=None, keyid=None, profile=None) +Delete an autoscale group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.delete myasg region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.delete_launch_configuration(name, region=None, key=None, keyid=None, profile=None) +Delete a launch configuration. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.delete_launch_configuration mylc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.describe_launch_configuration(name, region=None, key=None, keyid=None, profile=None) +Dump details of a given launch configuration. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.describe_launch_configuration mylc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.enter_standby(name, instance_ids, should_decrement_desired_capacity=False, region=None, key=None, keyid=None, profile=None) +Switch desired instances to StandBy mode +.sp +New in version 2016.11.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_asg.enter_standby my_autoscale_group_name \(aq["i\-xxxxxx"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.exists(name, region=None, key=None, keyid=None, profile=None) +Check to see if an autoscale group exists. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.exists myasg region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.exit_standby(name, instance_ids, should_decrement_desired_capacity=False, region=None, key=None, keyid=None, profile=None) +Exit desired instances from StandBy mode +.sp +New in version 2016.11.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_asg.exit_standby my_autoscale_group_name \(aq["i\-xxxxxx"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.get_all_groups(region=None, key=None, keyid=None, profile=None) +Return all AutoScale Groups visible in the account +(as a list of boto.ec2.autoscale.group.AutoScalingGroup). +.sp +New in version 2016.11.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_asg.get_all_groups region=us\-east\-1 \-\-output yaml +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.get_all_launch_configurations(region=None, key=None, keyid=None, profile=None) +Fetch and return all Launch Configuration with details. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.get_all_launch_configurations +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.get_cloud_init_mime(cloud_init) +Get a mime multipart encoded string from a cloud\-init dict. Currently +supports boothooks, scripts and cloud\-config. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto.get_cloud_init_mime +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.get_config(name, region=None, key=None, keyid=None, profile=None) +Get the configuration for an autoscale group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.get_config myasg region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.get_instances(name, lifecycle_state=u\(aqInService\(aq, health_status=u\(aqHealthy\(aq, attribute=u\(aqprivate_ip_address\(aq, attributes=None, region=None, key=None, keyid=None, profile=None) +return attribute of all instances in the named autoscale group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_asg.get_instances my_autoscale_group_name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.get_scaling_policy_arn(as_group, scaling_policy_name, region=None, key=None, keyid=None, profile=None) +Return the arn for a scaling policy in a specific autoscale group or None +if not found. Mainly used as a helper method for boto_cloudwatch_alarm, for +linking alarms to scaling policies. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq boto_asg.get_scaling_policy_arn mygroup mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.launch_configuration_exists(name, region=None, key=None, keyid=None, profile=None) +Check for a launch configuration\(aqs existence. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.launch_configuration_exists mylc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.list_groups(region=None, key=None, keyid=None, profile=None) +Return all AutoScale Groups visible in the account +(as a list of names). +.sp +New in version 2016.11.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_asg.list_groups region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.list_launch_configurations(region=None, key=None, keyid=None, profile=None) +List all Launch Configurations. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.list_launch_configurations +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.update(name, launch_config_name, availability_zones, min_size, max_size, desired_capacity=None, load_balancers=None, default_cooldown=None, health_check_type=None, health_check_period=None, placement_group=None, vpc_zone_identifier=None, tags=None, termination_policies=None, suspended_processes=None, scaling_policies=None, scheduled_actions=None, notification_arn=None, notification_types=None, region=None, key=None, keyid=None, profile=None) +Update an autoscale group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_asg.update myasg mylc \(aq["us\-east\-1a", "us\-east\-1e"]\(aq 1 10 load_balancers=\(aq["myelb", "myelb2"]\(aq tags=\(aq[{"key": "Name", value="myasg", "propagate_at_launch": True}]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.boto_cfn +.sp +Connection module for Amazon Cloud Formation +.sp +New in version 2015.5.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit AWS credentials but can also utilize +IAM roles assigned to the instance through Instance Profiles. Dynamic +credentials are then automatically obtained from AWS API and no further +configuration is necessary. More Information available at: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam\-roles\-for\-amazon\-ec2.html +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +cfn.keyid: GKTADJGHEIQSXMKKRBJ08H +cfn.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +cfn.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B depends +boto +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.create(name, template_body=None, template_url=None, parameters=None, notification_arns=None, disable_rollback=None, timeout_in_minutes=None, capabilities=None, tags=None, on_failure=None, stack_policy_body=None, stack_policy_url=None, region=None, key=None, keyid=None, profile=None) +Create a CFN stack. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.create mystack template_url=\(aqhttps://s3.amazonaws.com/bucket/template.cft\(aq region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.delete(name, region=None, key=None, keyid=None, profile=None) +Delete a CFN stack. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.delete mystack region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.describe(name, region=None, key=None, keyid=None, profile=None) +Describe a stack. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.describe mystack region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.exists(name, region=None, key=None, keyid=None, profile=None) +Check to see if a stack exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.exists mystack region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.get_template(name, region=None, key=None, keyid=None, profile=None) +Check to see if attributes are set on a CFN stack. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.get_template mystack +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.update_stack(name, template_body=None, template_url=None, parameters=None, notification_arns=None, disable_rollback=False, timeout_in_minutes=None, capabilities=None, tags=None, use_previous_template=None, stack_policy_during_update_body=None, stack_policy_during_update_url=None, stack_policy_body=None, stack_policy_url=None, region=None, key=None, keyid=None, profile=None) +Update a CFN stack. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.update_stack mystack template_url=\(aqhttps://s3.amazonaws.com/bucket/template.cft\(aq region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cfn.validate_template(template_body=None, template_url=None, region=None, key=None, keyid=None, profile=None) +Validate cloudformation template +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cfn.validate_template mystack\-template +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_cloudfront .sp Connection module for Amazon CloudFront @@ -116789,6 +119668,221 @@ salt myminion boto_cloudtrail.update my_trail my_bucket .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_cloudwatch +.sp +Connection module for Amazon CloudWatch +.sp +New in version 2014.7.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit credentials but can also utilize +IAM roles assigned to the instance through Instance Profiles. Dynamic +credentials are then automatically obtained from AWS API and no further +configuration is necessary. More Information available at: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam\-roles\-for\-amazon\-ec2.html +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +cloudwatch.keyid: GKTADJGHEIQSXMKKRBJ08H +cloudwatch.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +cloudwatch.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If a region is not specified, the default is us\-east\-1. +.sp +It\(aqs also possible to specify key, keyid and region via a profile, either +as a passed in dict, or as a string to pull from pillars or minion config: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myprofile: + keyid: GKTADJGHEIQSXMKKRBJ08H + key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B depends +boto +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cloudwatch.convert_to_arn(arns, region=None, key=None, keyid=None, profile=None) +Convert a list of strings into actual arns. Converts convenience names such +as \(aqscaling_policy:...\(aq +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq convert_to_arn \(aqscaling_policy:\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cloudwatch.create_or_update_alarm(connection=None, name=None, metric=None, namespace=None, statistic=None, comparison=None, threshold=None, period=None, evaluation_periods=None, unit=None, description=u\(aq\(aq, dimensions=None, alarm_actions=None, insufficient_data_actions=None, ok_actions=None, region=None, key=None, keyid=None, profile=None) +Create or update a cloudwatch alarm. +.INDENT 7.0 +.TP +.B Params are the same as: +\fI\%https://boto.readthedocs.io/en/latest/ref/cloudwatch.html#boto.ec2.cloudwatch.alarm.MetricAlarm\fP\&. +.UNINDENT +.sp +Dimensions must be a dict. If the value of Dimensions is a string, it will +be json decoded to produce a dict. alarm_actions, insufficient_data_actions, +and ok_actions must be lists of string. If the passed\-in value is a string, +it will be split on "," to produce a list. The strings themselves for +alarm_actions, insufficient_data_actions, and ok_actions must be Amazon +resource names (ARN\(aqs); however, this method also supports an arn lookup +notation, as follows: +.INDENT 7.0 +.INDENT 3.5 +arn:aws:.... ARN as per http://docs.aws.amazon.com/general/latest/gr/aws\-arns\-and\-namespaces.html +scaling_policy:: The named autoscale group scaling policy, for the named group (e.g. scaling_policy:my\-asg:ScaleDown) +.UNINDENT +.UNINDENT +.sp +This is convenient for setting up autoscaling as follows. First specify a +boto_asg.present state for an ASG with scaling_policies, and then set up +boto_cloudwatch_alarm.present states which have alarm_actions that +reference the scaling_policy. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +salt myminion boto_cloudwatch.create_alarm name=myalarm ... region=us\-east\-1 +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cloudwatch.delete_alarm(name, region=None, key=None, keyid=None, profile=None) +Delete a cloudwatch alarm +.sp +CLI example to delete a queue: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cloudwatch.delete_alarm myalarm region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cloudwatch.get_alarm(name, region=None, key=None, keyid=None, profile=None) +Get alarm details. Also can be used to check to see if an alarm exists. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cloudwatch.get_alarm myalarm region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cloudwatch.get_all_alarms(region=None, prefix=None, key=None, keyid=None, profile=None) +Get all alarm details. Produces results that can be used to create an sls +file. +.sp +If prefix parameter is given, alarm names in the output will be prepended +with the prefix; alarms that have the prefix will be skipped. This can be +used to convert existing alarms to be managed by salt, as follows: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP 1. 3 +.INDENT 3.0 +.TP +.B Make a "backup" of all existing alarms +$ salt\-call boto_cloudwatch.get_all_alarms \-\-out=txt | sed "s/local: //" > legacy_alarms.sls +.UNINDENT +.IP 2. 3 +.INDENT 3.0 +.TP +.B Get all alarms with new prefixed names +$ salt\-call boto_cloudwatch.get_all_alarms "prefix=**MANAGED BY SALT** " \-\-out=txt | sed "s/local: //" > managed_alarms.sls +.UNINDENT +.IP 3. 3 +.INDENT 3.0 +.TP +.B Insert the managed alarms into cloudwatch +$ salt\-call state.template managed_alarms.sls +.UNINDENT +.IP 4. 3 +Manually verify that the new alarms look right +.IP 5. 3 +Delete the original alarms +$ sed s/present/absent/ legacy_alarms.sls > remove_legacy_alarms.sls +$ salt\-call state.template remove_legacy_alarms.sls +.IP 6. 3 +Get all alarms again, verify no changes +$ salt\-call boto_cloudwatch.get_all_alarms \-\-out=txt | sed "s/local: //" > final_alarms.sls +$ diff final_alarms.sls managed_alarms.sls +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cloudwatch.get_all_alarms region=us\-east\-1 \-\-out=txt +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_cloudwatch_event module .sp Connection module for Amazon CloudWatch Events @@ -117628,6 +120722,1436 @@ salt myminion boto_dynamodb.update_global_secondary_index table_name / indexes .UNINDENT .UNINDENT +.UNINDENT +.SS salt.modules.boto_ec2 +.sp +Connection module for Amazon EC2 +.sp +New in version 2015.8.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit EC2 credentials but can also +utilize IAM roles assigned to the instance through Instance Profiles. +Dynamic credentials are then automatically obtained from AWS API and no +further configuration is necessary. More Information available \fI\%here\fP\&. +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ec2.keyid: GKTADJGHEIQSXMKKRBJ08H +ec2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ec2.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If a region is not specified, the default is us\-east\-1. +.sp +It\(aqs also possible to specify key, keyid, and region via a profile, either +as a passed in dict, or as a string to pull from pillars or minion config: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +myprofile: + keyid: GKTADJGHEIQSXMKKRBJ08H + key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B depends +boto +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.allocate_eip_address(domain=None, region=None, key=None, keyid=None, profile=None) +Allocate a new Elastic IP address and associate it with your account. +.INDENT 7.0 +.TP +.B domain +(string) Optional param \- if set to exactly \(aqvpc\(aq, the address will be +allocated to the VPC. The default simply maps the EIP to your +account container. +.TP +.B returns +(dict) dict of \(aqinteresting\(aq information about the newly allocated EIP, +with probably the most interesting keys being \(aqpublic_ip\(aq; and +\(aqallocation_id\(aq iff \(aqdomain=vpc\(aq was passed. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.allocate_eip_address domain=vpc +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.assign_private_ip_addresses(network_interface_name=None, network_interface_id=None, private_ip_addresses=None, secondary_private_ip_address_count=None, allow_reassignment=False, region=None, key=None, keyid=None, profile=None) +Assigns one or more secondary private IP addresses to a network interface. +.INDENT 7.0 +.TP +.B network_interface_id +(string) \- ID of the network interface to associate the IP with (exclusive with \(aqnetwork_interface_name\(aq) +.TP +.B network_interface_name +(string) \- Name of the network interface to associate the IP with (exclusive with \(aqnetwork_interface_id\(aq) +.TP +.B private_ip_addresses +(list) \- Assigns the specified IP addresses as secondary IP addresses to the network interface (exclusive with \(aqsecondary_private_ip_address_count\(aq) +.TP +.B secondary_private_ip_address_count +(int) \- The number of secondary IP addresses to assign to the network interface. (exclusive with \(aqprivate_ip_addresses\(aq) +.TP +.B allow_reassociation +(bool) – Allow a currently associated EIP to be re\-associated with the new instance or interface. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.assign_private_ip_addresses network_interface_name=my_eni private_ip_addresses=private_ip +salt myminion boto_ec2.assign_private_ip_addresses network_interface_name=my_eni secondary_private_ip_address_count=2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2017.7.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.associate_eip_address(instance_id=None, instance_name=None, public_ip=None, allocation_id=None, network_interface_id=None, network_interface_name=None, private_ip_address=None, allow_reassociation=False, region=None, key=None, keyid=None, profile=None) +Associate an Elastic IP address with a currently running instance or a network interface. +This requires exactly one of either \(aqpublic_ip\(aq or \(aqallocation_id\(aq, depending +on whether you’re associating a VPC address or a plain EC2 address. +.INDENT 7.0 +.TP +.B instance_id +(string) – ID of the instance to associate with (exclusive with \(aqinstance_name\(aq) +.TP +.B instance_name +(string) – Name tag of the instance to associate with (exclusive with \(aqinstance_id\(aq) +.TP +.B public_ip +(string) – Public IP address, for standard EC2 based allocations. +.TP +.B allocation_id +(string) – Allocation ID for a VPC\-based EIP. +.TP +.B network_interface_id +(string) \- ID of the network interface to associate the EIP with +.TP +.B network_interface_name +(string) \- Name of the network interface to associate the EIP with +.TP +.B private_ip_address +(string) – The primary or secondary private IP address to associate with the Elastic IP address. +.TP +.B allow_reassociation +(bool) – Allow a currently associated EIP to be re\-associated with the new instance or interface. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.associate_eip_address instance_name=bubba.ho.tep allocation_id=eipalloc\-ef382c8a +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.attach_network_interface(device_index, name=None, network_interface_id=None, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None) +Attach an Elastic Network Interface. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.attach_network_interface my_eni instance_name=salt\-master device_index=0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.attach_volume(volume_id, instance_id, device, region=None, key=None, keyid=None, profile=None) +Attach an EBS volume to an EC2 instance. +.. +.INDENT 7.0 +.TP +.B volume_id +(string) – The ID of the EBS volume to be attached. +.TP +.B instance_id +(string) – The ID of the EC2 instance to attach the volume to. +.TP +.B device +(string) – The device on the instance through which the volume is exposed (e.g. /dev/sdh) +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.attach_volume vol\-12345678 i\-87654321 /dev/sdh +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.create_image(ami_name, instance_id=None, instance_name=None, tags=None, region=None, key=None, keyid=None, profile=None, description=None, no_reboot=False, dry_run=False, filters=None) +Given instance properties that define exactly one instance, create AMI and return AMI\-id. +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.create_image ami_name instance_name=myinstance +salt myminion boto_ec2.create_image another_ami_name tags=\(aq{"mytag": "value"}\(aq description=\(aqthis is my ami\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.create_key(key_name, save_path, region=None, key=None, keyid=None, profile=None) +Creates a key and saves it to a given path. +Returns the private key. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.create_key mykey /root/ +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.create_network_interface(name, subnet_id=None, subnet_name=None, private_ip_address=None, description=None, groups=None, region=None, key=None, keyid=None, profile=None) +Create an Elastic Network Interface. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.create_network_interface my_eni subnet\-12345 description=my_eni groups=[\(aqmy_group\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.create_tags(resource_ids, tags, region=None, key=None, keyid=None, profile=None) +Create new metadata tags for the specified resource ids. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B resource_ids +(string) or (list) – List of resource IDs. A plain string will be converted to a list of one element. +.TP +.B tags +(dict) – Dictionary of name/value pairs. To create only a tag name, pass \(aq\(aq as the value. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.create_tags vol\-12345678 \(aq{"Name": "myVolume01"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.create_volume(zone_name, size=None, snapshot_id=None, volume_type=None, iops=None, encrypted=False, kms_key_id=None, wait_for_creation=False, region=None, key=None, keyid=None, profile=None) +Create an EBS volume to an availability zone. +.INDENT 7.0 +.TP +.B zone_name +(string) – The Availability zone name of the EBS volume to be created. +.TP +.B size +.INDENT 7.0 +.TP +.B (int) – The size of the new volume, in GiB. If you\(aqre creating the +volume from a snapshot and don\(aqt specify a volume size, the +default is the snapshot size. +.UNINDENT +.TP +.B snapshot_id +(string) – The snapshot ID from which the new volume will be created. +.TP +.B volume_type +.INDENT 7.0 +.TP +.B (string) \- The type of the volume. Valid volume types for AWS can be found here: +\fI\%http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html\fP +.UNINDENT +.TP +.B iops +(int) \- The provisioned IOPS you want to associate with this volume. +.TP +.B encrypted +(bool) \- Specifies whether the volume should be encrypted. +.TP +.B kms_key_id +.INDENT 7.0 +.TP +.B (string) \- If encrypted is True, this KMS Key ID may be specified to +encrypt volume with this key +e.g.: arn:aws:kms:us\-east\-1:012345678910:key/abcd1234\-a123\-456a\-a12b\-a123b4cd56ef +.UNINDENT +.TP +.B wait_for_creation +(bool) \- Whether or not to wait for volume creation to complete. +.TP +.B returns +(string) \- created volume id on success, error message on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.create_volume us\-east\-1a size=10 +salt\-call boto_ec2.create_volume us\-east\-1a snapshot_id=snap\-0123abcd +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.delete_key(key_name, region=None, key=None, keyid=None, profile=None) +Deletes a key. Always returns True +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.delete_key mykey +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.delete_network_interface(name=None, network_interface_id=None, region=None, key=None, keyid=None, profile=None) +Create an Elastic Network Interface. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.create_network_interface my_eni subnet\-12345 description=my_eni groups=[\(aqmy_group\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.delete_tags(resource_ids, tags, region=None, key=None, keyid=None, profile=None) +Delete metadata tags for the specified resource ids. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B resource_ids +(string) or (list) – List of resource IDs. A plain string will be converted to a list of one element. +.TP +.B tags +.INDENT 7.0 +.TP +.B (dict) or (list) – Either a dictionary containing name/value pairs or a list containing just tag names. +If you pass in a dictionary, the values must match the actual tag values or the tag +will not be deleted. If you pass in a value of None for the tag value, all tags with +that name will be deleted. +.UNINDENT +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.delete_tags vol\-12345678 \(aq{"Name": "myVolume01"}\(aq +salt\-call boto_ec2.delete_tags vol\-12345678 \(aq["Name","MountPoint"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.delete_volume(volume_id, instance_id=None, device=None, force=False, region=None, key=None, keyid=None, profile=None) +Detach an EBS volume from an EC2 instance. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B volume_id +(string) – The ID of the EBS volume to be deleted. +.TP +.B force +(bool) – Forces deletion even if the device has not yet been detached from its instance. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.delete_volume vol\-12345678 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.detach_network_interface(name=None, network_interface_id=None, attachment_id=None, force=False, region=None, key=None, keyid=None, profile=None) +Detach an Elastic Network Interface. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.detach_network_interface my_eni +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.detach_volume(volume_id, instance_id=None, device=None, force=False, wait_for_detachement=False, region=None, key=None, keyid=None, profile=None) +Detach an EBS volume from an EC2 instance. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B volume_id +(string) – The ID of the EBS volume to be detached. +.TP +.B instance_id +(string) – The ID of the EC2 instance from which it will be detached. +.TP +.B device +(string) – The device on the instance through which the volume is exposted (e.g. /dev/sdh) +.TP +.B force +.INDENT 7.0 +.TP +.B (bool) – Forces detachment if the previous detachment attempt did not occur cleanly. +This option can lead to data loss or a corrupted file system. Use this option +only as a last resort to detach a volume from a failed instance. The instance +will not have an opportunity to flush file system caches nor file system meta data. +If you use this option, you must perform file system check and repair procedures. +.UNINDENT +.TP +.B wait_for_detachement +(bool) \- Whether or not to wait for volume detachement to complete. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.detach_volume vol\-12345678 i\-87654321 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.disassociate_eip_address(public_ip=None, association_id=None, region=None, key=None, keyid=None, profile=None) +Disassociate an Elastic IP address from a currently running instance. This +requires exactly one of either \(aqassociation_id\(aq or \(aqpublic_ip\(aq, depending +on whether you’re dealing with a VPC or EC2 Classic address. +.INDENT 7.0 +.TP +.B public_ip +(string) – Public IP address, for EC2 Classic allocations. +.TP +.B association_id +(string) – Association ID for a VPC\-bound EIP. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.disassociate_eip_address association_id=eipassoc\-e3ba2d16 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.exists(instance_id=None, name=None, tags=None, region=None, key=None, keyid=None, profile=None, in_states=None, filters=None) +Given an instance id, check to see if the given instance id exists. +.sp +Returns True if the given instance with the given id, name, or tags +exists; otherwise, False is returned. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.exists myinstance +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.find_images(ami_name=None, executable_by=None, owners=None, image_ids=None, tags=None, region=None, key=None, keyid=None, profile=None, return_objs=False) +Given image properties, find and return matching AMI ids +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.find_images tags=\(aq{"mytag": "value"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.find_instances(instance_id=None, name=None, tags=None, region=None, key=None, keyid=None, profile=None, return_objs=False, in_states=None, filters=None) +Given instance properties, find and return matching instance ids +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.find_instances # Lists all instances +salt myminion boto_ec2.find_instances name=myinstance +salt myminion boto_ec2.find_instances tags=\(aq{"mytag": "value"}\(aq +salt myminion boto_ec2.find_instances filters=\(aq{"vpc\-id": "vpc\-12345678"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_all_eip_addresses(addresses=None, allocation_ids=None, region=None, key=None, keyid=None, profile=None) +Get public addresses of some, or all EIPs associated with the current account. +.INDENT 7.0 +.TP +.B addresses +(list) \- Optional list of addresses. If provided, only the addresses +associated with those in the list will be returned. +.TP +.B allocation_ids +(list) \- Optional list of allocation IDs. If provided, only the +addresses associated with the given allocation IDs will be returned. +.TP +.B returns +(list) \- A list of the requested EIP addresses +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.get_all_eip_addresses +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_all_tags(filters=None, region=None, key=None, keyid=None, profile=None) +Describe all tags matching the filter criteria, or all tags in the account otherwise. +.sp +New in version 2018.3.0. + +.INDENT 7.0 +.TP +.B filters +(dict) \- Additional constraints on which volumes to return. Note that valid filters vary +extensively depending on the resource type. When in doubt, search first without a filter +and then use the returned data to help fine\-tune your search. You can generally garner the +resource type from its ID (e.g. \fIvol\-XXXXX\fP is a volume, \fIi\-XXXXX\fP is an instance, etc. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.get_all_tags \(aq{"tag:Name": myInstanceNameTag, resource\-type: instance}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_all_volumes(volume_ids=None, filters=None, return_objs=False, region=None, key=None, keyid=None, profile=None) +Get a list of all EBS volumes, optionally filtered by provided \(aqfilters\(aq param +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B volume_ids +(list) \- Optional list of volume_ids. If provided, only the volumes +associated with those in the list will be returned. +.TP +.B filters +(dict) \- Additional constraints on which volumes to return. Valid filters are: +.UNINDENT +.INDENT 7.0 +.IP \(bu 2 +attachment.attach\-time \- The time stamp when the attachment initiated. +.IP \(bu 2 +attachment.delete\-on\-termination \- Whether the volume is deleted on instance termination. +.IP \(bu 2 +attachment.device \- The device name that is exposed to the instance (for example, /dev/sda1). +.IP \(bu 2 +attachment.instance\-id \- The ID of the instance the volume is attached to. +.IP \(bu 2 +attachment.status \- The attachment state (attaching | attached | detaching | detached). +.IP \(bu 2 +availability\-zone \- The Availability Zone in which the volume was created. +.IP \(bu 2 +create\-time \- The time stamp when the volume was created. +.IP \(bu 2 +encrypted \- The encryption status of the volume. +.IP \(bu 2 +size \- The size of the volume, in GiB. +.IP \(bu 2 +snapshot\-id \- The snapshot from which the volume was created. +.IP \(bu 2 +status \- The status of the volume (creating | available | in\-use | deleting | deleted | error). +.IP \(bu 2 +\fI\%tag:key=value\fP \- The key/value combination of a tag assigned to the resource. +.IP \(bu 2 +volume\-id \- The volume ID. +.IP \(bu 2 +volume\-type \- The Amazon EBS volume type. This can be \fBgp2\fP for General +Purpose SSD, \fBio1\fP for Provisioned IOPS SSD, \fBst1\fP for Throughput +Optimized HDD, \fBsc1\fP for Cold HDD, or \fBstandard\fP for Magnetic volumes. +.UNINDENT +.INDENT 7.0 +.TP +.B return_objs +(bool) \- Changes the return type from list of volume IDs to list of +boto.ec2.volume.Volume objects +.TP +.B returns +(list) \- A list of the requested values: Either the volume IDs or, if +return_objs is \fBTrue\fP, boto.ec2.volume.Volume objects. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.get_all_volumes filters=\(aq{"tag:Name": "myVolume01"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_attribute(attribute, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None, filters=None) +Get an EC2 instance attribute. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_attribute sourceDestCheck instance_name=my_instance +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Available attributes: +.INDENT 7.0 +.IP \(bu 2 +instanceType +.IP \(bu 2 +kernel +.IP \(bu 2 +ramdisk +.IP \(bu 2 +userData +.IP \(bu 2 +disableApiTermination +.IP \(bu 2 +instanceInitiatedShutdownBehavior +.IP \(bu 2 +rootDeviceName +.IP \(bu 2 +blockDeviceMapping +.IP \(bu 2 +productCodes +.IP \(bu 2 +sourceDestCheck +.IP \(bu 2 +groupSet +.IP \(bu 2 +ebsOptimized +.IP \(bu 2 +sriovNetSupport +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_eip_address_info(addresses=None, allocation_ids=None, region=None, key=None, keyid=None, profile=None) +Get \(aqinteresting\(aq info about some, or all EIPs associated with the current account. +.INDENT 7.0 +.TP +.B addresses +(list) \- Optional list of addresses. If provided, only the addresses +associated with those in the list will be returned. +.TP +.B allocation_ids +(list) \- Optional list of allocation IDs. If provided, only the +addresses associated with the given allocation IDs will be returned. +.TP +.B returns +(list of dicts) \- A list of dicts, each containing the info for one of the requested EIPs. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.get_eip_address_info addresses=52.4.2.15 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_id(name=None, tags=None, region=None, key=None, keyid=None, profile=None, in_states=None, filters=None) +Given instance properties, return the instance id if it exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_id myinstance +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_key(key_name, region=None, key=None, keyid=None, profile=None) +Check to see if a key exists. Returns fingerprint and name if +it does and False if it doesn\(aqt +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_key mykey +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_keys(keynames=None, filters=None, region=None, key=None, keyid=None, profile=None) +Gets all keys or filters them by name and returns a list. +keynames (list):: A list of the names of keypairs to retrieve. +If not provided, all key pairs will be returned. +filters (dict) :: Optional filters that can be used to limit the +results returned. Filters are provided in the form of a dictionary +consisting of filter names as the key and filter values as the +value. The set of allowable filter names/values is dependent on +the request being performed. Check the EC2 API guide for details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_keys +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_network_interface(name=None, network_interface_id=None, region=None, key=None, keyid=None, profile=None) +Get an Elastic Network Interface. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_network_interface name=my_eni +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_network_interface_id(name, region=None, key=None, keyid=None, profile=None) +Get an Elastic Network Interface id from its name tag. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_network_interface_id name=my_eni +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_tags(instance_id=None, keyid=None, key=None, profile=None, region=None) +Given an instance_id, return a list of tags associated with that instance. +.INDENT 7.0 +.TP +.B returns +(list) \- list of tags as key/value pairs +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_tags instance_id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_unassociated_eip_address(domain=u\(aqstandard\(aq, region=None, key=None, keyid=None, profile=None) +Return the first unassociated EIP +.INDENT 7.0 +.TP +.B domain +Indicates whether the address is an EC2 address or a VPC address +(standard|vpc). +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call boto_ec2.get_unassociated_eip_address +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.get_zones(region=None, key=None, keyid=None, profile=None) +Get a list of AZs for the configured region. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.get_zones +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.import_key(key_name, public_key_material, region=None, key=None, keyid=None, profile=None) +Imports the public key from an RSA key pair that you created with a third\-party tool. +Supported formats: +\- OpenSSH public key format (e.g., the format in ~/.ssh/authorized_keys) +\- Base64 encoded DER format +\- SSH public key file format as specified in RFC4716 +\- DSA keys are not supported. Make sure your key generator is set up to create RSA keys. +Supported lengths: 1024, 2048, and 4096. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.import mykey publickey +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.modify_network_interface_attribute(name=None, network_interface_id=None, attr=None, value=None, region=None, key=None, keyid=None, profile=None) +Modify an attribute of an Elastic Network Interface. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.modify_network_interface_attribute my_eni attr=description value=\(aqexample description\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.release_eip_address(public_ip=None, allocation_id=None, region=None, key=None, keyid=None, profile=None) +Free an Elastic IP address. Pass either a public IP address to release an +EC2 Classic EIP, or an AllocationId to release a VPC EIP. +.INDENT 7.0 +.TP +.B public_ip +(string) \- The public IP address \- for EC2 elastic IPs. +.TP +.B allocation_id +(string) \- The Allocation ID \- for VPC elastic IPs. +.TP +.B returns +(bool) \- True on success, False on failure +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.release_eip_address allocation_id=eipalloc\-ef382c8a +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.run(image_id, name=None, tags=None, key_name=None, security_groups=None, user_data=None, instance_type=u\(aqm1.small\(aq, placement=None, kernel_id=None, ramdisk_id=None, monitoring_enabled=None, vpc_id=None, vpc_name=None, subnet_id=None, subnet_name=None, private_ip_address=None, block_device_map=None, disable_api_termination=None, instance_initiated_shutdown_behavior=None, placement_group=None, client_token=None, security_group_ids=None, security_group_names=None, additional_info=None, tenancy=None, instance_profile_arn=None, instance_profile_name=None, ebs_optimized=None, network_interface_id=None, network_interface_name=None, region=None, key=None, keyid=None, profile=None, network_interfaces=None) +Create and start an EC2 instance. +.sp +Returns True if the instance was created; otherwise False. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.run ami\-b80c2b87 name=myinstance +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B image_id +(string) – The ID of the image to run. +.TP +.B name +(string) \- The name of the instance. +.TP +.B tags +(dict of key: value pairs) \- tags to apply to the instance. +.TP +.B key_name +(string) – The name of the key pair with which to launch instances. +.TP +.B security_groups +(list of strings) – The names of the EC2 classic security groups with +which to associate instances +.TP +.B user_data +(string) – The Base64\-encoded MIME user data to be made available to the +instance(s) in this reservation. +.TP +.B instance_type +(string) – The type of instance to run. Note that some image types +(e.g. hvm) only run on some instance types. +.TP +.B placement +(string) – The Availability Zone to launch the instance into. +.TP +.B kernel_id +(string) – The ID of the kernel with which to launch the instances. +.TP +.B ramdisk_id +(string) – The ID of the RAM disk with which to launch the instances. +.TP +.B monitoring_enabled +(bool) – Enable detailed CloudWatch monitoring on the instance. +.TP +.B vpc_id +(string) \- ID of a VPC to bind the instance to. Exclusive with vpc_name. +.TP +.B vpc_name +(string) \- Name of a VPC to bind the instance to. Exclusive with vpc_id. +.TP +.B subnet_id +(string) – The subnet ID within which to launch the instances for VPC. +.TP +.B subnet_name +(string) – The name of a subnet within which to launch the instances for VPC. +.TP +.B private_ip_address +(string) – If you’re using VPC, you can optionally use this parameter to +assign the instance a specific available IP address from the subnet +(e.g. 10.0.0.25). +.TP +.B block_device_map +(boto.ec2.blockdevicemapping.BlockDeviceMapping) – A BlockDeviceMapping +data structure describing the EBS volumes associated with the Image. +(string) \- A string representation of a BlockDeviceMapping structure +(dict) \- A dict describing a BlockDeviceMapping structure +.sp +YAML example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +device\-maps: + /dev/sdb: + ephemeral_name: ephemeral0 + /dev/sdc: + ephemeral_name: ephemeral1 + /dev/sdd: + ephemeral_name: ephemeral2 + /dev/sde: + ephemeral_name: ephemeral3 + /dev/sdf: + size: 20 + volume_type: gp2 +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B disable_api_termination +(bool) – If True, the instances will be locked and will not be able to +be terminated via the API. +.TP +.B instance_initiated_shutdown_behavior +(string) – Specifies whether the instance stops or terminates on +instance\-initiated shutdown. Valid values are: stop, terminate +.TP +.B placement_group +(string) – If specified, this is the name of the placement group in +which the instance(s) will be launched. +.TP +.B client_token +(string) – Unique, case\-sensitive identifier you provide to ensure +idempotency of the request. Maximum 64 ASCII characters. +.TP +.B security_group_ids +(list of strings) – The ID(s) of the VPC security groups with which to +associate instances. +.TP +.B security_group_names +(list of strings) – The name(s) of the VPC security groups with which to +associate instances. +.TP +.B additional_info +(string) – Specifies additional information to make available to the +instance(s). +.TP +.B tenancy +(string) – The tenancy of the instance you want to launch. An instance +with a tenancy of ‘dedicated’ runs on single\-tenant hardware and can +only be launched into a VPC. Valid values are:”default” or “dedicated”. +NOTE: To use dedicated tenancy you MUST specify a VPC subnet\-ID as well. +.TP +.B instance_profile_arn +(string) – The Amazon resource name (ARN) of the IAM Instance Profile +(IIP) to associate with the instances. +.TP +.B instance_profile_name +(string) – The name of the IAM Instance Profile (IIP) to associate with +the instances. +.TP +.B ebs_optimized +(bool) – Whether the instance is optimized for EBS I/O. This +optimization provides dedicated throughput to Amazon EBS and an +optimized configuration stack to provide optimal EBS I/O performance. +This optimization isn’t available with all instance types. +.TP +.B network_interfaces +(boto.ec2.networkinterface.NetworkInterfaceCollection) – A +NetworkInterfaceCollection data structure containing the ENI +specifications for the instance. +.TP +.B network_interface_id +(string) \- ID of the network interface to attach to the instance +.TP +.B network_interface_name +(string) \- Name of the network interface to attach to the instance +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.set_attribute(attribute, attribute_value, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None, filters=None) +Set an EC2 instance attribute. +Returns whether the operation succeeded or not. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.set_attribute sourceDestCheck False instance_name=my_instance +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Available attributes: +.INDENT 7.0 +.IP \(bu 2 +instanceType +.IP \(bu 2 +kernel +.IP \(bu 2 +ramdisk +.IP \(bu 2 +userData +.IP \(bu 2 +disableApiTermination +.IP \(bu 2 +instanceInitiatedShutdownBehavior +.IP \(bu 2 +rootDeviceName +.IP \(bu 2 +blockDeviceMapping +.IP \(bu 2 +productCodes +.IP \(bu 2 +sourceDestCheck +.IP \(bu 2 +groupSet +.IP \(bu 2 +ebsOptimized +.IP \(bu 2 +sriovNetSupport +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.set_volumes_tags(tag_maps, authoritative=False, dry_run=False, region=None, key=None, keyid=None, profile=None) +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B tag_maps (list) +List of dicts of filters and tags, where \(aqfilters\(aq is a dict suitable for passing to the +\(aqfilters\(aq argument of get_all_volumes() above, and \(aqtags\(aq is a dict of tags to be set on +volumes (via create_tags/delete_tags) as matched by the given filters. The filter syntax +is extended to permit passing either a list of volume_ids or an instance_name (with +instance_name being the Name tag of the instance to which the desired volumes are mapped). +Each mapping in the list is applied separately, so multiple sets of volumes can be all +tagged differently with one call to this function. If filtering by instance Name, You may +additionally limit the instances matched by passing in a list of desired instance states. +The default set of states is (\(aqpending\(aq, \(aqrebooting\(aq, \(aqrunning\(aq, \(aqstopping\(aq, \(aqstopped\(aq). +.UNINDENT +.sp +YAML example fragment: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- filters: + attachment.instance_id: i\-abcdef12 + tags: + Name: dev\-int\-abcdef12.aws\-foo.com +\- filters: + attachment.device: /dev/sdf + tags: + ManagedSnapshots: true + BillingGroup: bubba.hotep@aws\-foo.com + in_states: + \- stopped + \- terminated +\- filters: + instance_name: prd\-foo\-01.aws\-foo.com + tags: + Name: prd\-foo\-01.aws\-foo.com + BillingGroup: infra\-team@aws\-foo.com +\- filters: + volume_ids: [ vol\-12345689, vol\-abcdef12 ] + tags: + BillingGroup: infra\-team@aws\-foo.com +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B authoritative (bool) +If true, any existing tags on the matched volumes, and not explicitly requested here, will +be removed. +.TP +.B dry_run (bool) +If true, don\(aqt change anything, just return a dictionary describing any changes which +would have been applied. +.TP +.B returns (dict) +A dict describing status and any changes. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.terminate(instance_id=None, name=None, region=None, key=None, keyid=None, profile=None, filters=None) +Terminate the instance described by instance_id or name. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.terminate name=myinstance +salt myminion boto_ec2.terminate instance_id=i\-a46b9f +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_ec2.unassign_private_ip_addresses(network_interface_name=None, network_interface_id=None, private_ip_addresses=None, region=None, key=None, keyid=None, profile=None) +Unassigns one or more secondary private IP addresses from a network interface +.INDENT 7.0 +.TP +.B network_interface_id +(string) \- ID of the network interface to associate the IP with (exclusive with \(aqnetwork_interface_name\(aq) +.TP +.B network_interface_name +(string) \- Name of the network interface to associate the IP with (exclusive with \(aqnetwork_interface_id\(aq) +.TP +.B private_ip_addresses +(list) \- Assigns the specified IP addresses as secondary IP addresses to the network interface. +.TP +.B returns +(bool) \- True on success, False on failure. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_ec2.unassign_private_ip_addresses network_interface_name=my_eni private_ip_addresses=private_ip +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2017.7.0. + .UNINDENT .SS salt.modules.boto_efs module .sp @@ -118768,6 +123292,648 @@ salt myminion boto_elasticsearch_domain.update mydomain \e .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_elb +.sp +Connection module for Amazon ELB +.sp +New in version 2014.7.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit elb credentials but can also utilize +IAM roles assigned to the instance through Instance Profiles. Dynamic +credentials are then automatically obtained from AWS API and no further +configuration is necessary. More Information available at: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam\-roles\-for\-amazon\-ec2.html +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +elb.keyid: GKTADJGHEIQSXMKKRBJ08H +elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +elb.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If a region is not specified, the default is us\-east\-1. +.sp +It\(aqs also possible to specify key, keyid and region via a profile, either +as a passed in dict, or as a string to pull from pillars or minion config: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myprofile: + keyid: GKTADJGHEIQSXMKKRBJ08H + key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B depends +boto >= 2.33.0 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.apply_security_groups(name, security_groups, region=None, key=None, keyid=None, profile=None) +Apply security groups to ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.apply_security_groups myelb \(aq["mysecgroup1"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.attach_subnets(name, subnets, region=None, key=None, keyid=None, profile=None) +Attach ELB to subnets. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.attach_subnets myelb \(aq["mysubnet"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.create(name, availability_zones, listeners, subnets=None, security_groups=None, scheme=u\(aqinternet\-facing\(aq, region=None, key=None, keyid=None, profile=None) +Create an ELB +.sp +CLI example to create an ELB: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.create myelb \(aq["us\-east\-1a", "us\-east\-1e"]\(aq \(aq{"elb_port": 443, "elb_protocol": "HTTPS", ...}\(aq region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.create_listeners(name, listeners, region=None, key=None, keyid=None, profile=None) +Create listeners on an ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.create_listeners myelb \(aq[["HTTPS", "HTTP", 443, 80, "arn:aws:iam::11 11111:server\-certificate/mycert"]]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.create_policy(name, policy_name, policy_type, policy, region=None, key=None, keyid=None, profile=None) +Create an ELB policy. +.sp +New in version 2016.3.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.create_policy myelb mypolicy LBCookieStickinessPolicyType \(aq{"CookieExpirationPeriod": 3600}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.delete(name, region=None, key=None, keyid=None, profile=None) +Delete an ELB. +.sp +CLI example to delete an ELB: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.delete myelb region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.delete_listeners(name, ports, region=None, key=None, keyid=None, profile=None) +Delete listeners on an ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.delete_listeners myelb \(aq[80,443]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.delete_policy(name, policy_name, region=None, key=None, keyid=None, profile=None) +Delete an ELB policy. +.sp +New in version 2016.3.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.delete_policy myelb mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.delete_tags(name, tags, region=None, key=None, keyid=None, profile=None) +Add the tags on an ELB +.INDENT 7.0 +.TP +.B name +name of the ELB +.TP +.B tags +list of tags to remove +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.delete_tags my\-elb\-name [\(aqTagToRemove1\(aq, \(aqTagToRemove2\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.deregister_instances(name, instances, region=None, key=None, keyid=None, profile=None) +Deregister instances with an ELB. Instances is either a string +instance id or a list of string instance id\(aqs. +.sp +Returns: +.INDENT 7.0 +.IP \(bu 2 +\fBTrue\fP: instance(s) deregistered successfully +.IP \(bu 2 +\fBFalse\fP: instance(s) failed to be deregistered +.IP \(bu 2 +\fBNone\fP: instance(s) not valid or not registered, no action taken +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.deregister_instances myelb instance_id +salt myminion boto_elb.deregister_instances myelb "[instance_id, instance_id]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.detach_subnets(name, subnets, region=None, key=None, keyid=None, profile=None) +Detach ELB from subnets. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.detach_subnets myelb \(aq["mysubnet"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.disable_availability_zones(name, availability_zones, region=None, key=None, keyid=None, profile=None) +Disable availability zones for ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.disable_availability_zones myelb \(aq["us\-east\-1a"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.enable_availability_zones(name, availability_zones, region=None, key=None, keyid=None, profile=None) +Enable availability zones for ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.enable_availability_zones myelb \(aq["us\-east\-1a"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.exists(name, region=None, key=None, keyid=None, profile=None) +Check to see if an ELB exists. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.exists myelb region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.get_all_elbs(region=None, key=None, keyid=None, profile=None) +Return all load balancers associated with an account +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.get_all_elbs region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.get_attributes(name, region=None, key=None, keyid=None, profile=None) +Check to see if attributes are set on an ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.get_attributes myelb +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.get_elb_config(name, region=None, key=None, keyid=None, profile=None) +Get an ELB configuration. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.exists myelb region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.get_health_check(name, region=None, key=None, keyid=None, profile=None) +Get the health check configured for this ELB. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.get_health_check myelb +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.get_instance_health(name, region=None, key=None, keyid=None, profile=None, instances=None) +Get a list of instances and their health state +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.get_instance_health myelb +salt myminion boto_elb.get_instance_health myelb region=us\-east\-1 instances="[instance_id,instance_id]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.list_elbs(region=None, key=None, keyid=None, profile=None) +Return names of all load balancers associated with an account +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.list_elbs region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.listener_dict_to_tuple(listener) +Convert an ELB listener dict into a listener tuple used by certain parts of +the AWS ELB API. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.listener_dict_to_tuple \(aq{"elb_port":80,"instance_port":80,"elb_protocol":"HTTP"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.register_instances(name, instances, region=None, key=None, keyid=None, profile=None) +Register instances with an ELB. Instances is either a string +instance id or a list of string instance id\(aqs. +.sp +Returns: +.INDENT 7.0 +.IP \(bu 2 +\fBTrue\fP: instance(s) registered successfully +.IP \(bu 2 +\fBFalse\fP: instance(s) failed to be registered +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.register_instances myelb instance_id +salt myminion boto_elb.register_instances myelb "[instance_id,instance_id]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.set_attributes(name, attributes, region=None, key=None, keyid=None, profile=None) +Set attributes on an ELB. +.INDENT 7.0 +.TP +.B name (string) +Name of the ELB instance to set attributes for +.TP +.B attributes +A dict of attributes to set. +.sp +Valid attributes are: +.INDENT 7.0 +.TP +.B access_log (dict) +.INDENT 7.0 +.TP +.B enabled (bool) +Enable storage of access logs. +.TP +.B s3_bucket_name (string) +The name of the S3 bucket to place logs. +.TP +.B s3_bucket_prefix (string) +Prefix for the log file name. +.TP +.B emit_interval (int) +Interval for storing logs in S3 in minutes. Valid values are +5 and 60. +.UNINDENT +.TP +.B connection_draining (dict) +.INDENT 7.0 +.TP +.B enabled (bool) +Enable connection draining. +.TP +.B timeout (int) +Maximum allowed time in seconds for sending existing +connections to an instance that is deregistering or unhealthy. +Default is 300. +.UNINDENT +.TP +.B cross_zone_load_balancing (dict) +.INDENT 7.0 +.TP +.B enabled (bool) +Enable cross\-zone load balancing. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI example to set attributes on an ELB: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.set_attributes myelb \(aq{"access_log": {"enabled": "true", "s3_bucket_name": "mybucket", "s3_bucket_prefix": "mylogs/", "emit_interval": "5"}}\(aq region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.set_backend_policy(name, port, policies=None, region=None, key=None, keyid=None, profile=None) +Set the policies of an ELB backend server. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +salt myminion boto_elb.set_backend_policy myelb 443 "[policy1,policy2]" +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.set_health_check(name, health_check, region=None, key=None, keyid=None, profile=None) +Set attributes on an ELB. +.sp +CLI example to set attributes on an ELB: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.set_health_check myelb \(aq{"target": "HTTP:80/"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.set_instances(name, instances, test=False, region=None, key=None, keyid=None, profile=None) +Set the instances assigned to an ELB to exactly the list given +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.set_instances myelb region=us\-east\-1 instances="[instance_id,instance_id]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.set_listener_policy(name, port, policies=None, region=None, key=None, keyid=None, profile=None) +Set the policies of an ELB listener. +.sp +New in version 2016.3.0. + +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.set_listener_policy myelb 443 "[policy1,policy2]" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elb.set_tags(name, tags, region=None, key=None, keyid=None, profile=None) +Add the tags on an ELB +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B name +name of the ELB +.TP +.B tags +dict of name/value pair tags +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elb.set_tags my\-elb\-name "{\(aqTag1\(aq: \(aqValue\(aq, \(aqTag2\(aq: \(aqAnother Value\(aq}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_elbv2 module .sp Connection module for Amazon ALB @@ -124124,6 +129290,352 @@ salt myminion boto_s3_bucket.put_website my_bucket IndexDocument=\(aq{"Suffix":" .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_secgroup +.sp +Connection module for Amazon Security Groups +.sp +New in version 2014.7.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit ec2 credentials but can +also utilize IAM roles assigned to the instance through Instance Profiles. +Dynamic credentials are then automatically obtained from AWS API and no +further configuration is necessary. More Information available at: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam\-roles\-for\-amazon\-ec2.html +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +secgroup.keyid: GKTADJGHEIQSXMKKRBJ08H +secgroup.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +secgroup.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If a region is not specified, the default is us\-east\-1. +.sp +It\(aqs also possible to specify key, keyid and region via a profile, either +as a passed in dict, or as a string to pull from pillars or minion config: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myprofile: + keyid: GKTADJGHEIQSXMKKRBJ08H + key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B depends +boto +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.authorize(name=None, source_group_name=None, source_group_owner_id=None, ip_protocol=None, from_port=None, to_port=None, cidr_ip=None, group_id=None, source_group_group_id=None, region=None, key=None, keyid=None, profile=None, vpc_id=None, vpc_name=None, egress=False) +Add a new rule to an existing security group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.authorize mysecgroup ip_protocol=tcp from_port=80 to_port=80 cidr_ip=\(aq[\(aq10.0.0.0/8\(aq, \(aq192.168.0.0/24\(aq]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.convert_to_group_ids(groups, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Given a list of security groups and a vpc_id, convert_to_group_ids will +convert all list items in the given list to security group ids. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.convert_to_group_ids mysecgroup vpc\-89yhh7h +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.create(name, description, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Create a security group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.create mysecgroup \(aqMy Security Group\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.delete(name=None, group_id=None, region=None, key=None, keyid=None, profile=None, vpc_id=None, vpc_name=None) +Delete a security group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.delete mysecgroup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.delete_tags(tags, name=None, group_id=None, vpc_name=None, vpc_id=None, region=None, key=None, keyid=None, profile=None) +deletes tags from a security group +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B tags +a list of tags to remove +.TP +.B name +the name of the security group +.TP +.B group_id +the group id of the security group (in lie of a name/vpc combo) +.TP +.B vpc_name +the name of the vpc to search the named group for +.TP +.B vpc_id +the id of the vpc, in lieu of the vpc_name +.TP +.B region +the amazon region +.TP +.B key +amazon key +.TP +.B keyid +amazon keyid +.TP +.B profile +amazon profile +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.delete_tags [\(aqTAG_TO_DELETE1\(aq,\(aqTAG_TO_DELETE2\(aq] security_group_name vpc_id=vpc\-13435 profile=my_aws_profile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.exists(name=None, region=None, key=None, keyid=None, profile=None, vpc_id=None, vpc_name=None, group_id=None) +Check to see if a security group exists. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.exists mysecgroup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.get_all_security_groups(groupnames=None, group_ids=None, filters=None, region=None, key=None, keyid=None, profile=None) +Return a list of all Security Groups matching the given criteria and filters. +.sp +Note that the \(aqgroupnames\(aq argument only functions correctly for EC2 Classic +and default VPC Security Groups. To find groups by name in other VPCs you\(aqll +want to use the \(aqgroup\-name\(aq filter instead. +.INDENT 7.0 +.TP +.B Valid keys for the filters argument are: +description \- The description of the security group. +egress.ip\-permission.prefix\-list\-id \- The ID (prefix) of the AWS service to which the security group allows access. +group\-id \- The ID of the security group. +group\-name \- The name of the security group. +ip\-permission.cidr \- A CIDR range that has been granted permission. +ip\-permission.from\-port \- The start of port range for the TCP and UDP protocols, or an ICMP type number. +ip\-permission.group\-id \- The ID of a security group that has been granted permission. +ip\-permission.group\-name \- The name of a security group that has been granted permission. +ip\-permission.protocol \- The IP protocol for the permission (tcp | udp | icmp or a protocol number). +ip\-permission.to\-port \- The end of port range for the TCP and UDP protocols, or an ICMP code. +ip\-permission.user\-id \- The ID of an AWS account that has been granted permission. +owner\-id \- The AWS account ID of the owner of the security group. +tag\-key \- The key of a tag assigned to the security group. +tag\-value \- The value of a tag assigned to the security group. +vpc\-id \- The ID of the VPC specified when the security group was created. +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.get_all_security_groups filters=\(aq{group\-name: mygroup}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.get_config(name=None, group_id=None, region=None, key=None, keyid=None, profile=None, vpc_id=None, vpc_name=None) +Get the configuration for a security group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.get_config mysecgroup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.get_group_id(name, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Get a Group ID given a Group Name or Group Name and VPC ID +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.get_group_id mysecgroup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.revoke(name=None, source_group_name=None, source_group_owner_id=None, ip_protocol=None, from_port=None, to_port=None, cidr_ip=None, group_id=None, source_group_group_id=None, region=None, key=None, keyid=None, profile=None, vpc_id=None, vpc_name=None, egress=False) +Remove a rule from an existing security group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.revoke mysecgroup ip_protocol=tcp from_port=80 to_port=80 cidr_ip=\(aq10.0.0.0/8\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_secgroup.set_tags(tags, name=None, group_id=None, vpc_name=None, vpc_id=None, region=None, key=None, keyid=None, profile=None) +sets tags on a security group +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B tags +a dict of key:value pair of tags to set on the security group +.TP +.B name +the name of the security group +.TP +.B group_id +the group id of the security group (in lie of a name/vpc combo) +.TP +.B vpc_name +the name of the vpc to search the named group for +.TP +.B vpc_id +the id of the vpc, in lieu of the vpc_name +.TP +.B region +the amazon region +.TP +.B key +amazon key +.TP +.B keyid +amazon keyid +.TP +.B profile +amazon profile +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_secgroup.set_tags "{\(aqTAG1\(aq: \(aqValue1\(aq, \(aqTAG2\(aq: \(aqValue2\(aq}" security_group_name vpc_id=vpc\-13435 profile=my_aws_profile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_sns .sp Connection module for Amazon SNS @@ -124472,7 +129984,7 @@ salt myminion boto_sqs.get_attributes myqueue .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_sqs.list(prefix=u\(aq\(aq, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_sqs.list_(prefix=u\(aq\(aq, region=None, key=None, keyid=None, profile=None) Return a list of the names of all visible queues. .sp New in version 2016.11.0. @@ -124507,6 +130019,1625 @@ salt myminion boto_sqs.set_attributes myqueue \(aq{ReceiveMessageWaitTimeSeconds .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_vpc +.sp +Connection module for Amazon VPC +.sp +New in version 2014.7.0. + +.INDENT 0.0 +.TP +.B depends +.UNINDENT +.INDENT 0.0 +.IP \(bu 2 +boto >= 2.8.0 +.IP \(bu 2 +boto3 >= 1.2.6 +.UNINDENT +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit VPC credentials but can also +utilize IAM roles assigned to the instance through Instance Profiles. +Dynamic credentials are then automatically obtained from AWS API and no +further configuration is necessary. More Information available \fI\%here\fP\&. +.UNINDENT +.sp +If IAM roles are not used you need to specify them either in a pillar or +in the minion\(aqs config file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +vpc.keyid: GKTADJGHEIQSXMKKRBJ08H +vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A region may also be specified in the configuration: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +vpc.region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If a region is not specified, the default is us\-east\-1. +.sp +It\(aqs also possible to specify key, keyid and region via a profile, either +as a passed in dict, or as a string to pull from pillars or minion config: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +myprofile: + keyid: GKTADJGHEIQSXMKKRBJ08H + key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Changed in version 2015.8.0: All methods now return a dictionary. Create and delete methods return: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +created: true +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +or +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +created: false +error: + message: error message +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Request methods (e.g., \fIdescribe_vpc\fP) return: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +vpcs: + \- {...} + \- {...} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +or +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +error: + message: error message +.ft P +.fi +.UNINDENT +.UNINDENT + +.sp +New in version 2016.11.0. + +.sp +Functions to request, accept, delete and describe VPC peering connections. +Named VPC peering connections can be requested using these modules. +VPC owner accounts can accept VPC peering connections (named or otherwise). +.sp +Examples showing creation of VPC peering connection +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Create a named VPC peering connection +salt myminion boto_vpc.request_vpc_peering_connection vpc\-4a3e622e vpc\-be82e9da name=my_vpc_connection +# Without a name +salt myminion boto_vpc.request_vpc_peering_connection vpc\-4a3e622e vpc\-be82e9da +# Specify a region +salt myminion boto_vpc.request_vpc_peering_connection vpc\-4a3e622e vpc\-be82e9da region=us\-west\-2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Check to see if VPC peering connection is pending +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.is_peering_connection_pending name=salt\-vpc +# Specify a region +salt myminion boto_vpc.is_peering_connection_pending name=salt\-vpc region=us\-west\-2 +# specify an id +salt myminion boto_vpc.is_peering_connection_pending conn_id=pcx\-8a8939e3 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Accept VPC peering connection +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.accept_vpc_peering_connection name=salt\-vpc +# Specify a region +salt myminion boto_vpc.accept_vpc_peering_connection name=salt\-vpc region=us\-west\-2 +# specify an id +salt myminion boto_vpc.accept_vpc_peering_connection conn_id=pcx\-8a8939e3 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Deleting VPC peering connection via this module +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Delete a named VPC peering connection +salt myminion boto_vpc.delete_vpc_peering_connection name=salt\-vpc +# Specify a region +salt myminion boto_vpc.delete_vpc_peering_connection name=salt\-vpc region=us\-west\-2 +# specify an id +salt myminion boto_vpc.delete_vpc_peering_connection conn_id=pcx\-8a8939e3 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.accept_vpc_peering_connection(conn_id=u\(aq\(aq, name=u\(aq\(aq, region=None, key=None, keyid=None, profile=None, dry_run=False) +Request a VPC peering connection between two VPCs. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconn_id\fP \-\- The ID to use. String type. +.IP \(bu 2 +\fBname\fP \-\- The name of this VPC peering connection. String type. +.IP \(bu 2 +\fBregion\fP \-\- The AWS region to use. Type string. +.IP \(bu 2 +\fBkey\fP \-\- The key to use for this connection. Type string. +.IP \(bu 2 +\fBkeyid\fP \-\- The key id to use. +.IP \(bu 2 +\fBprofile\fP \-\- The profile to use. +.IP \(bu 2 +\fBdry_run\fP \-\- The dry_run flag to set. +.UNINDENT +.TP +.B Returns +dict +.UNINDENT +.sp +Warning: Please specify either the \fBvpc_peering_connection_id\fP or +\fBname\fP but not both. Specifying both will result in an error! +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.accept_vpc_peering_connection name=salt\-vpc +# Specify a region +salt myminion boto_vpc.accept_vpc_peering_connection name=salt\-vpc region=us\-west\-2 +# specify an id +salt myminion boto_vpc.accept_vpc_peering_connection conn_id=pcx\-8a8939e3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.associate_dhcp_options_to_vpc(dhcp_options_id, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Given valid DHCP options id and a valid VPC id, associate the DHCP options record with the VPC. +.sp +Returns True if the DHCP options record were associated and returns False if the DHCP options record was not associated. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.associate_dhcp_options_to_vpc \(aqdhcp\-a0bl34pp\(aq \(aqvpc\-6b1fe402\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.associate_network_acl_to_subnet(network_acl_id=None, subnet_id=None, network_acl_name=None, subnet_name=None, region=None, key=None, keyid=None, profile=None) +Given a network acl and subnet ids or names, associate a network acl to a subnet. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.associate_network_acl_to_subnet \e + network_acl_id=\(aqacl\-5fb85d36\(aq subnet_id=\(aqsubnet\-6a1fe403\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.associate_network_acl_to_subnet \e + network_acl_id=\(aqmyacl\(aq subnet_id=\(aqmysubnet\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.associate_route_table(route_table_id=None, subnet_id=None, route_table_name=None, subnet_name=None, region=None, key=None, keyid=None, profile=None) +Given a route table and subnet name or id, associates the route table with the subnet. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.associate_route_table \(aqrtb\-1f382e7d\(aq \(aqsubnet\-6a1fe403\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.associate_route_table route_table_name=\(aqmyrtb\(aq \e + subnet_name=\(aqmysubnet\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.check_vpc(vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Check whether a VPC with the given name or id exists. +Returns the vpc_id or None. Raises SaltInvocationError if +both vpc_id and vpc_name are None. Optionally raise a +CommandExecutionError if the VPC does not exist. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.check_vpc vpc_name=myvpc profile=awsprofile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create(cidr_block, instance_tenancy=None, vpc_name=None, enable_dns_support=None, enable_dns_hostnames=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given a valid CIDR block, create a VPC. +.sp +An optional instance_tenancy argument can be provided. If provided, the +valid values are \(aqdefault\(aq or \(aqdedicated\(aq +.sp +An optional vpc_name argument can be provided. +.sp +Returns {created: true} if the VPC was created and returns +{created: False} if the VPC was not created. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create \(aq10.0.0.0/24\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_customer_gateway(vpn_connection_type, ip_address, bgp_asn, customer_gateway_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given a valid VPN connection type, a static IP address and a customer +gateway’s Border Gateway Protocol (BGP) Autonomous System Number, +create a customer gateway. +.sp +Returns the customer gateway id if the customer gateway was created and +returns False if the customer gateway was not created. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_customer_gateway \(aqipsec.1\(aq, \(aq12.1.2.3\(aq, 65534 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_dhcp_options(domain_name=None, domain_name_servers=None, ntp_servers=None, netbios_name_servers=None, netbios_node_type=None, dhcp_options_name=None, tags=None, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Given valid DHCP options, create a DHCP options record, optionally associating it with +an existing VPC. +.sp +Returns True if the DHCP options record was created and returns False if the DHCP options record was not deleted. +.sp +Changed in version 2015.8.0: Added vpc_name and vpc_id arguments + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_dhcp_options domain_name=\(aqexample.com\(aq \e + domain_name_servers=\(aq[1.2.3.4]\(aq ntp_servers=\(aq[5.6.7.8]\(aq \e + netbios_name_servers=\(aq[10.0.0.1]\(aq netbios_node_type=1 \e + vpc_name=\(aqmyvpc\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_internet_gateway(internet_gateway_name=None, vpc_id=None, vpc_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Create an Internet Gateway, optionally attaching it to an existing VPC. +.sp +Returns the internet gateway id if the internet gateway was created and +returns False if the internet gateways was not created. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_internet_gateway \e + internet_gateway_name=myigw vpc_name=myvpc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_nat_gateway(subnet_id=None, subnet_name=None, allocation_id=None, region=None, key=None, keyid=None, profile=None) +Create a NAT Gateway within an existing subnet. If allocation_id is +specified, the elastic IP address it references is associated with the +gateway. Otherwise, a new allocation_id is created and used. +.sp +This function requires boto3 to be installed. +.sp +Returns the nat gateway id if the nat gateway was created and +returns False if the nat gateway was not created. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_nat_gateway subnet_name=mysubnet +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_network_acl(vpc_id=None, vpc_name=None, network_acl_name=None, subnet_id=None, subnet_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given a vpc_id, creates a network acl. +.sp +Returns the network acl id if successful, otherwise returns False. +.sp +Changed in version 2015.8.0: Added vpc_name, subnet_id, and subnet_name arguments + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_network_acl \(aqvpc\-6b1fe402\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_network_acl_entry(network_acl_id=None, rule_number=None, protocol=None, rule_action=None, cidr_block=None, egress=None, network_acl_name=None, icmp_code=None, icmp_type=None, port_range_from=None, port_range_to=None, region=None, key=None, keyid=None, profile=None) +Creates a network acl entry. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_network_acl_entry \(aqacl\-5fb85d36\(aq \(aq32767\(aq \e + \(aqall\(aq \(aqdeny\(aq \(aq0.0.0.0/0\(aq egress=true +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_route(route_table_id=None, destination_cidr_block=None, route_table_name=None, gateway_id=None, internet_gateway_name=None, instance_id=None, interface_id=None, vpc_peering_connection_id=None, vpc_peering_connection_name=None, region=None, key=None, keyid=None, profile=None, nat_gateway_id=None, nat_gateway_subnet_name=None, nat_gateway_subnet_id=None) +Creates a route. +.sp +If a nat gateway is specified, boto3 must be installed +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_route \(aqrtb\-1f382e7d\(aq \(aq10.0.0.0/16\(aq gateway_id=\(aqvgw\-a1b2c3\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_route_table(vpc_id=None, vpc_name=None, route_table_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Creates a route table. +.sp +Changed in version 2015.8.0: Added vpc_name argument + +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_route_table vpc_id=\(aqvpc\-6b1fe402\(aq \e + route_table_name=\(aqmyroutetable\(aq +salt myminion boto_vpc.create_route_table vpc_name=\(aqmyvpc\(aq \e + route_table_name=\(aqmyroutetable\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.create_subnet(vpc_id=None, cidr_block=None, vpc_name=None, availability_zone=None, subnet_name=None, tags=None, region=None, key=None, keyid=None, profile=None, auto_assign_public_ipv4=False) +Given a valid VPC ID or Name and a CIDR block, create a subnet for the VPC. +.sp +An optional availability zone argument can be provided. +.sp +Returns True if the VPC subnet was created and returns False if the VPC subnet was not created. +.sp +Changed in version 2015.8.0: Added vpc_name argument + +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.create_subnet vpc_id=\(aqvpc\-6b1fe402\(aq \e + subnet_name=\(aqmysubnet\(aq cidr_block=\(aq10.0.0.0/25\(aq +salt myminion boto_vpc.create_subnet vpc_name=\(aqmyvpc\(aq \e + subnet_name=\(aqmysubnet\(aq, cidr_block=\(aq10.0.0.0/25\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.customer_gateway_exists(customer_gateway_id=None, customer_gateway_name=None, region=None, key=None, keyid=None, profile=None) +Given a customer gateway ID, check if the customer gateway ID exists. +.sp +Returns True if the customer gateway ID exists; Returns False otherwise. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.customer_gateway_exists cgw\-b6a247df +salt myminion boto_vpc.customer_gateway_exists customer_gatway_name=mycgw +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete(vpc_id=None, name=None, vpc_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given a VPC ID or VPC name, delete the VPC. +.sp +Returns {deleted: true} if the VPC was deleted and returns +{deleted: false} if the VPC was not deleted. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete vpc_id=\(aqvpc\-6b1fe402\(aq +salt myminion boto_vpc.delete name=\(aqmyvpc\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_customer_gateway(customer_gateway_id=None, customer_gateway_name=None, region=None, key=None, keyid=None, profile=None) +Given a customer gateway ID or name, delete the customer gateway. +.sp +Returns True if the customer gateway was deleted and returns False if the customer gateway was not deleted. +.sp +Changed in version 2015.8.0: Added customer_gateway_name argument + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_customer_gateway \(aqcgw\-b6a247df\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_dhcp_options(dhcp_options_id=None, dhcp_options_name=None, region=None, key=None, keyid=None, profile=None) +Delete dhcp options by id or name. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_dhcp_options \(aqdopt\-b6a247df\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_internet_gateway(internet_gateway_id=None, internet_gateway_name=None, detach=False, region=None, key=None, keyid=None, profile=None) +Delete an internet gateway (by name or id). +.sp +Returns True if the internet gateway was deleted and otherwise False. +.sp +New in version 2015.8.0. + +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_internet_gateway internet_gateway_id=igw\-1a2b3c +salt myminion boto_vpc.delete_internet_gateway internet_gateway_name=myigw +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_nat_gateway(nat_gateway_id, release_eips=False, region=None, key=None, keyid=None, profile=None, wait_for_delete=False, wait_for_delete_retries=5) +Delete a nat gateway (by id). +.sp +Returns True if the internet gateway was deleted and otherwise False. +.sp +This function requires boto3 to be installed. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B nat_gateway_id +Id of the NAT Gateway +.TP +.B releaes_eips +whether to release the elastic IPs associated with the given NAT Gateway Id +.TP +.B region +Region to connect to. +.TP +.B key +Secret key to be used. +.TP +.B keyid +Access key to be used. +.TP +.B profile +A dict with region, key and keyid, or a pillar key (string) that +contains a dict with region, key and keyid. +.TP +.B wait_for_delete +whether to wait for delete of the NAT gateway to be in failed or deleted +state after issuing the delete call. +.TP +.B wait_for_delete_retries +NAT gateway may take some time to be go into deleted or failed state. +During the deletion process, subsequent release of elastic IPs may fail; +this state will automatically retry this number of times to ensure +the NAT gateway is in deleted or failed state before proceeding. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_nat_gateway nat_gateway_id=igw\-1a2b3c +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_network_acl(network_acl_id=None, network_acl_name=None, disassociate=False, region=None, key=None, keyid=None, profile=None) +Delete a network acl based on the network_acl_id or network_acl_name provided. +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_network_acl network_acl_id=\(aqacl\-5fb85d36\(aq \e + disassociate=false +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_network_acl network_acl_name=\(aqmyacl\(aq \e + disassociate=true +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_network_acl_entry(network_acl_id=None, rule_number=None, egress=None, network_acl_name=None, region=None, key=None, keyid=None, profile=None) +Deletes a network acl entry. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_network_acl_entry \(aqacl\-5fb85d36\(aq \(aq32767\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_route(route_table_id=None, destination_cidr_block=None, route_table_name=None, region=None, key=None, keyid=None, profile=None) +Deletes a route. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_route \(aqrtb\-1f382e7d\(aq \(aq10.0.0.0/16\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_route_table(route_table_id=None, route_table_name=None, region=None, key=None, keyid=None, profile=None) +Deletes a route table. +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_route_table route_table_id=\(aqrtb\-1f382e7d\(aq +salt myminion boto_vpc.delete_route_table route_table_name=\(aqmyroutetable\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_subnet(subnet_id=None, subnet_name=None, region=None, key=None, keyid=None, profile=None) +Given a subnet ID or name, delete the subnet. +.sp +Returns True if the subnet was deleted and returns False if the subnet was not deleted. +.sp +Changed in version 2015.8.0: Added subnet_name argument + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.delete_subnet \(aqsubnet\-6a1fe403\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.delete_vpc_peering_connection(conn_id=None, conn_name=None, region=None, key=None, keyid=None, profile=None, dry_run=False) +Delete a VPC peering connection. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B conn_id +The connection ID to check. Exclusive with conn_name. +.TP +.B conn_name +The connection name to check. Exclusive with conn_id. +.TP +.B region +Region to connect to. +.TP +.B key +Secret key to be used. +.TP +.B keyid +Access key to be used. +.TP +.B profile +A dict with region, key and keyid, or a pillar key (string) that +contains a dict with region, key and keyid. +.TP +.B dry_run +If True, skip application and simply return projected status. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Create a named VPC peering connection +salt myminion boto_vpc.delete_vpc_peering_connection conn_name=salt\-vpc +# Specify a region +salt myminion boto_vpc.delete_vpc_peering_connection conn_name=salt\-vpc region=us\-west\-2 +# specify an id +salt myminion boto_vpc.delete_vpc_peering_connection conn_id=pcx\-8a8939e3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe(vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Given a VPC ID describe its properties. +.sp +Returns a dictionary of interesting properties. +.sp +Changed in version 2015.8.0: Added vpc_name argument + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe vpc_id=vpc\-123456 +salt myminion boto_vpc.describe vpc_name=myvpc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_nat_gateways(nat_gateway_id=None, subnet_id=None, subnet_name=None, vpc_id=None, vpc_name=None, states=(u\(aqpending\(aq, u\(aqavailable\(aq), region=None, key=None, keyid=None, profile=None) +Return a description of nat gateways matching the selection criteria +.sp +This function requires boto3 to be installed. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_nat_gateways nat_gateway_id=\(aqnat\-03b02643b43216fe7\(aq +salt myminion boto_vpc.describe_nat_gateways subnet_id=\(aqsubnet\-5b05942d\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_route_table(route_table_id=None, route_table_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given route table properties, return route table details if matching table(s) exist. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_route_table route_table_id=\(aqrtb\-1f382e7d\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_route_tables(route_table_id=None, route_table_name=None, vpc_id=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given route table properties, return details of all matching route tables. +.sp +This function requires boto3 to be installed. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_route_tables vpc_id=\(aqvpc\-a6a9efc3\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_subnet(subnet_id=None, subnet_name=None, region=None, key=None, keyid=None, profile=None) +Given a subnet id or name, describe its properties. +.sp +Returns a dictionary of interesting properties. +.sp +New in version 2015.8.0. + +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_subnet subnet_id=subnet\-123456 +salt myminion boto_vpc.describe_subnet subnet_name=mysubnet +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_subnets(subnet_ids=None, subnet_names=None, vpc_id=None, cidr=None, region=None, key=None, keyid=None, profile=None) +Given a VPC ID or subnet CIDR, returns a list of associated subnets and +their details. Return all subnets if VPC ID or CIDR are not provided. +If a subnet id or CIDR is provided, only its associated subnet details will be +returned. +.sp +New in version 2015.8.0. + +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_subnets +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_subnets subnet_ids=[\(aqsubnet\-ba1987ab\(aq, \(aqsubnet\-ba1987cd\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_subnets vpc_id=vpc\-123456 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_subnets cidr=10.0.0.0/21 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_vpc_peering_connection(name, region=None, key=None, keyid=None, profile=None) +Returns any VPC peering connection id(s) for the given VPC +peering connection name. +.sp +VPC peering connection ids are only returned for connections that +are in the \fBactive\fP, \fBpending\-acceptance\fP or \fBprovisioning\fP +state. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The string name for this VPC peering connection +.IP \(bu 2 +\fBregion\fP \-\- The aws region to use +.IP \(bu 2 +\fBkey\fP \-\- Your aws key +.IP \(bu 2 +\fBkeyid\fP \-\- The key id associated with this aws account +.IP \(bu 2 +\fBprofile\fP \-\- The profile to use +.UNINDENT +.TP +.B Returns +dict +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_vpc_peering_connection salt\-vpc +# Specify a region +salt myminion boto_vpc.describe_vpc_peering_connection salt\-vpc region=us\-west\-2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.describe_vpcs(vpc_id=None, name=None, cidr=None, tags=None, region=None, key=None, keyid=None, profile=None) +Describe all VPCs, matching the filter criteria if provided. +.sp +Returns a list of dictionaries with interesting properties. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.describe_vpcs +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.dhcp_options_exists(dhcp_options_id=None, name=None, dhcp_options_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Check if a dhcp option exists. +.sp +Returns True if the dhcp option exists; Returns False otherwise. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.dhcp_options_exists dhcp_options_id=\(aqdhcp\-a0bl34pp\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.disassociate_network_acl(subnet_id=None, vpc_id=None, subnet_name=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Given a subnet ID, disassociates a network acl. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.disassociate_network_acl \(aqsubnet\-6a1fe403\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.disassociate_route_table(association_id, region=None, key=None, keyid=None, profile=None) +Dissassociates a route table. +.INDENT 7.0 +.TP +.B association_id +The Route Table Association ID to disassociate +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.disassociate_route_table \(aqrtbassoc\-d8ccddba\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.exists(vpc_id=None, name=None, cidr=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given a VPC ID, check to see if the given VPC ID exists. +.sp +Returns True if the given VPC ID exists and returns False if the given +VPC ID does not exist. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.exists myvpc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.get_dhcp_options(dhcp_options_name=None, dhcp_options_id=None, region=None, key=None, keyid=None, profile=None) +Return a dict with the current values of the requested DHCP options set +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.get_dhcp_options \(aqmyfunnydhcpoptionsname\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.get_id(name=None, cidr=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given VPC properties, return the VPC id if a match is found. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.get_id myvpc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.get_resource_id(resource, name=None, resource_id=None, region=None, key=None, keyid=None, profile=None) +Get an AWS id for a VPC resource by type and name. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.get_resource_id internet_gateway myigw +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.get_subnet_association(subnets, region=None, key=None, keyid=None, profile=None) +Given a subnet (aka: a vpc zone identifier) or list of subnets, returns +vpc association. +.sp +Returns a VPC ID if the given subnets are associated with the same VPC ID. +Returns False on an error or if the given subnets are associated with +different VPC IDs. +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.get_subnet_association subnet\-61b47516 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.get_subnet_association [\(aqsubnet\-61b47516\(aq,\(aqsubnet\-2cb9785b\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.is_peering_connection_pending(conn_id=None, conn_name=None, region=None, key=None, keyid=None, profile=None) +Check if a VPC peering connection is in the pending state. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B conn_id +The connection ID to check. Exclusive with conn_name. +.TP +.B conn_name +The connection name to check. Exclusive with conn_id. +.TP +.B region +Region to connect to. +.TP +.B key +Secret key to be used. +.TP +.B keyid +Access key to be used. +.TP +.B profile +A dict with region, key and keyid, or a pillar key (string) that +contains a dict with region, key and keyid. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.is_peering_connection_pending conn_name=salt\-vpc +# Specify a region +salt myminion boto_vpc.is_peering_connection_pending conn_name=salt\-vpc region=us\-west\-2 +# specify an id +salt myminion boto_vpc.is_peering_connection_pending conn_id=pcx\-8a8939e3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.nat_gateway_exists(nat_gateway_id=None, subnet_id=None, subnet_name=None, vpc_id=None, vpc_name=None, states=(u\(aqpending\(aq, u\(aqavailable\(aq), region=None, key=None, keyid=None, profile=None) +Checks if a nat gateway exists. +.sp +This function requires boto3 to be installed. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.nat_gateway_exists nat_gateway_id=\(aqnat\-03b02643b43216fe7\(aq +salt myminion boto_vpc.nat_gateway_exists subnet_id=\(aqsubnet\-5b05942d\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.network_acl_exists(network_acl_id=None, name=None, network_acl_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Checks if a network acl exists. +.sp +Returns True if the network acl exists or returns False if it doesn\(aqt exist. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.network_acl_exists network_acl_id=\(aqacl\-5fb85d36\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.peering_connection_pending_from_vpc(conn_id=None, conn_name=None, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) +Check if a VPC peering connection is in the pending state, and requested from the given VPC. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B conn_id +The connection ID to check. Exclusive with conn_name. +.TP +.B conn_name +The connection name to check. Exclusive with conn_id. +.TP +.B vpc_id +Is this the ID of the requesting VPC for this peering connection. Exclusive with vpc_name. +.TP +.B vpc_name +Is this the Name of the requesting VPC for this peering connection. Exclusive with vpc_id. +.TP +.B region +Region to connect to. +.TP +.B key +Secret key to be used. +.TP +.B keyid +Access key to be used. +.TP +.B profile +A dict with region, key and keyid, or a pillar key (string) that +contains a dict with region, key and keyid. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.is_peering_connection_pending name=salt\-vpc +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.replace_network_acl_entry(network_acl_id=None, rule_number=None, protocol=None, rule_action=None, cidr_block=None, egress=None, network_acl_name=None, icmp_code=None, icmp_type=None, port_range_from=None, port_range_to=None, region=None, key=None, keyid=None, profile=None) +Replaces a network acl entry. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.replace_network_acl_entry \(aqacl\-5fb85d36\(aq \(aq32767\(aq \e + \(aqall\(aq \(aqdeny\(aq \(aq0.0.0.0/0\(aq egress=true +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.replace_route(route_table_id=None, destination_cidr_block=None, route_table_name=None, gateway_id=None, instance_id=None, interface_id=None, region=None, key=None, keyid=None, profile=None, vpc_peering_connection_id=None) +Replaces a route. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.replace_route \(aqrtb\-1f382e7d\(aq \(aq10.0.0.0/16\(aq gateway_id=\(aqvgw\-a1b2c3\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.replace_route_table_association(association_id, route_table_id, region=None, key=None, keyid=None, profile=None) +Replaces a route table association. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.replace_route_table_association \(aqrtbassoc\-d8ccddba\(aq \(aqrtb\-1f382e7d\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.request_vpc_peering_connection(requester_vpc_id=None, requester_vpc_name=None, peer_vpc_id=None, peer_vpc_name=None, name=None, peer_owner_id=None, region=None, key=None, keyid=None, profile=None, dry_run=False) +Request a VPC peering connection between two VPCs. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B requester_vpc_id +ID of the requesting VPC. Exclusive with requester_vpc_name. +.TP +.B requester_vpc_name +Name tag of the requesting VPC. Exclusive with requester_vpc_id. +.TP +.B peer_vpc_id +ID of the VPC to create VPC peering connection with. This can be a VPC in +another account. Exclusive with peer_vpc_name. +.TP +.B peer_vpc_name +Name tag of the VPC to create VPC peering connection with. This can only +be a VPC in the same account, else resolving it into a vpc ID will almost +certainly fail. Exclusive with peer_vpc_id. +.TP +.B name +The name to use for this VPC peering connection. +.TP +.B peer_owner_id +ID of the owner of the peer VPC. Defaults to your account ID, so a value +is required if peering with a VPC in a different account. +.TP +.B region +Region to connect to. +.TP +.B key +Secret key to be used. +.TP +.B keyid +Access key to be used. +.TP +.B profile +A dict with region, key and keyid, or a pillar key (string) that +contains a dict with region, key and keyid. +.TP +.B dry_run +If True, skip application and return status. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Create a named VPC peering connection +salt myminion boto_vpc.request_vpc_peering_connection vpc\-4a3e622e vpc\-be82e9da name=my_vpc_connection +# Without a name +salt myminion boto_vpc.request_vpc_peering_connection vpc\-4a3e622e vpc\-be82e9da +# Specify a region +salt myminion boto_vpc.request_vpc_peering_connection vpc\-4a3e622e vpc\-be82e9da region=us\-west\-2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.resource_exists(resource, name=None, resource_id=None, tags=None, region=None, key=None, keyid=None, profile=None) +Given a resource type and name, return {exists: true} if it exists, +{exists: false} if it does not exist, or {error: {message: error text} +on error. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.resource_exists internet_gateway myigw +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.route_exists(destination_cidr_block, route_table_name=None, route_table_id=None, gateway_id=None, instance_id=None, interface_id=None, tags=None, region=None, key=None, keyid=None, profile=None, vpc_peering_connection_id=None) +Checks if a route exists. +.sp +New in version 2015.8.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.route_exists destination_cidr_block=\(aq10.0.0.0/20\(aq gateway_id=\(aqlocal\(aq route_table_name=\(aqtest\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.route_table_exists(route_table_id=None, name=None, route_table_name=None, tags=None, region=None, key=None, keyid=None, profile=None) +Checks if a route table exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.route_table_exists route_table_id=\(aqrtb\-1f382e7d\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.subnet_exists(subnet_id=None, name=None, subnet_name=None, cidr=None, tags=None, zones=None, region=None, key=None, keyid=None, profile=None) +Check if a subnet exists. +.sp +Returns True if the subnet exists, otherwise returns False. +.sp +Changed in version 2015.8.0: Added subnet_name argument +Deprecated name argument + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_vpc.subnet_exists subnet_id=\(aqsubnet\-6a1fe403\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.bower .SS Manage and query Bower packages .sp @@ -124557,7 +131688,7 @@ salt \(aq*\(aq bower.install jquery#2.0 /path/to/project .UNINDENT .INDENT 0.0 .TP -.B salt.modules.bower.list(dir, runas=None, env=None) +.B salt.modules.bower.list_(dir, runas=None, env=None) List installed Bower packages. .INDENT 7.0 .TP @@ -124758,7 +131889,7 @@ salt \(aq*\(aq bridge.interfaces br0 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.bridge.list() +.B salt.modules.bridge.list_() Returns the machine\(aqs bridges list .sp CLI Example: @@ -125317,7 +132448,7 @@ salt \(aq*\(aq cabal.install shellcheck\-0.3.5 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cabal.list(pkg=None, user=None, installed=False, env=None) +.B salt.modules.cabal.list_(pkg=None, user=None, installed=False, env=None) List packages matching a search string. .INDENT 7.0 .TP @@ -126429,24 +133560,24 @@ Run a query on a Cassandra cluster and return a dictionary. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBquery\fP (\fI\%str\fP) \-\- The query to execute. +\fBquery\fP (\fIstr\fP) \-\- The query to execute. .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .IP \(bu 2 -\fBparams\fP (\fI\%str\fP) \-\- The parameters for the query, optional. +\fBparams\fP (\fIstr\fP) \-\- The parameters for the query, optional. .UNINDENT .TP .B Returns A dictionary from the return values of the query .TP .B Return type -\fI\%list\fP[\fI\%dict\fP] +list[dict] .UNINDENT .sp CLI Example: @@ -126474,32 +133605,32 @@ that will return results. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBquery\fP (\fI\%str\fP) \-\- The query to execute. +\fBquery\fP (\fIstr\fP) \-\- The query to execute. .IP \(bu 2 -\fBstatement_name\fP (\fI\%str\fP) \-\- Name to assign the prepared statement in the __context__ dictionary +\fBstatement_name\fP (\fIstr\fP) \-\- Name to assign the prepared statement in the __context__ dictionary .IP \(bu 2 -\fBstatement_arguments\fP (\fI\%list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- Bind parameters for the SQL statement +\fBstatement_arguments\fP (\fIlist\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- Bind parameters for the SQL statement .IP \(bu 2 -\fBasync\fP (\fI\%bool\fP) \-\- Run this query in asynchronous mode +\fBasync\fP (\fIbool\fP) \-\- Run this query in asynchronous mode .IP \(bu 2 \fBcallback_errors\fP (\fIFunction callable\fP) \-\- Function to call after query runs if there is an error .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .IP \(bu 2 -\fBparams\fP (\fI\%str\fP) \-\- The parameters for the query, optional. +\fBparams\fP (\fIstr\fP) \-\- The parameters for the query, optional. .UNINDENT .TP .B Returns A dictionary from the return values of the query .TP .B Return type -\fI\%list\fP[\fI\%dict\fP] +list[dict] .UNINDENT .sp CLI Example: @@ -126527,29 +133658,29 @@ Create a new keyspace in Cassandra. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBkeyspace\fP (\fI\%str\fP) \-\- The keyspace name +\fBkeyspace\fP (\fIstr\fP) \-\- The keyspace name .IP \(bu 2 -\fBreplication_strategy\fP (\fI\%str\fP) \-\- either \fISimpleStrategy\fP or \fINetworkTopologyStrategy\fP +\fBreplication_strategy\fP (\fIstr\fP) \-\- either \fISimpleStrategy\fP or \fINetworkTopologyStrategy\fP .IP \(bu 2 -\fBreplication_factor\fP (\fI\%int\fP) \-\- number of replicas of data on multiple nodes. not used if using NetworkTopologyStrategy +\fBreplication_factor\fP (\fIint\fP) \-\- number of replicas of data on multiple nodes. not used if using NetworkTopologyStrategy .IP \(bu 2 -\fBreplication_datacenters\fP (\fIstr | dict\fP\fI[\fP\fI\%str\fP\fI, \fP\fI\%int\fP\fI]\fP) \-\- string or dict of datacenter names to replication factors, required if using +\fBreplication_datacenters\fP (\fIstr | dict\fP\fI[\fP\fIstr\fP\fI, \fP\fIint\fP\fI]\fP) \-\- string or dict of datacenter names to replication factors, required if using NetworkTopologyStrategy (will be a dict if coming from state file). .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns The info for the keyspace or False if it does not exist. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -126576,19 +133707,19 @@ Create a new cassandra user with credentials and superuser status. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- The name of the new user. +\fBusername\fP (\fIstr\fP) \-\- The name of the new user. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password of the new user. +\fBpassword\fP (\fIstr\fP) \-\- The password of the new user. .IP \(bu 2 -\fBsuperuser\fP (\fI\%bool\fP) \-\- Is the new user going to be a superuser? default: False +\fBsuperuser\fP (\fIbool\fP) \-\- Is the new user going to be a superuser? default: False .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns @@ -126623,22 +133754,22 @@ Drop a keyspace if it exists in a Cassandra cluster. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBkeyspace\fP (\fI\%str\fP) \-\- The keyspace to drop. +\fBkeyspace\fP (\fIstr\fP) \-\- The keyspace to drop. .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns The info for the keyspace or False if it does not exist. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -126664,21 +133795,21 @@ Grant permissions to a user. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- The name of the user to grant permissions to. +\fBusername\fP (\fIstr\fP) \-\- The name of the user to grant permissions to. .IP \(bu 2 -\fBresource\fP (\fI\%str\fP) \-\- The resource (keyspace or table), if None, permissions for all resources are granted. +\fBresource\fP (\fIstr\fP) \-\- The resource (keyspace or table), if None, permissions for all resources are granted. .IP \(bu 2 -\fBresource_type\fP (\fI\%str\fP) \-\- The resource_type (keyspace or table), defaults to \(aqkeyspace\(aq. +\fBresource_type\fP (\fIstr\fP) \-\- The resource_type (keyspace or table), defaults to \(aqkeyspace\(aq. .IP \(bu 2 -\fBpermission\fP (\fI\%str\fP) \-\- A permission name (e.g. select), if None, all permissions are granted. +\fBpermission\fP (\fIstr\fP) \-\- A permission name (e.g. select), if None, all permissions are granted. .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns @@ -126713,20 +133844,20 @@ Show the Cassandra information for this cluster. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns The information for this Cassandra cluster. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -126782,22 +133913,22 @@ List column families in a Cassandra cluster for all keyspaces or just the provid .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBkeyspace\fP (\fI\%str\fP) \-\- The keyspace to provide the column families for, optional. +\fBkeyspace\fP (\fIstr\fP) \-\- The keyspace to provide the column families for, optional. .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns The column families in this Cassandra cluster. .TP .B Return type -\fI\%list\fP[\fI\%dict\fP] +list[dict] .UNINDENT .sp CLI Example: @@ -126825,20 +133956,20 @@ List keyspaces in a Cassandra cluster. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns The keyspaces in this Cassandra cluster. .TP .B Return type -\fI\%list\fP[\fI\%dict\fP] +list[dict] .UNINDENT .sp CLI Example: @@ -126864,28 +133995,28 @@ List permissions. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- The name of the user to list permissions for. +\fBusername\fP (\fIstr\fP) \-\- The name of the user to list permissions for. .IP \(bu 2 -\fBresource\fP (\fI\%str\fP) \-\- The resource (keyspace or table), if None, permissions for all resources are listed. +\fBresource\fP (\fIstr\fP) \-\- The resource (keyspace or table), if None, permissions for all resources are listed. .IP \(bu 2 -\fBresource_type\fP (\fI\%str\fP) \-\- The resource_type (keyspace or table), defaults to \(aqkeyspace\(aq. +\fBresource_type\fP (\fIstr\fP) \-\- The resource_type (keyspace or table), defaults to \(aqkeyspace\(aq. .IP \(bu 2 -\fBpermission\fP (\fI\%str\fP) \-\- A permission name (e.g. select), if None, all permissions are listed. +\fBpermission\fP (\fIstr\fP) \-\- A permission name (e.g. select), if None, all permissions are listed. .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns Dictionary of permissions. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -126913,20 +134044,20 @@ List existing users in this Cassandra cluster. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .UNINDENT .TP .B Returns The list of existing users. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -126952,20 +134083,20 @@ Show the Cassandra version. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. +\fBcontact_points\fP (\fIstr | list\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The Cassandra cluster addresses, can either be a string or a list of IPs. .IP \(bu 2 -\fBcql_user\fP (\fI\%str\fP) \-\- The Cassandra user if authentication is turned on. +\fBcql_user\fP (\fIstr\fP) \-\- The Cassandra user if authentication is turned on. .IP \(bu 2 -\fBcql_pass\fP (\fI\%str\fP) \-\- The Cassandra user password if authentication is turned on. +\fBcql_pass\fP (\fIstr\fP) \-\- The Cassandra user password if authentication is turned on. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The Cassandra cluster port, defaults to None. +\fBport\fP (\fIint\fP) \-\- The Cassandra cluster port, defaults to None. .UNINDENT .TP .B Returns The version for this Cassandra cluster. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -128270,13 +135401,13 @@ Instructs Chocolatey to install a package. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to be installed. Only accepts a single +\fBname\fP (\fIstr\fP) \-\- The name of the package to be installed. Only accepts a single argument. Required. .IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- Install a specific version of the package. Defaults to latest +\fBversion\fP (\fIstr\fP) \-\- Install a specific version of the package. Defaults to latest version. Default is None. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- +\fBsource\fP (\fIstr\fP) \-\- .sp Chocolatey repository (directory, share or remote URL feed) the package comes from. Defaults to the official Chocolatey feed. @@ -128297,24 +135428,24 @@ windowsfeatures .UNINDENT .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- Reinstall the current version of an existing package. Do not use +\fBforce\fP (\fIbool\fP) \-\- Reinstall the current version of an existing package. Do not use with \fBallow_multiple\fP\&. Default is False. .IP \(bu 2 -\fBpre_versions\fP (\fI\%bool\fP) \-\- Include pre\-release packages. Default is False. +\fBpre_versions\fP (\fIbool\fP) \-\- Include pre\-release packages. Default is False. .IP \(bu 2 -\fBinstall_args\fP (\fI\%str\fP) \-\- A list of install arguments you want to pass to the installation +\fBinstall_args\fP (\fIstr\fP) \-\- A list of install arguments you want to pass to the installation process i.e product key or feature list. Default is None. .IP \(bu 2 -\fBoverride_args\fP (\fI\%bool\fP) \-\- Set to true if you want to override the original install arguments +\fBoverride_args\fP (\fIbool\fP) \-\- Set to true if you want to override the original install arguments (for the native installer) in the package and use your own. When this is set to False install_args will be appended to the end of the default arguments. Default is None. .IP \(bu 2 -\fBforce_x86\fP (\fI\%bool\fP) \-\- Force x86 (32bit) installation on 64 bit systems. Default is False. +\fBforce_x86\fP (\fIbool\fP) \-\- Force x86 (32bit) installation on 64 bit systems. Default is False. .IP \(bu 2 -\fBpackage_args\fP (\fI\%str\fP) \-\- Arguments you want to pass to the package. Default is None. +\fBpackage_args\fP (\fIstr\fP) \-\- Arguments you want to pass to the package. Default is None. .IP \(bu 2 -\fBallow_multiple\fP (\fI\%bool\fP) \-\- +\fBallow_multiple\fP (\fIbool\fP) \-\- .sp Allow multiple versions of the package to be installed. Do not use with \fBforce\fP\&. Does not work with all packages. Default is False. @@ -128323,7 +135454,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBexecution_timeout\fP (\fI\%str\fP) \-\- +\fBexecution_timeout\fP (\fIstr\fP) \-\- .IP \(bu 2 \fBexecution timeout value you want to pass to the installation process. Default is None.\fP (\fIChocolatey\fP) \-\- .sp @@ -128336,7 +135467,7 @@ New in version 2018.3.0. The output of the \fBchocolatey\fP command .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -128557,27 +135688,27 @@ salt \(aq*\(aq chocolatey.install_windowsfeatures .UNINDENT .INDENT 0.0 .TP -.B salt.modules.chocolatey.list(narrow=None, all_versions=False, pre_versions=False, source=None, local_only=False, exact=False) +.B salt.modules.chocolatey.list_(narrow=None, all_versions=False, pre_versions=False, source=None, local_only=False, exact=False) Instructs Chocolatey to pull a vague package list from the repository. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBnarrow\fP (\fI\%str\fP) \-\- Term used to narrow down results. Searches against +\fBnarrow\fP (\fIstr\fP) \-\- Term used to narrow down results. Searches against name/description/tag. Default is None. .IP \(bu 2 -\fBall_versions\fP (\fI\%bool\fP) \-\- Display all available package versions in results. Default is False. +\fBall_versions\fP (\fIbool\fP) \-\- Display all available package versions in results. Default is False. .IP \(bu 2 -\fBpre_versions\fP (\fI\%bool\fP) \-\- Display pre\-release packages in results. Default is False. +\fBpre_versions\fP (\fIbool\fP) \-\- Display pre\-release packages in results. Default is False. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the +\fBsource\fP (\fIstr\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the package comes from. Defaults to the official Chocolatey feed if None is passed. Default is None. .IP \(bu 2 -\fBlocal_only\fP (\fI\%bool\fP) \-\- Display packages only installed locally. Default is False. +\fBlocal_only\fP (\fIbool\fP) \-\- Display packages only installed locally. Default is False. .IP \(bu 2 -\fBexact\fP (\fI\%bool\fP) \-\- +\fBexact\fP (\fIbool\fP) \-\- .sp Display only packages that match \fBnarrow\fP exactly. Default is False. @@ -128591,7 +135722,7 @@ New in version 2017.7.0. A dictionary of results. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -128618,7 +135749,7 @@ repository. List of webpi packages .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -128644,7 +135775,7 @@ list, via the Deployment Image Servicing and Management tool. List of Windows Features .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -128742,23 +135873,23 @@ deprecated). This command will install the package if not installed. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to update, or "all" to update everything +\fBname\fP (\fIstr\fP) \-\- The name of the package to update, or "all" to update everything installed on the system. .IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- Install a specific version of the package. Defaults to latest +\fBversion\fP (\fIstr\fP) \-\- Install a specific version of the package. Defaults to latest version. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the +\fBsource\fP (\fIstr\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the package comes from. Defaults to the official Chocolatey feed. .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- Reinstall the \fBsame\fP version already installed +\fBforce\fP (\fIbool\fP) \-\- Reinstall the \fBsame\fP version already installed .IP \(bu 2 -\fBpre_versions\fP (\fI\%bool\fP) \-\- Include pre\-release packages in comparison. Defaults to False. +\fBpre_versions\fP (\fIbool\fP) \-\- Include pre\-release packages in comparison. Defaults to False. .IP \(bu 2 -\fBinstall_args\fP (\fI\%str\fP) \-\- A list of install arguments you want to pass to the installation +\fBinstall_args\fP (\fIstr\fP) \-\- A list of install arguments you want to pass to the installation process i.e product key or feature list .IP \(bu 2 -\fBoverride_args\fP (\fI\%str\fP) \-\- Set to true if you want to override the original install arguments +\fBoverride_args\fP (\fIstr\fP) \-\- Set to true if you want to override the original install arguments (for the native installer) in the package and use your own. When this is set to False install_args will be appended to the end of the default arguments @@ -128772,7 +135903,7 @@ default arguments Results of the \fBchocolatey\fP command .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -128798,23 +135929,23 @@ compare it to one available from a remote feed. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to check. Required. +\fBname\fP (\fIstr\fP) \-\- The name of the package to check. Required. .IP \(bu 2 -\fBcheck_remote\fP (\fI\%bool\fP) \-\- Get the version number of the latest package from the remote feed. +\fBcheck_remote\fP (\fIbool\fP) \-\- Get the version number of the latest package from the remote feed. Default is False. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the +\fBsource\fP (\fIstr\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the package comes from. Defaults to the official Chocolatey feed. Default is None. .IP \(bu 2 -\fBpre_versions\fP (\fI\%bool\fP) \-\- Include pre\-release packages in comparison. Default is False. +\fBpre_versions\fP (\fIbool\fP) \-\- Include pre\-release packages in comparison. Default is False. .UNINDENT .TP .B Returns A dictionary of currently installed software and versions .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -128923,6 +136054,1299 @@ salt chronos\-minion\-id chronos.update_job my\-job \(aq\(aq .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.cimc module +.sp +Module to provide Cisco UCS compatibility to Salt +.INDENT 0.0 +.TP +.B codeauthor +\fBSpencer Ervin \fP +.TP +.B maturity +new +.TP +.B depends +none +.TP +.B platform +unix +.UNINDENT +.SS Configuration +.sp +This module accepts connection configuration details either as +parameters, or as configuration settings in pillar as a Salt proxy. +Options passed into opts will be ignored if options are passed into pillar. +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBCisco UCS Proxy Module\fP +.UNINDENT +.UNINDENT +.SS About +.sp +This execution module was designed to handle connections to a Cisco UCS server. +This module adds support to send connections directly to the device through the +rest API. +.INDENT 0.0 +.TP +.B salt.modules.cimc.activate_backup_image(reset=False) +Activates the firmware backup image. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +\fBreset\fP (\fIbool\fP) \-\- Reset the CIMC device on activate. +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.activate_backup_image +salt \(aq*\(aq cimc.activate_backup_image reset=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.create_user(uid=None, username=None, password=None, priv=None) +Create a CIMC user with username and password. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBuid\fP (\fIint\fP) \-\- The user ID slot to create the user account in. +.IP \(bu 2 +\fBusername\fP (\fIstr\fP) \-\- The name of the user. +.IP \(bu 2 +\fBpassword\fP (\fIstr\fP) \-\- The clear text password of the user. +.IP \(bu 2 +\fBpriv\fP (\fIstr\fP) \-\- The privilege level of the user. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.create_user 11 username=admin password=foobar priv=admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_bios_defaults() +Get the default values of BIOS tokens. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_bios_defaults +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_bios_settings() +Get the C240 server BIOS token values. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_bios_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_boot_order() +Retrieves the configured boot order table. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_boot_order +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_cpu_details() +Get the CPU product ID details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_cpu_details +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_disks() +Get the HDD product ID details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_disks +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_ethernet_interfaces() +Get the adapter Ethernet interface details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_ethernet_interfaces +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_fibre_channel_interfaces() +Get the adapter fibre channel interface details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_fibre_channel_interfaces +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_firmware() +Retrieves the current running firmware versions of server components. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_firmware +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_hostname() +Retrieves the hostname from the device. +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_hostname +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_ldap() +Retrieves LDAP server details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_ldap +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_management_interface() +Retrieve the management interface details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_management_interface +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_memory_token() +Get the memory RAS BIOS token. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_memory_token +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_memory_unit() +Get the IMM/Memory unit product ID details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_memory_unit +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_network_adapters() +Get the list of network adapaters and configuration details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_network_adapters +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_ntp() +Retrieves the current running NTP configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_ntp +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_pci_adapters() +Get the PCI adapter product ID details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_disks +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_power_configuration() +Get the configuration of the power settings from the device. This is only available +on some C\-Series servers. +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_power_configuration +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_power_supplies() +Retrieves the power supply unit details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_power_supplies +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_snmp_config() +Get the snmp configuration details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_snmp_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_syslog() +Get the Syslog client\-server details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_syslog +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_syslog_settings() +Get the Syslog configuration settings from the system. +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_syslog_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_system_info() +Get the system information. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_system_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_users() +Get the CIMC users. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_users +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_vic_adapters() +Get the VIC adapter general profile details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_vic_adapters +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.get_vic_uplinks() +Get the VIC adapter uplink port details. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.get_vic_uplinks +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.mount_share(name=None, remote_share=None, remote_file=None, mount_type=u\(aqnfs\(aq, username=None, password=None) +Mounts a remote file through a remote share. Currently, this feature is supported in version 1.5 or greater. +The remote share can be either NFS, CIFS, or WWW. +.INDENT 7.0 +.TP +.B Some of the advantages of CIMC Mounted vMedia include: +Communication between mounted media and target stays local (inside datacenter) +Media mounts can be scripted/automated +No vKVM requirements for media connection +Multiple share types supported +Connections supported through all CIMC interfaces +.sp +Note: CIMC Mounted vMedia is enabled through BIOS configuration. +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the volume on the CIMC device. +.IP \(bu 2 +\fBremote_share\fP (\fIstr\fP) \-\- The file share link that will be used to mount the share. This can be NFS, CIFS, or WWW. This +.IP \(bu 2 +\fBbe the directory path and not the full path to the remote file.\fP (\fImust\fP) \-\- +.IP \(bu 2 +\fBremote_file\fP (\fIstr\fP) \-\- The name of the remote file to mount. It must reside within remote_share. +.IP \(bu 2 +\fBmount_type\fP (\fIstr\fP) \-\- The type of share to mount. Valid options are nfs, cifs, and www. +.IP \(bu 2 +\fBusername\fP (\fIstr\fP) \-\- An optional requirement to pass credentials to the remote share. If not provided, an +.IP \(bu 2 +\fBconnection attempt will be made.\fP (\fIunauthenticated\fP) \-\- +.IP \(bu 2 +\fBpassword\fP (\fIstr\fP) \-\- An optional requirement to pass a password to the remote share. If not provided, an +.IP \(bu 2 +\fBconnection attempt will be made.\fP \-\- +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.mount_share name=WIN7 remote_share=10.xxx.27.xxx:/nfs remote_file=sl1huu.iso + +salt \(aq*\(aq cimc.mount_share name=WIN7 remote_share=10.xxx.27.xxx:/nfs remote_file=sl1huu.iso username=bob password=badpassword +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.reboot() +Power cycling the server. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.reboot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.set_hostname(hostname=None) +Sets the hostname on the server. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +\fBhostname\fP (\fIstr\fP) \-\- The new hostname to set. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.set_hostname foobar +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.set_logging_levels(remote=None, local=None) +Sets the logging levels of the CIMC devices. The logging levels must match +the following options: emergency, alert, critical, error, warning, notice, +informational, debug. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBremote\fP (\fIstr\fP) \-\- The logging level for SYSLOG logs. +.IP \(bu 2 +\fBlocal\fP (\fIstr\fP) \-\- The logging level for the local device. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.set_logging_levels remote=error local=notice +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.set_ntp_server(server1=u\(aq\(aq, server2=u\(aq\(aq, server3=u\(aq\(aq, server4=u\(aq\(aq) +Sets the NTP servers configuration. This will also enable the client NTP service. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBserver1\fP (\fIstr\fP) \-\- The first IP address or FQDN of the NTP servers. +.IP \(bu 2 +\fBserver2\fP (\fIstr\fP) \-\- The second IP address or FQDN of the NTP servers. +.IP \(bu 2 +\fBserver3\fP (\fIstr\fP) \-\- The third IP address or FQDN of the NTP servers. +.IP \(bu 2 +\fBserver4\fP (\fIstr\fP) \-\- The fourth IP address or FQDN of the NTP servers. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.set_ntp_server 10.10.10.1 + +salt \(aq*\(aq cimc.set_ntp_server 10.10.10.1 foo.bar.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.set_power_configuration(policy=None, delayType=None, delayValue=None) +Sets the power configuration on the device. This is only available for some +C\-Series servers. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpolicy\fP (\fIstr\fP) \-\- The action to be taken when chassis power is restored after +.IP \(bu 2 +\fBunexpected power loss. This can be one of the following\fP (\fIan\fP) \-\- +.sp +reset: The server is allowed to boot up normally when power is +restored. The server can restart immediately or, optionally, after a +fixed or random delay. +.sp +stay\-off: The server remains off until it is manually restarted. +.sp +last\-state: The server restarts and the system attempts to restore +any processes that were running before power was lost. + +.IP \(bu 2 +\fBdelayType\fP (\fIstr\fP) \-\- If the selected policy is reset, the restart can be +.IP \(bu 2 +\fBwith this option. This can be one of the following\fP (\fIdelayed\fP) \-\- +.sp +fixed: The server restarts after a fixed delay. +.sp +random: The server restarts after a random delay. + +.IP \(bu 2 +\fBdelayValue\fP (\fIint\fP) \-\- If a fixed delay is selected, once chassis power is +.IP \(bu 2 +\fBand the Cisco IMC has finished rebooting\fP\fB, \fP\fBthe system waits for\fP (\fIrestored\fP) \-\- +.IP \(bu 2 +\fBspecified number of seconds before restarting the server. Enter an\fP (\fIthe\fP) \-\- +.IP \(bu 2 +\fBbetween 0 and 240.\fP (\fIinteger\fP) \-\- +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.set_power_configuration stay\-off + +salt \(aq*\(aq cimc.set_power_configuration reset fixed 0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.set_syslog_server(server=None, type=u\(aqprimary\(aq) +Set the SYSLOG server on the host. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBserver\fP (\fIstr\fP) \-\- The hostname or IP address of the SYSLOG server. +.IP \(bu 2 +\fBtype\fP (\fIstr\fP) \-\- Specifies the type of SYSLOG server. This can either be primary (default) or secondary. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.set_syslog_server foo.bar.com + +salt \(aq*\(aq cimc.set_syslog_server foo.bar.com primary + +salt \(aq*\(aq cimc.set_syslog_server foo.bar.com secondary +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.set_user(uid=None, username=None, password=None, priv=None, status=None) +Sets a CIMC user with specified configurations. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBuid\fP (\fIint\fP) \-\- The user ID slot to create the user account in. +.IP \(bu 2 +\fBusername\fP (\fIstr\fP) \-\- The name of the user. +.IP \(bu 2 +\fBpassword\fP (\fIstr\fP) \-\- The clear text password of the user. +.IP \(bu 2 +\fBpriv\fP (\fIstr\fP) \-\- The privilege level of the user. +.IP \(bu 2 +\fBstatus\fP (\fIstr\fP) \-\- The account status of the user. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.set_user 11 username=admin password=foobar priv=admin active +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.tftp_update_bios(server=None, path=None) +Update the BIOS firmware through TFTP. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBserver\fP (\fIstr\fP) \-\- The IP address or hostname of the TFTP server. +.IP \(bu 2 +\fBpath\fP (\fIstr\fP) \-\- The TFTP path and filename for the BIOS image. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.tftp_update_bios foo.bar.com HP\-SL2.cap +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cimc.tftp_update_cimc(server=None, path=None) +Update the CIMC firmware through TFTP. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBserver\fP (\fIstr\fP) \-\- The IP address or hostname of the TFTP server. +.IP \(bu 2 +\fBpath\fP (\fIstr\fP) \-\- The TFTP path and filename for the CIMC image. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cimc.tftp_update_cimc foo.bar.com HP\-SL2.bin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.ciscoconfparse_mod module +.sp +Execution module for \fI\%ciscoconfparse\fP +.sp +New in version Fluorine. + +.sp +This module can be used for basic configuration parsing, audit or validation +for a variety of network platforms having Cisco IOS style configuration (one +space indentation), including: Cisco IOS, Cisco Nexus, Cisco IOS\-XR, +Cisco IOS\-XR, Cisco ASA, Arista EOS, Brocade, HP Switches, Dell PowerConnect +Switches, or Extreme Networks devices. In newer versions, \fBciscoconfparse\fP +provides support for brace\-delimited configuration style as well, for platforms +such as: Juniper Junos, Palo Alto, or F5 Networks. +.sp +See \fI\%http://www.pennington.net/py/ciscoconfparse/index.html\fP for further details. +.INDENT 0.0 +.TP +.B depends +ciscoconfparse +.UNINDENT +.sp +This module depends on the Python library with the same name, +\fBciscoconfparse\fP \- to install execute: \fBpip install ciscoconfparse\fP\&. +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.filter_lines(config=None, config_path=None, parent_regex=None, child_regex=None, saltenv=u\(aqbase\(aq) +Return a list of detailed matches, for the configuration blocks (parent\-child +relationship) whose parent respects the regular expressions configured via +the \fBparent_regex\fP argument, and the child matches the \fBchild_regex\fP +regular expression. The result is a list of dictionaries with the following +keys: +.INDENT 7.0 +.IP \(bu 2 +\fBmatch\fP: a boolean value that tells whether \fBchild_regex\fP matched any +children lines. +.IP \(bu 2 +\fBparent\fP: the parent line (as text). +.IP \(bu 2 +\fBchild\fP: the child line (as text). If no child line matched, this field +will be \fBNone\fP\&. +.UNINDENT +.sp +Note that the return list contains the elements that matched the parent +condition, the \fBparent_regex\fP regular expression. Therefore, the \fBparent\fP +field will always have a valid value, while \fBmatch\fP and \fBchild\fP may +default to \fBFalse\fP and \fBNone\fP respectively when there is not child match. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ciscoconfparse.filter_lines config_path=https://bit.ly/2mAdq7z parent_regex=\(aqGigabit\(aq child_regex=\(aqshutdown\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output (for the example above): +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +[ + { + \(aqparent\(aq: \(aqinterface GigabitEthernet1\(aq, + \(aqmatch\(aq: False, + \(aqchild\(aq: None + }, + { + \(aqparent\(aq: \(aqinterface GigabitEthernet2\(aq, + \(aqmatch\(aq: True, + \(aqchild\(aq: \(aq shutdown\(aq + }, + { + \(aqparent\(aq: \(aqinterface GigabitEthernet3\(aq, + \(aqmatch\(aq: True, + \(aqchild\(aq: \(aq shutdown\(aq + } +] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.find_lines(config=None, config_path=None, regex=None, saltenv=u\(aqbase\(aq) +Return all the lines (as text) that match the expression in the \fBregex\fP +argument. +.INDENT 7.0 +.TP +.B config +The configuration sent as text. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_path\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_path +The absolute or remote path to the file with the configuration to be +parsed. This argument supports the usual Salt filesystem URIs, e.g., +\fBsalt://\fP, \fBhttps://\fP, \fBftp://\fP, \fBs3://\fP, etc. +.TP +.B regex +The regular expression to match the lines against. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. This +argument is ignored when \fBconfig_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ciscoconfparse.find_lines config_path=https://bit.ly/2mAdq7z regex=\(aqip address\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +cisco\-ios\-router: + \- ip address dhcp + \- ip address 172.20.0.1 255.255.255.0 + \- no ip address +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.find_lines_w_child(config=None, config_path=None, parent_regex=None, child_regex=None, ignore_ws=False, saltenv=u\(aqbase\(aq) +Return a list of parent lines (as text) matching the regular expression +\fBparent_regex\fP that have children lines matching \fBchild_regex\fP\&. +.INDENT 7.0 +.TP +.B config +The configuration sent as text. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_path\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_path +The absolute or remote path to the file with the configuration to be +parsed. This argument supports the usual Salt filesystem URIs, e.g., +\fBsalt://\fP, \fBhttps://\fP, \fBftp://\fP, \fBs3://\fP, etc. +.TP +.B parent_regex +The regular expression to match the parent lines against. +.TP +.B child_regex +The regular expression to match the child lines against. +.TP +.B ignore_ws: \fBFalse\fP +Whether to ignore the white spaces. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. This +argument is ignored when \fBconfig_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ciscoconfparse.find_lines_w_child config_path=https://bit.ly/2mAdq7z parent_line=\(aqline con\(aq child_line=\(aqstopbits\(aq +salt \(aq*\(aq ciscoconfparse.find_lines_w_child config_path=https://bit.ly/2uIRxau parent_regex=\(aqge\-(.*)\(aq child_regex=\(aqunit \ed+\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.find_lines_wo_child(config=None, config_path=None, parent_regex=None, child_regex=None, ignore_ws=False, saltenv=u\(aqbase\(aq) +Return a list of parent \fBciscoconfparse.IOSCfgLine\fP lines as text, which +matched the \fBparent_regex\fP and whose children did \fInot\fP match \fBchild_regex\fP\&. +Only the parent \fBciscoconfparse.IOSCfgLine\fP text lines will be returned. +For simplicity, this method only finds oldest ancestors without immediate +children that match. +.INDENT 7.0 +.TP +.B config +The configuration sent as text. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_path\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_path +The absolute or remote path to the file with the configuration to be +parsed. This argument supports the usual Salt filesystem URIs, e.g., +\fBsalt://\fP, \fBhttps://\fP, \fBftp://\fP, \fBs3://\fP, etc. +.TP +.B parent_regex +The regular expression to match the parent lines against. +.TP +.B child_regex +The regular expression to match the child lines against. +.TP +.B ignore_ws: \fBFalse\fP +Whether to ignore the white spaces. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. This +argument is ignored when \fBconfig_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ciscoconfparse.find_lines_wo_child config_path=https://bit.ly/2mAdq7z parent_line=\(aqline con\(aq child_line=\(aqstopbits\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.find_objects(config=None, config_path=None, regex=None, saltenv=u\(aqbase\(aq) +Return all the line objects that match the expression in the \fBregex\fP +argument. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is mostly valuable when invoked from other Salt +components (i.e., execution modules, states, templates etc.). For CLI +usage, please consider using +\fBciscoconfparse.find_lines\fP +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B config +The configuration sent as text. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_path\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_path +The absolute or remote path to the file with the configuration to be +parsed. This argument supports the usual Salt filesystem URIs, e.g., +\fBsalt://\fP, \fBhttps://\fP, \fBftp://\fP, \fBs3://\fP, etc. +.TP +.B regex +The regular expression to match the lines against. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. This +argument is ignored when \fBconfig_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +Usage example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +objects = __salt__[\(aqciscoconfparse.find_objects\(aq](config_path=\(aqsalt://path/to/config.txt\(aq, + regex=\(aqGigabit\(aq) +for obj in objects: + print(obj.text) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.find_objects_w_child(config=None, config_path=None, parent_regex=None, child_regex=None, ignore_ws=False, saltenv=u\(aqbase\(aq) +Parse through the children of all parent lines matching \fBparent_regex\fP, +and return a list of child objects, which matched the \fBchild_regex\fP\&. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is mostly valuable when invoked from other Salt +components (i.e., execution modules, states, templates etc.). For CLI +usage, please consider using +\fBciscoconfparse.find_lines_w_child\fP +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B config +The configuration sent as text. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_path\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_path +The absolute or remote path to the file with the configuration to be +parsed. This argument supports the usual Salt filesystem URIs, e.g., +\fBsalt://\fP, \fBhttps://\fP, \fBftp://\fP, \fBs3://\fP, etc. +.TP +.B parent_regex +The regular expression to match the parent lines against. +.TP +.B child_regex +The regular expression to match the child lines against. +.TP +.B ignore_ws: \fBFalse\fP +Whether to ignore the white spaces. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. This +argument is ignored when \fBconfig_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +Usage example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +objects = __salt__[\(aqciscoconfparse.find_objects_w_child\(aq](config_path=\(aqhttps://bit.ly/2mAdq7z\(aq, + parent_regex=\(aqline con\(aq, + child_regex=\(aqstopbits\(aq) +for obj in objects: + print(obj.text) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ciscoconfparse_mod.find_objects_wo_child(config=None, config_path=None, parent_regex=None, child_regex=None, ignore_ws=False, saltenv=u\(aqbase\(aq) +Return a list of parent \fBciscoconfparse.IOSCfgLine\fP objects, which matched +the \fBparent_regex\fP and whose children did \fInot\fP match \fBchild_regex\fP\&. +Only the parent \fBciscoconfparse.IOSCfgLine\fP objects will be returned. For +simplicity, this method only finds oldest ancestors without immediate +children that match. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is mostly valuable when invoked from other Salt +components (i.e., execution modules, states, templates etc.). For CLI +usage, please consider using +\fBciscoconfparse.find_lines_wo_child\fP +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B config +The configuration sent as text. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_path\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_path +The absolute or remote path to the file with the configuration to be +parsed. This argument supports the usual Salt filesystem URIs, e.g., +\fBsalt://\fP, \fBhttps://\fP, \fBftp://\fP, \fBs3://\fP, etc. +.TP +.B parent_regex +The regular expression to match the parent lines against. +.TP +.B child_regex +The regular expression to match the child lines against. +.TP +.B ignore_ws: \fBFalse\fP +Whether to ignore the white spaces. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. This +argument is ignored when \fBconfig_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +Usage example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +objects = __salt__[\(aqciscoconfparse.find_objects_wo_child\(aq](config_path=\(aqhttps://bit.ly/2mAdq7z\(aq, + parent_regex=\(aqline con\(aq, + child_regex=\(aqstopbits\(aq) +for obj in objects: + print(obj.text) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.cisconso .sp Execution module for Cisco Network Services Orchestrator Proxy minions @@ -129047,7 +137471,7 @@ salt \(aq*\(aq cisconso.info .INDENT 0.0 .TP .B salt.modules.cisconso.set_data_value(datastore, path, data) -Get a data entry in a datastore +Set a data entry in a datastore .INDENT 7.0 .TP .B Parameters @@ -129257,6 +137681,24 @@ salt minionname cloud.list_sizes my\-gce\-config .B salt.modules.cloud.map_run(path=None, **kwargs) Execute a salt cloud map file .sp +Cloud Map data can be retrieved from several sources: +.INDENT 7.0 +.IP \(bu 2 +a local file (provide the path to the file to the \(aqpath\(aq argument) +.IP \(bu 2 +a JSON\-formatted map directly (provide the appropriately formatted to using the \(aqmap_data\(aq argument) +.IP \(bu 2 +the Salt Pillar (provide the map name of under \(aqpillar:cloud:maps\(aq to the \(aqmap_pillar\(aq argument) +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Only one of these sources can be read at a time. The options are listed +in their order of precedence. +.UNINDENT +.UNINDENT +.sp CLI Examples: .INDENT 7.0 .INDENT 3.5 @@ -129264,6 +137706,9 @@ CLI Examples: .nf .ft C salt minionname cloud.map_run /path/to/cloud.map +salt minionname cloud.map_run path=/path/to/cloud.map +salt minionname cloud.map_run map_pillar=\(aq\(aq + .. versionchanged:: 2018.3.1 salt minionname cloud.map_run map_data=\(aq\(aq .ft P .fi @@ -129306,7 +137751,7 @@ salt minionname cloud.network_list my\-nova .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cloud.profile(profile, names, vm_overrides=None, opts=None, **kwargs) +.B salt.modules.cloud.profile_(profile, names, vm_overrides=None, opts=None, **kwargs) Spin up an instance using Salt Cloud .sp CLI Example: @@ -129546,7 +137991,7 @@ salt \(aq*\(aq cmd.has_exec cat .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.powershell(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, depth=None, encode_cmd=False, **kwargs) +.B salt.modules.cmdmod.powershell(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/zsh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, depth=None, encode_cmd=False, success_retcodes=None, **kwargs) Execute the passed PowerShell command and return the output as a dictionary. .sp Other \fBcmd.*\fP functions (besides \fBcmd.powershell_all\fP) @@ -129600,22 +138045,22 @@ returns useless data. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The powershell command to run. +\fBcmd\fP (\fIstr\fP) \-\- The powershell command to run. .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- Specify an alternate user to run the command. The default +\fBrunas\fP (\fIstr\fP) \-\- Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running on a Windows minion you must also use the \fBpassword\fP argument, and the target user account must be in the Administrators group. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -129624,14 +138069,14 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -129654,20 +138099,20 @@ salt myminion cmd.powershell \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -129690,7 +138135,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -129704,14 +138149,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -129728,16 +138173,16 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to return. +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. .IP \(bu 2 -\fBreset_system_locale\fP (\fI\%bool\fP) \-\- Resets the system locale +\fBreset_system_locale\fP (\fIbool\fP) \-\- Resets the system locale .IP \(bu 2 -\fBsaltenv\fP (\fI\%str\fP) \-\- The salt environment to use. Default is \(aqbase\(aq +\fBsaltenv\fP (\fIstr\fP) \-\- The salt environment to use. Default is \(aqbase\(aq .IP \(bu 2 -\fBdepth\fP (\fI\%int\fP) \-\- +\fBdepth\fP (\fIint\fP) \-\- .sp The number of levels of contained objects to be included. Default is 2. Values greater than 4 seem to greatly increase the time @@ -129747,9 +138192,32 @@ New in version 2016.3.4. .IP \(bu 2 -\fBencode_cmd\fP (\fI\%bool\fP) \-\- Encode the command before executing. Use in cases +\fBencode_cmd\fP (\fIbool\fP) \-\- Encode the command before executing. Use in cases where characters may be dropped or incorrectly converted when executed. Default is False. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .TP .B Returns @@ -129775,7 +138243,7 @@ salt \(aq*\(aq cmd.powershell "$PSVersionTable.CLRVersion" .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.powershell_all(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, quiet=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, depth=None, encode_cmd=False, force_list=False, **kwargs) +.B salt.modules.cmdmod.powershell_all(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/zsh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, quiet=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, depth=None, encode_cmd=False, force_list=False, success_retcodes=None, **kwargs) Execute the passed PowerShell command and return a dictionary with a result field representing the output of the command, as well as other fields showing us what the PowerShell invocation wrote to \fBstderr\fP, the process @@ -129893,32 +138361,32 @@ returns useless data. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The powershell command to run. +\fBcmd\fP (\fIstr\fP) \-\- The powershell command to run. .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- Specify an alternate user to run the command. The default +\fBrunas\fP (\fIstr\fP) \-\- Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running on a Windows minion you must also use the \fBpassword\fP argument, and the target user account must be in the Administrators group. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- Windows only. Required when specifying \fBrunas\fP\&. This +\fBpassword\fP (\fIstr\fP) \-\- Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -129941,20 +138409,20 @@ salt myminion cmd.powershell_all \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -129977,7 +138445,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -129991,20 +138459,20 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. .IP \(bu 2 -\fBreset_system_locale\fP (\fI\%bool\fP) \-\- Resets the system locale +\fBreset_system_locale\fP (\fIbool\fP) \-\- Resets the system locale .IP \(bu 2 \fBignore_retcode\fP \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command @@ -130013,18 +138481,41 @@ programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBsaltenv\fP (\fI\%str\fP) \-\- The salt environment to use. Default is \(aqbase\(aq +\fBsaltenv\fP (\fIstr\fP) \-\- The salt environment to use. Default is \(aqbase\(aq .IP \(bu 2 -\fBdepth\fP (\fI\%int\fP) \-\- The number of levels of contained objects to be included. +\fBdepth\fP (\fIint\fP) \-\- The number of levels of contained objects to be included. Default is 2. Values greater than 4 seem to greatly increase the time it takes for the command to complete for some commands. eg: \fBdir\fP .IP \(bu 2 -\fBencode_cmd\fP (\fI\%bool\fP) \-\- Encode the command before executing. Use in cases +\fBencode_cmd\fP (\fIbool\fP) \-\- Encode the command before executing. Use in cases where characters may be dropped or incorrectly converted when executed. Default is False. .IP \(bu 2 -\fBforce_list\fP (\fI\%bool\fP) \-\- The purpose of this parameter is described in the +\fBforce_list\fP (\fIbool\fP) \-\- The purpose of this parameter is described in the preamble of this function\(aqs documentation. Default value is False. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .TP .B Returns @@ -130053,7 +138544,7 @@ non\-0 value, then \fBretcode\fP will end up with this value. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -130082,24 +138573,24 @@ salt \(aq*\(aq cmd.powershell_all "dir mydirectory" force_list=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, **kwargs) +.B salt.modules.cmdmod.retcode(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, success_retcodes=None, **kwargs) Execute a shell command and return the command\(aqs return code. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running @@ -130128,7 +138619,7 @@ cmd.retcode \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuser .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -130137,14 +138628,17 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -130167,20 +138661,20 @@ salt myminion cmd.retcode \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -130203,7 +138697,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -130217,24 +138711,47 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to return. +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .TP .B Return type -\fI\%int\fP +int .TP .B Return type -\fI\%None\fP +None .TP .B Returns Return Code as an int or None if there was an exception. @@ -130282,29 +138799,27 @@ salt \(aq*\(aq cmd.retcode "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, **kwargs) +.B salt.modules.cmdmod.run(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, password=None, encoded_cmd=False, raise_err=False, prepend_path=None, success_retcodes=None, **kwargs) Execute the passed command and return the output as a string .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default -behavior is to run as the user under which Salt is running. If running -on a Windows minion you must also use the \fBpassword\fP argument, and -the target user account must be in the Administrators group. +behavior is to run as the user under which Salt is running. .sp \fBWARNING:\fP .INDENT 2.0 @@ -130328,7 +138843,10 @@ cmd.run \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuser .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -130337,14 +138855,14 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If \fBFalse\fP, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If \fBFalse\fP, let python handle the positional arguments. Set to \fBTrue\fP to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBbg\fP (\fI\%bool\fP) \-\- +\fBbg\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, run command in background and do not await or deliver it\(aqs results @@ -130353,7 +138871,7 @@ New in version 2016.3.0. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -130376,11 +138894,11 @@ salt myminion cmd.run \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBprepend_path\fP (\fI\%str\fP) \-\- +\fBprepend_path\fP (\fIstr\fP) \-\- .sp $PATH segment to prepend (trailing \(aq:\(aq not necessary) to $PATH @@ -130389,16 +138907,16 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -130421,7 +138939,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -130435,14 +138953,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -130459,15 +138977,15 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to return. +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. .IP \(bu 2 -\fBencoded_cmd\fP (\fI\%bool\fP) \-\- Specify if the supplied command is encoded. +\fBencoded_cmd\fP (\fIbool\fP) \-\- Specify if the supplied command is encoded. Only applies to shell \(aqpowershell\(aq. .IP \(bu 2 -\fBraise_err\fP (\fI\%bool\fP) \-\- If \fBTrue\fP and the command has a nonzero exit code, +\fBraise_err\fP (\fIbool\fP) \-\- If \fBTrue\fP and the command has a nonzero exit code, a CommandExecutionError exception will be raised. .UNINDENT .UNINDENT @@ -130485,6 +139003,35 @@ The use of python_shell=True means that the shell will accept _any_ input including potentially malicious commands such as \(aqgood_command;rm \-rf /\(aq. Be absolutely certain that you have sanitized your input prior to using python_shell=True +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\e\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -130557,24 +139104,24 @@ salt \(aq*\(aq cmd.run cmd=\(aqsed \-e s/=/:/g\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, **kwargs) +.B salt.modules.cmdmod.run_all(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, redirect_stderr=False, password=None, encoded_cmd=False, prepend_path=None, success_retcodes=None, **kwargs) Execute the passed command and return a dict of return data .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running @@ -130603,7 +139150,7 @@ cmd.run_all \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuser .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -130612,14 +139159,17 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -130642,11 +139192,11 @@ salt myminion cmd.run_all \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBprepend_path\fP (\fI\%str\fP) \-\- +\fBprepend_path\fP (\fIstr\fP) \-\- .sp $PATH segment to prepend (trailing \(aq:\(aq not necessary) to $PATH @@ -130655,16 +139205,16 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -130687,7 +139237,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -130701,14 +139251,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -130725,13 +139275,13 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. .IP \(bu 2 -\fBencoded_cmd\fP (\fI\%bool\fP) \-\- +\fBencoded_cmd\fP (\fIbool\fP) \-\- .sp Specify if the supplied command is encoded. Only applies to shell \(aqpowershell\(aq. @@ -130740,7 +139290,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBredirect_stderr\fP (\fI\%bool\fP) \-\- +\fBredirect_stderr\fP (\fIbool\fP) \-\- .sp If set to \fBTrue\fP, then stderr will be redirected to stdout. This is helpful for cases where obtaining both @@ -130763,7 +139313,7 @@ New in version 2016.3.0. .UNINDENT .IP \(bu 2 -\fBbg\fP (\fI\%bool\fP) \-\- +\fBbg\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, run command in background and do not await or deliver its results @@ -130771,6 +139321,29 @@ deliver its results New in version 2016.3.6. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -130816,7 +139389,7 @@ salt \(aq*\(aq cmd.run_all "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, reset_system_locale=True, saltenv=u\(aqbase\(aq, password=None, prepend_path=None, **kwargs) +.B salt.modules.cmdmod.run_bg(cmd, cwd=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, umask=None, timeout=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, password=None, prepend_path=None, success_retcodes=None, **kwargs) Execute the passed command in the background and return it\(aqs PID .sp \fBNOTE:\fP @@ -130834,13 +139407,19 @@ the minion service. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Shell to execute under. Defaults to the system default +shell. +.IP \(bu 2 +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -130863,7 +139442,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -130877,14 +139456,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running @@ -130913,7 +139492,7 @@ cmd.run_bg \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuser .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -130922,14 +139501,14 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBshell\fP \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -130952,11 +139531,11 @@ salt myminion cmd.run_bg \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBprepend_path\fP (\fI\%str\fP) \-\- +\fBprepend_path\fP (\fIstr\fP) \-\- .sp $PATH segment to prepend (trailing \(aq:\(aq not necessary) to $PATH @@ -130965,13 +139544,13 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to return. +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .UNINDENT .UNINDENT .sp @@ -130988,6 +139567,35 @@ The use of \fBpython_shell=True\fP means that the shell will accept _any_ input including potentially malicious commands such as \(aqgood_command;rm \-rf /\(aq. Be absolutely certain that you have sanitized your input prior to using \fBpython_shell=True\fP\&. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\e\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -131046,7 +139654,7 @@ salt \(aq*\(aq cmd.run_bg cmd=\(aqls \-lR / | sed \-e s/=/:/g > /tmp/dontwait\(a .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=True, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, **kwargs) +.B salt.modules.cmdmod.run_chroot(root, cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=True, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqquiet\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, success_retcodes=None, **kwargs) New in version 2014.7.0. .sp @@ -131055,29 +139663,48 @@ within a chroot, with dev and proc mounted in the chroot .INDENT 7.0 .TP .B Parameters +\fBroot\fP (\fIstr\fP) \-\- Path to the root of the jail to use. +.UNINDENT +.INDENT 7.0 +.TP +.B stdin +A string of standard input can be specified for the command to be run using +the \fBstdin\fP parameter. This can be useful in cases where sensitive +information must be read from standard input.: +.TP +.B runas +User to run script as. +.TP +.B group +Group to run script as. +.TP +.B shell +Shell to execute under. Defaults to the system default shell. +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters .INDENT 7.0 .IP \(bu 2 -\fBroot\fP (\fI\%str\fP) \-\- Path to the root of the jail to use. +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP -.IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- Specify an alternate user to run the command. The default +\fBrunas\fP (\fIstr\fP) \-\- Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running on a Windows minion you must also use the \fBpassword\fP argument, and the target user account must be in the Administrators group. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -131100,19 +139727,19 @@ salt myminion cmd.run_chroot \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%dict\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIdict\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is returned. +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -131135,7 +139762,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -131149,14 +139776,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -131173,9 +139800,9 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to return. +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output more +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. .UNINDENT .TP @@ -131183,6 +139810,20 @@ interactively to the console and the logs. This is experimental. A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. +.UNINDENT +.INDENT 7.0 +.TP +.B success_retcodes: This parameter will be allow a list of +.INDENT 7.0 +.INDENT 3.5 +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .sp CLI Example: @@ -131199,24 +139840,24 @@ salt \(aq*\(aq cmd.run_chroot /var/lib/lxc/container_name/rootfs \(aqsh /tmp/boo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, prepend_path=None, **kwargs) +.B salt.modules.cmdmod.run_stderr(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, prepend_path=None, success_retcodes=None, **kwargs) Execute a command and only return the standard error .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running @@ -131245,7 +139886,7 @@ cmd.run_stderr \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuse .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -131254,14 +139895,17 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -131284,11 +139928,11 @@ salt myminion cmd.run_stderr \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBprepend_path\fP (\fI\%str\fP) \-\- +\fBprepend_path\fP (\fIstr\fP) \-\- .sp $PATH segment to prepend (trailing \(aq:\(aq not necessary) to $PATH @@ -131297,16 +139941,16 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -131329,7 +139973,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -131343,14 +139987,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -131367,11 +140011,34 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -131417,24 +140084,24 @@ salt \(aq*\(aq cmd.run_stderr "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, prepend_path=None, **kwargs) +.B salt.modules.cmdmod.run_stdout(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, password=None, prepend_path=None, success_retcodes=None, **kwargs) Execute a command, and only return the standard out .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running @@ -131463,7 +140130,7 @@ cmd.run_stdout \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuse .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -131472,14 +140139,17 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -131502,11 +140172,11 @@ salt myminion cmd.run_stdout \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBprepend_path\fP (\fI\%str\fP) \-\- +\fBprepend_path\fP (\fIstr\fP) \-\- .sp $PATH segment to prepend (trailing \(aq:\(aq not necessary) to $PATH @@ -131515,16 +140185,16 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -131547,7 +140217,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -131561,14 +140231,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -131585,11 +140255,34 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -131635,7 +140328,7 @@ salt \(aq*\(aq cmd.run_stdout "grep f" stdin=\(aqone\entwo\enthree\enfour\enfive .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, password=None, **kwargs) +.B salt.modules.cmdmod.script(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=None, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, password=None, success_retcodes=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -131647,11 +140340,11 @@ programming language. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- The location of the script to download. If the file is +\fBsource\fP (\fIstr\fP) \-\- The location of the script to download. If the file is located on the master in the directory named spam, and is called eggs, the source string is salt://spam/eggs .IP \(bu 2 -\fBargs\fP (\fI\%str\fP) \-\- +\fBargs\fP (\fIstr\fP) \-\- .sp String of command line args to pass to the script. Only used if no args are specified as part of the \fIname\fP argument. To pass a @@ -131668,20 +140361,20 @@ salt myminion cmd.script salt://foo.sh "arg1 \(aqarg two\(aq arg3" .UNINDENT .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- Specify an alternate user to run the command. The default +\fBrunas\fP (\fIstr\fP) \-\- Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running on a Windows minion you must also use the \fBpassword\fP argument, and the target user account must be in the Administrators group. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -131690,17 +140383,20 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBgroup\fP (\fIstr\fP) \-\- Group to run script as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBbg\fP (\fI\%bool\fP) \-\- If True, run script in background and do not await or +\fBbg\fP (\fIbool\fP) \-\- If True, run script in background and do not await or deliver it\(aqs results .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -131723,13 +140419,13 @@ salt myminion cmd.script \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -131752,7 +140448,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -131766,14 +140462,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -131790,12 +140486,35 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- If the command has not terminated after timeout +\fBtimeout\fP (\fIint\fP) \-\- If the command has not terminated after timeout seconds, send the subprocess sigterm, and if sigterm is ignored, follow up with sigkill .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -131825,7 +140544,7 @@ salt \(aq*\(aq cmd.script salt://scripts/runme.sh stdin=\(aqone\entwo\enthree\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, template=u\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=u\(aqbase\(aq, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, **kwargs) +.B salt.modules.cmdmod.script_retcode(source, args=None, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, python_shell=None, env=None, template=u\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=u\(aqbase\(aq, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, use_vt=False, password=None, success_retcodes=None, **kwargs) Download a script from a remote location and execute the script locally. The script can be located on the salt master file server or on an HTTP/FTP server. @@ -131841,29 +140560,29 @@ Only evaluate the script return code and do not block for terminal output .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- The location of the script to download. If the file is +\fBsource\fP (\fIstr\fP) \-\- The location of the script to download. If the file is located on the master in the directory named spam, and is called eggs, the source string is salt://spam/eggs .IP \(bu 2 -\fBargs\fP (\fI\%str\fP) \-\- String of command line args to pass to the script. Only +\fBargs\fP (\fIstr\fP) \-\- String of command line args to pass to the script. Only used if no args are specified as part of the \fIname\fP argument. To pass a string containing spaces in YAML, you will need to doubly\-quote it: "arg1 \(aqarg two\(aq arg3" .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- Specify an alternate user to run the command. The default +\fBrunas\fP (\fIstr\fP) \-\- Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running on a Windows minion you must also use the \fBpassword\fP argument, and the target user account must be in the Administrators group. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -131872,14 +140591,17 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs +\fBgroup\fP (\fIstr\fP) \-\- Group to run script as. Not currently supported +on Windows. +.IP \(bu 2 +\fBshell\fP (\fIstr\fP) \-\- Specify an alternate shell. Defaults to the system\(aqs default shell. .IP \(bu 2 -\fBpython_shell\fP (\fI\%bool\fP) \-\- If False, let python handle the positional +\fBpython_shell\fP (\fIbool\fP) \-\- If False, let python handle the positional arguments. Set to True to use shell features, such as pipes or redirection. .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -131902,13 +140624,13 @@ salt myminion cmd.script_retcode \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -131931,7 +140653,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -131945,19 +140667,42 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- If the command has not terminated after timeout +\fBtimeout\fP (\fIint\fP) \-\- If the command has not terminated after timeout seconds, send the subprocess sigterm, and if sigterm is ignored, follow up with sigkill .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -131991,7 +140736,7 @@ salt \(aq*\(aq cmd.script_retcode salt://scripts/runme.sh stdin=\(aqone\entwo\en .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, password=None, prepend_path=None, **kwargs) +.B salt.modules.cmdmod.shell(cmd, cwd=None, stdin=None, runas=None, group=None, shell=\(aq/bin/zsh\(aq, env=None, clean_env=False, template=None, rstrip=True, umask=None, output_encoding=None, output_loglevel=u\(aqdebug\(aq, log_callback=None, hide_output=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=u\(aqbase\(aq, use_vt=False, bg=False, password=None, prepend_path=None, success_retcodes=None, **kwargs) Execute the passed command and return the output as a string. .sp New in version 2015.5.0. @@ -132001,17 +140746,17 @@ New in version 2015.5.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- The command to run. ex: \fBls \-lart /home\fP +\fBcmd\fP (\fIstr\fP) \-\- The command to run. ex: \fBls \-lart /home\fP .IP \(bu 2 -\fBcwd\fP (\fI\%str\fP) \-\- The directory from which to execute the command. Defaults +\fBcwd\fP (\fIstr\fP) \-\- The directory from which to execute the command. Defaults to the home directory of the user specified by \fBrunas\fP (or the user under which Salt is running if \fBrunas\fP is not specified). .IP \(bu 2 -\fBstdin\fP (\fI\%str\fP) \-\- A string of standard input can be specified for the +\fBstdin\fP (\fIstr\fP) \-\- A string of standard input can be specified for the command to be run using the \fBstdin\fP parameter. This can be useful in cases where sensitive information must be read from standard input. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- +\fBrunas\fP (\fIstr\fP) \-\- .sp Specify an alternate user to run the command. The default behavior is to run as the user under which Salt is running. If running @@ -132040,7 +140785,10 @@ cmd.shell \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuser .UNINDENT .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- +\fBgroup\fP (\fIstr\fP) \-\- Group to run command as. Not currently supported +on Windows. +.IP \(bu 2 +\fBpassword\fP (\fIstr\fP) \-\- .sp Windows only. Required when specifying \fBrunas\fP\&. This parameter will be ignored on non\-Windows platforms. @@ -132049,13 +140797,13 @@ New in version 2016.3.0. .IP \(bu 2 -\fBshell\fP (\fI\%int\fP) \-\- Shell to execute under. Defaults to the system default +\fBshell\fP (\fIint\fP) \-\- Shell to execute under. Defaults to the system default shell. .IP \(bu 2 -\fBbg\fP (\fI\%bool\fP) \-\- If True, run command in background and do not await or +\fBbg\fP (\fIbool\fP) \-\- If True, run command in background and do not await or deliver its results .IP \(bu 2 -\fBenv\fP (\fI\%dict\fP) \-\- +\fBenv\fP (\fIdict\fP) \-\- .sp Environment variables to be set prior to execution. .sp @@ -132078,11 +140826,11 @@ salt myminion cmd.shell \(aqsome command\(aq env=\(aq{"FOO": "bar"}\(aq .UNINDENT .IP \(bu 2 -\fBclean_env\fP (\fI\%bool\fP) \-\- Attempt to clean out all other shell environment +\fBclean_env\fP (\fIbool\fP) \-\- Attempt to clean out all other shell environment variables and set only those provided in the \(aqenv\(aq argument to this function. .IP \(bu 2 -\fBprepend_path\fP (\fI\%str\fP) \-\- +\fBprepend_path\fP (\fIstr\fP) \-\- .sp $PATH segment to prepend (trailing \(aq:\(aq not necessary) to $PATH @@ -132091,16 +140839,16 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtemplate\fP (\fI\%str\fP) \-\- If this setting is applied then the named templating +\fBtemplate\fP (\fIstr\fP) \-\- If this setting is applied then the named templating engine will be used to render the downloaded file. Currently jinja, mako, and wempy are supported. .IP \(bu 2 -\fBrstrip\fP (\fI\%bool\fP) \-\- Strip all whitespace off the end of output before it is +\fBrstrip\fP (\fIbool\fP) \-\- Strip all whitespace off the end of output before it is returned. .IP \(bu 2 -\fBumask\fP (\fI\%str\fP) \-\- The umask (in octal) to use when running the command. +\fBumask\fP (\fIstr\fP) \-\- The umask (in octal) to use when running the command. .IP \(bu 2 -\fBoutput_encoding\fP (\fI\%str\fP) \-\- +\fBoutput_encoding\fP (\fIstr\fP) \-\- .sp Control the encoding used to decode the command\(aqs output. @@ -132123,7 +140871,7 @@ New in version 2018.3.0. .IP \(bu 2 -\fBoutput_loglevel\fP (\fI\%str\fP) \-\- +\fBoutput_loglevel\fP (\fIstr\fP) \-\- .sp Control the loglevel at which the output from the command is logged to the minion log. @@ -132137,14 +140885,14 @@ loglevel regardless, unless \fBquiet\fP is used for this value. .UNINDENT .IP \(bu 2 -\fBignore_retcode\fP (\fI\%bool\fP) \-\- If the exit code of the command is nonzero, +\fBignore_retcode\fP (\fIbool\fP) \-\- If the exit code of the command is nonzero, this is treated as an error condition, and the output from the command will be logged to the minion log. However, there are some cases where programs use the return code for signaling and a nonzero exit code doesn\(aqt necessarily mean failure. Pass this argument as \fBTrue\fP to skip logging the output if the command has a nonzero exit code. .IP \(bu 2 -\fBhide_output\fP (\fI\%bool\fP) \-\- +\fBhide_output\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP, suppress stdout and stderr in the return data. @@ -132161,10 +140909,10 @@ New in version 2018.3.0. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- A timeout in seconds for the executed process to +\fBtimeout\fP (\fIint\fP) \-\- A timeout in seconds for the executed process to return. .IP \(bu 2 -\fBuse_vt\fP (\fI\%bool\fP) \-\- Use VT utils (saltstack) to stream the command output +\fBuse_vt\fP (\fIbool\fP) \-\- Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. .UNINDENT .UNINDENT @@ -132175,6 +140923,35 @@ more interactively to the console and the logs. This is experimental. This passes the cmd argument directly to the shell without any further processing! Be absolutely sure that you have properly sanitized the command passed to this function and do not use untrusted inputs. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsuccess_retcodes\fP (\fIlist\fP) \-\- .INDENT 2.0 +.TP +.B This parameter will be allow a list of +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBstdin_raw_newlines\fP (\fIbool\fP) \-\- .INDENT 2.0 +.TP +.B False +If \fBTrue\fP, Salt will not automatically convert the characters \fB\en\fP +present in the \fBstdin\fP value to newlines. +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -132260,11 +141037,11 @@ languages all return the \fBinstalled\fP, \fBpath\fP, \fBversion\fP, .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBshell\fP (\fI\%str\fP) \-\- Name of the shell. Support shells/script languages include +\fBshell\fP (\fIstr\fP) \-\- Name of the shell. Support shells/script languages include .IP \(bu 2 \fBcmd\fP\fB, \fP\fBperl\fP\fB, \fP\fBphp\fP\fB, \fP\fBpowershell\fP\fB, \fP\fBpython\fP\fB, \fP\fBruby and zsh\fP (\fIbash\fP\fI,\fP) \-\- .IP \(bu 2 -\fBlist_modules\fP (\fI\%bool\fP) \-\- True to list modules available to the shell. +\fBlist_modules\fP (\fIbool\fP) \-\- True to list modules available to the shell. .IP \(bu 2 \fBonly lists powershell modules.\fP (\fICurrently\fP) \-\- .UNINDENT @@ -132273,7 +141050,7 @@ languages all return the \fBinstalled\fP, \fBpath\fP, \fBversion\fP, A dictionary of information about the shell .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -132423,7 +141200,7 @@ salt \(aq*\(aq composer.did_composer_install /var/www/application .UNINDENT .INDENT 0.0 .TP -.B salt.modules.composer.install(directory, composer=None, php=None, runas=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq) +.B salt.modules.composer.install(directory, composer=None, php=None, runas=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq, env=None) Install composer dependencies for a directory. .sp If composer has not been installed globally making it available in the @@ -132469,6 +141246,9 @@ Which system user to run composer as. .TP .B composer_home $COMPOSER_HOME environment variable +.TP +.B env +A list of environment variables to be set prior to execution. .UNINDENT .sp CLI Example: @@ -132528,7 +141308,7 @@ salt \(aq*\(aq composer.selfupdate .UNINDENT .INDENT 0.0 .TP -.B salt.modules.composer.update(directory, composer=None, php=None, runas=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq) +.B salt.modules.composer.update(directory, composer=None, php=None, runas=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq, env=None) Update composer dependencies for a directory. .sp If \fIcomposer install\fP has not yet been run, this runs \fIcomposer install\fP @@ -132577,6 +141357,9 @@ Which system user to run composer as. .TP .B composer_home $COMPOSER_HOME environment variable +.TP +.B env +A list of environment variables to be set prior to execution. .UNINDENT .sp CLI Example: @@ -132847,6 +141630,24 @@ salt \(aq*\(aq config.get lxc.container_profile:centos merge=recurse .UNINDENT .INDENT 0.0 .TP +.B salt.modules.config.items() +Return the complete config from the currently running minion process. +This includes defaults for values not set in the config file. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq config.items +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.config.manage_mode(mode) Return a mode value, normalized to a string .sp @@ -134166,7 +142967,7 @@ salt \(aq*\(aq consul.health_state service=\(aqredis1\(aq passing=\(aqTrue\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.consul.list(consul_url=None, token=None, key=None, **kwargs) +.B salt.modules.consul.list_(consul_url=None, token=None, key=None, **kwargs) List keys in Consul .INDENT 7.0 .TP @@ -134722,6 +143523,23 @@ salt \(aq*\(aq cp.cache_master .UNINDENT .INDENT 0.0 .TP +.B salt.modules.cp.envs() +List available environments for fileserver +.sp +CLI Example +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cp.envs +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.cp.get_dir(path, dest, saltenv=u\(aqbase\(aq, template=None, gzip=None, **kwargs) Used to recursively copy a directory from the salt master .sp @@ -135167,7 +143985,7 @@ salt \(aq*\(aq cpan.install Template::Alloy .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cpan.list() +.B salt.modules.cpan.list_() List installed Perl modules, and the version installed .sp CLI Example: @@ -135864,7 +144682,7 @@ salt \(aq*\(aq cyg.install dos2unix mirrors="[{\(aqhttp://mirror\(aq: \(aqhttp:/ .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cyg.list(package=u\(aq\(aq, cyg_arch=u\(aqx86_64\(aq) +.B salt.modules.cyg.list_(package=u\(aq\(aq, cyg_arch=u\(aqx86_64\(aq) List locally installed packages. .INDENT 7.0 .TP @@ -136082,7 +144900,7 @@ salt \(aq*\(aq daemontools.missing foo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.daemontools.reload(name) +.B salt.modules.daemontools.reload_(name) Wrapper for term() .sp CLI Example: @@ -137085,7 +145903,7 @@ salt \(aq*\(aq pkgbuild.make_repo /var/www/html .UNINDENT .INDENT 0.0 .TP -.B salt.modules.debbuild.make_src_pkg(dest_dir, spec, sources, env=None, saltenv=u\(aqbase\(aq) +.B salt.modules.debbuild.make_src_pkg(dest_dir, spec, sources, env=None, saltenv=u\(aqbase\(aq, runas=u\(aqroot\(aq) Create a platform specific source package from the given platform spec/control file and sources .sp CLI Example: @@ -137106,6 +145924,68 @@ salt \(aq*\(aq pkgbuild.make_src_pkg /var/www/html/ .sp This example command should build the libnacl SOURCE package and place it in /var/www/html/ on the minion +.INDENT 7.0 +.TP +.B dest_dir +Absolute path for directory to write source package +.TP +.B spec +Absolute path to spec file or equivalent +.TP +.B sources +Absolute path to source files to build source package from +.TP +.B env +None +A list or dictionary of environment variables to be set prior to execution. +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- env: + \- DEB_BUILD_OPTIONS: \(aqnocheck\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +The above illustrates a common PyYAML pitfall, that \fByes\fP, +\fBno\fP, \fBon\fP, \fBoff\fP, \fBtrue\fP, and \fBfalse\fP are all loaded as +boolean \fBTrue\fP and \fBFalse\fP values, and must be enclosed in +quotes to be used as strings. More info on this (and other) PyYAML +idiosyncrasies can be found here\&. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +saltenv: base +.INDENT 7.0 +.INDENT 3.5 +Salt environment variables +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B runas +root +New in version fluorine. + +.sp +User to create the files and directories +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Ensure the user has correct permissions to any files and +directories which are to be utilized. +.UNINDENT +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.debconfmod .sp @@ -137139,7 +146019,7 @@ salt \(aq*\(aq debconf.get_selections .UNINDENT .INDENT 0.0 .TP -.B salt.modules.debconfmod.set(package, question, type, value, *extra) +.B salt.modules.debconfmod.set_(package, question, type, value, *extra) Set answers to debconf questions for a package. .sp CLI Example: @@ -137615,7 +146495,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.debian_service.reload(name) +.B salt.modules.debian_service.reload_(name) Reload the named service .sp CLI Example: @@ -137678,9 +146558,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -137688,7 +146568,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -137786,6 +146666,83 @@ salt \(aq*\(aq default.merge a=b d=e It is more typical to use this in a templating language in formulas, instead of directly on the command\-line. .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.defaults.update(dest, defaults, merge_lists=True, in_place=True) +Allows to set defaults for group of data set e.g. group for nodes. +.INDENT 7.0 +.INDENT 3.5 +This function is a combination of defaults.merge +and defaults.deepcopy to avoid redundant in jinja. +.sp +Example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +group01: + defaults: + enabled: True + extra: + \- test + \- stage + nodes: + host01: + index: foo + upstream: bar + host02: + index: foo2 + upstream: bar2 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +{% do salt[\(aqdefaults.update\(aq](group01.nodes, group01.defaults) %} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Each node will look like the following: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +host01: + enabled: True + index: foo + upstream: bar + extra: + \- test + \- stage +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B merge_lists +True +If True, it will also merge lists instead of replace their items. +.TP +.B in_place +True +If True, it will merge into dest dict. +if not it will make a new copy from that dict and return it. +.UNINDENT +.sp +It is more typical to use this in a templating language in formulas, +instead of directly on the command\-line. +.UNINDENT .SS salt.modules.devmap .sp Device\-Mapper module @@ -138003,7 +146960,7 @@ salt \(aq*\(aq disk.dump /dev/sda1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.disk.format(device, fs_type=u\(aqext4\(aq, inode_size=None, lazy_itable_init=None, force=False) +.B salt.modules.disk.format_(device, fs_type=u\(aqext4\(aq, inode_size=None, lazy_itable_init=None, force=False) Format a filesystem onto a device .sp New in version 2016.11.0. @@ -138253,6 +147210,9 @@ options. .TP .B salt.modules.disk.usage(args=None) Return usage information for volumes mounted on this minion +.sp +Changed in version Fluorine: Default for SunOS changed to 1 kilobyte blocks + .sp CLI Example: .INDENT 7.0 @@ -138288,7 +147248,7 @@ salt \(aq*\(aq disk.wipe /dev/sda1 Manage Django sites .INDENT 0.0 .TP -.B salt.modules.djangomod.collectstatic(settings_module, bin_env=None, no_post_process=False, ignore=None, dry_run=False, clear=False, link=False, no_default_ignore=False, pythonpath=None, env=None) +.B salt.modules.djangomod.collectstatic(settings_module, bin_env=None, no_post_process=False, ignore=None, dry_run=False, clear=False, link=False, no_default_ignore=False, pythonpath=None, env=None, runas=None) Collect static files from each of your applications into a single location that can easily be served in production. .sp @@ -138306,7 +147266,7 @@ salt \(aq*\(aq django.collectstatic .UNINDENT .INDENT 0.0 .TP -.B salt.modules.djangomod.command(settings_module, command, bin_env=None, pythonpath=None, env=None, *args, **kwargs) +.B salt.modules.djangomod.command(settings_module, command, bin_env=None, pythonpath=None, env=None, runas=None, *args, **kwargs) Run arbitrary django management command .sp CLI Example: @@ -138323,7 +147283,7 @@ salt \(aq*\(aq django.command .UNINDENT .INDENT 0.0 .TP -.B salt.modules.djangomod.createsuperuser(settings_module, username, email, bin_env=None, database=None, pythonpath=None, env=None) +.B salt.modules.djangomod.createsuperuser(settings_module, username, email, bin_env=None, database=None, pythonpath=None, env=None, runas=None) Create a super user for the database. This function defaults to use the \fB\-\-noinput\fP flag which prevents the creation of a password for the superuser. @@ -138364,7 +147324,7 @@ salt \(aq*\(aq django.loaddata \fP \- only remove objects created before given +timestamp. Not applicable to volumes. See the documentation links +above for examples of valid time expressions. +.IP \(bu 2 +\fBlabel\fP \- only remove objects matching the label expression. Valid +expressions include \fBlabelname\fP or \fBlabelname=value\fP\&. +.UNINDENT +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion docker.prune system=True +salt myminion docker.prune system=True until=12h +salt myminion docker.prune images=True dangling=True +salt myminion docker.prune images=True label=foo,bar=baz +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.dockermod.ps_(filters=None, **kwargs) Returns information about the Docker containers on the Minion. Equivalent to running the \fBdocker ps\fP Docker CLI command. .INDENT 7.0 @@ -142842,7 +152094,7 @@ salt myminion docker.retcode mycontainer \(aqls \-l /etc\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dockermod.rm(*args, **kwargs) +.B salt.modules.dockermod.rm_(*args, **kwargs) Removes a container .INDENT 7.0 .TP @@ -143514,7 +152766,7 @@ salt myminion docker.search centos official=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dockermod.signal(*args, **kwargs) +.B salt.modules.dockermod.signal_(*args, **kwargs) Send a signal to a container. Signals can be either strings or numbers, and are defined in the \fBStandard Signals\fP section of the \fBsignal(7)\fP manpage. Run \fBman 7 signal\fP on a Linux host to browse this manpage. @@ -143700,7 +152952,7 @@ salt myminion docker.sls_build imgname base=mybase mods=rails,web .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dockermod.start(*args, **kwargs) +.B salt.modules.dockermod.start_(*args, **kwargs) Start a container .INDENT 7.0 .TP @@ -143814,7 +153066,7 @@ salt myminion docker.stop mycontainer timeout=20 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dockermod.tag(name, repository, tag=\(aqlatest\(aq, force=False, image=None) +.B salt.modules.dockermod.tag_(name, repository, tag=\(aqlatest\(aq, force=False, image=None) Changed in version 2018.3.0: The repository and tag must now be passed separately using the \fBrepository\fP and \fBtag\fP arguments, rather than together in the (now deprecated) \fBimage\fP argument. @@ -143983,7 +153235,7 @@ This function will block until the container is stopped. Container name or ID .TP .B ignore_already_stopped -Boolean flag that prevent execution to fail, if a container +Boolean flag that prevents execution to fail, if a container is already stopped. .TP .B fail_on_exit_status @@ -145518,7 +154770,7 @@ DRBD administration module .INDENT 0.0 .TP .B salt.modules.drbd.overview() -Show status of the DRBD devices +Show status of the DRBD devices, support two nodes only. .sp CLI Example: .INDENT 7.0 @@ -145608,7 +154860,7 @@ salt \(aq*\(aq service.get_all .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dummyproxy_service.list() +.B salt.modules.dummyproxy_service.list_() Return a list of all available services. .sp New in version 2016.11.3. @@ -146152,7 +155404,32 @@ salt \(aq*\(aq pkg.purge pkgs=\(aq["foo", "bar"]\(aq .INDENT 0.0 .TP .B salt.modules.ebuild.refresh_db() -Updates the portage tree (emerge \-\-sync). Uses eix\-sync if available. +Update the portage tree using the first available method from the following +list: +.INDENT 7.0 +.IP \(bu 2 +emaint sync +.IP \(bu 2 +eix\-sync +.IP \(bu 2 +emerge\-webrsync +.IP \(bu 2 +emerge \-\-sync +.UNINDENT +.sp +To prevent the portage tree from being synced within one day of the +previous sync, add the following pillar data for this minion: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +portage: + sync_wait_one_day: True +.ft P +.fi +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -146628,7 +155905,7 @@ CLI example: .sp .nf .ft C -salt myminion elasticsearch.health +salt myminion elasticsearch.cluster_health .ft P .fi .UNINDENT @@ -146653,7 +155930,7 @@ CLI example: .sp .nf .ft C -salt myminion elasticsearch.stats +salt myminion elasticsearch.cluster_stats .ft P .fi .UNINDENT @@ -148103,7 +157380,7 @@ pillars. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.etcd_mod.get(key, recurse=False, profile=None, **kwargs) +.B salt.modules.etcd_mod.get_(key, recurse=False, profile=None, **kwargs) New in version 2014.7.0. .sp @@ -148126,7 +157403,7 @@ salt myminion etcd.get /path/to/key host=127.0.0.1 port=2379 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.etcd_mod.ls(path=u\(aq/\(aq, profile=None, **kwargs) +.B salt.modules.etcd_mod.ls_(path=u\(aq/\(aq, profile=None, **kwargs) New in version 2014.7.0. .sp @@ -148149,7 +157426,7 @@ salt myminion etcd.ls /path/to/dir/ host=127.0.0.1 port=2379 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.etcd_mod.rm(key, recurse=False, profile=None, **kwargs) +.B salt.modules.etcd_mod.rm_(key, recurse=False, profile=None, **kwargs) New in version 2014.7.0. .sp @@ -148173,7 +157450,7 @@ salt myminion etcd.rm /path/to/dir recurse=True profile=my_etcd_config .UNINDENT .INDENT 0.0 .TP -.B salt.modules.etcd_mod.set(key, value, profile=None, ttl=None, directory=False, **kwargs) +.B salt.modules.etcd_mod.set_(key, value, profile=None, ttl=None, directory=False, **kwargs) New in version 2014.7.0. .sp @@ -150758,6 +160035,10 @@ New in version 2018.3.0. .sp Changed in version 2018.3.1: If \fBlsattr\fP is not installed on the system, \fBNone\fP is returned. +.sp +Changed in version 2018.3.4: If on \fBAIX\fP, \fBNone\fP is returned even if in filesystem as lsattr on \fBAIX\fP +is not the same thing as the linux version. + .sp Obtain the modifiable attributes of the given file. If path is to a directory, an empty list is returned. @@ -150802,7 +160083,7 @@ salt \(aq*\(aq file.lstat /path/to/file .UNINDENT .INDENT 0.0 .TP -.B salt.modules.file.makedirs(path, user=None, group=None, mode=None) +.B salt.modules.file.makedirs_(path, user=None, group=None, mode=None) Ensure that the directory containing this path is available. .sp \fBNOTE:\fP @@ -150960,7 +160241,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq file.manage_file /etc/httpd/conf.d/httpd.conf \(aq\(aq \(aq{}\(aq salt://http/httpd.conf \(aq{hash_type: \(aqmd5\(aq, \(aqhsum\(aq: }\(aq root root \(aq755\(aq base \(aq\(aq +salt \(aq*\(aq file.manage_file /etc/httpd/conf.d/httpd.conf \(aq\(aq \(aq{}\(aq salt://http/httpd.conf \(aq{hash_type: \(aqmd5\(aq, \(aqhsum\(aq: }\(aq root root \(aq755\(aq \(aq\(aq base \(aq\(aq .ft P .fi .UNINDENT @@ -151487,7 +160768,7 @@ Replace occurrences of a pattern in a file. If \fBshow_changes\fP is \fBTrue\fP will be returned when changes are made, and \fBFalse\fP when no changes are made. .sp -This is a pure Python implementation that wraps Python\(aqs \fI\%sub()\fP\&. +This is a pure Python implementation that wraps Python\(aqs \fBsub()\fP\&. .INDENT 7.0 .TP .B path @@ -151496,7 +160777,7 @@ will be resolved to its target. .TP .B pattern A regular expression, to be matched using Python\(aqs -\fI\%search()\fP\&. +\fBsearch()\fP\&. .TP .B repl The replacement text @@ -153621,8 +162902,20 @@ salt \(aq*\(aq kmod.mod_list .UNINDENT .INDENT 0.0 .TP -.B salt.modules.freebsdkmod.remove(mod, persist=False) +.B salt.modules.freebsdkmod.remove(mod, persist=False, comment=True) Remove the specified kernel module +.INDENT 7.0 +.TP +.B mod +Name of module to remove +.TP +.B persist +Also remove module from /boot/loader.conf +.TP +.B comment +If persist is set don\(aqt remove line from /boot/loader.conf but only +comment it +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -154475,7 +163768,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.freebsdservice.reload(name, jail=None) +.B salt.modules.freebsdservice.reload_(name, jail=None) Restart the named service .sp Changed in version 2016.3.4. @@ -154556,9 +163849,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -154566,7 +163859,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -154670,7 +163963,7 @@ salt \(aq*\(aq gem.install redphone gem_bin=/opt/sensu/embedded/bin/gem .UNINDENT .INDENT 0.0 .TP -.B salt.modules.gem.list(prefix=u\(aq\(aq, ruby=None, runas=None, gem_bin=None) +.B salt.modules.gem.list_(prefix=u\(aq\(aq, ruby=None, runas=None, gem_bin=None) List locally installed gems. .INDENT 7.0 .TP @@ -155371,9 +164664,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -155381,7 +164674,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -156951,6 +166244,62 @@ salt myminion git.diff /path/to/repo no_index=True paths=path/to/file1,/absolute .UNINDENT .INDENT 0.0 .TP +.B salt.modules.git.discard_local_changes(cwd, path=u\(aq.\(aq, user=None, password=None, ignore_retcode=False, output_encoding=None) +New in version Fluorine. + +.sp +Runs a \fBgit checkout \-\- \fP from the directory specified by \fBcwd\fP\&. +.INDENT 7.0 +.TP +.B cwd +The path to the git checkout +.TP +.B path +path relative to cwd (defaults to \fB\&.\fP) +.TP +.B user +User under which to run the git command. By default, the command is run +by the user under which the minion is running. +.TP +.B password +Windows only. Required when specifying \fBuser\fP\&. This parameter will be +ignored on non\-Windows platforms. +.TP +.B ignore_retcode +False +If \fBTrue\fP, do not log an error to the minion log if the git command +returns a nonzero exit status. +.TP +.B output_encoding +Use this option to specify which encoding to use to decode the output +from any git commands which are run. This should not be needed in most +cases. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This should only be needed if the files in the repository were +created with filenames using an encoding other than UTF\-8 to handle +Unicode characters. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion git.discard_local_changes /path/to/repo +salt myminion git.discard_local_changes /path/to/repo path=foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.git.fetch(cwd, remote=None, force=False, refspecs=None, opts=u\(aq\(aq, git_opts=u\(aq\(aq, user=None, password=None, identity=None, ignore_retcode=False, saltenv=u\(aqbase\(aq, output_encoding=None) Changed in version 2015.8.2: Return data is now a dictionary containing information on branches and tags that were added/updated @@ -158429,15 +167778,23 @@ salt myminion git.remote_get /path/to/repo upstream .UNINDENT .INDENT 0.0 .TP -.B salt.modules.git.remote_refs(url, heads=False, tags=False, user=None, password=None, identity=None, https_user=None, https_pass=None, ignore_retcode=False, output_encoding=None, saltenv=u\(aqbase\(aq) +.B salt.modules.git.remote_refs(url, heads=False, tags=False, user=None, password=None, identity=None, https_user=None, https_pass=None, ignore_retcode=False, output_encoding=None, saltenv=u\(aqbase\(aq, **kwargs) New in version 2015.8.0. .sp -Return the remote refs for the specified URL +Return the remote refs for the specified URL by running \fBgit ls\-remote\fP\&. .INDENT 7.0 .TP .B url URL of the remote repository +.TP +.B filter +Optionally provide a ref name to \fBgit ls\-remote\fP\&. This can be useful +to make this function run faster on repositories with many +branches/tags. +.sp +New in version Fluorine. + .TP .B heads False @@ -158528,6 +167885,7 @@ CLI Example: .nf .ft C salt myminion git.remote_refs https://github.com/saltstack/salt.git +salt myminion git.remote_refs https://github.com/saltstack/salt.git filter=develop .ft P .fi .UNINDENT @@ -158977,7 +168335,7 @@ salt myminion git.revision /path/to/repo mybranch .UNINDENT .INDENT 0.0 .TP -.B salt.modules.git.rm(cwd, filename, opts=u\(aq\(aq, git_opts=u\(aq\(aq, user=None, password=None, ignore_retcode=False, output_encoding=None) +.B salt.modules.git.rm_(cwd, filename, opts=u\(aq\(aq, git_opts=u\(aq\(aq, user=None, password=None, ignore_retcode=False, output_encoding=None) Interface to \fI\%git\-rm(1)\fP .INDENT 7.0 .TP @@ -159486,6 +168844,108 @@ salt myminion git.symbolic_ref /path/to/repo FOO opts=\(aq\-\-delete\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.git.tag(cwd, name, ref=u\(aqHEAD\(aq, message=None, opts=u\(aq\(aq, git_opts=u\(aq\(aq, user=None, password=None, ignore_retcode=False, output_encoding=None) +New in version 2018.3.4. + +.sp +Interface to \fI\%git\-tag(1)\fP, adds and removes tags. +.INDENT 7.0 +.TP +.B cwd +The path to the main git checkout or a linked worktree +.TP +.B name +Name of the tag +.TP +.B ref +HEAD +Which ref to tag (defaults to local clone\(aqs HEAD) +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when either \fB\-d\fP or \fB\-\-delete\fP is +present in the \fBopts\fP passed to this function. +.UNINDENT +.UNINDENT +.TP +.B message +Optional message to include with the tag. If provided, an annotated tag +will be created. +.TP +.B opts +Any additional options to add to the command line, in a single string +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Additionally, on the Salt CLI, if the opts are preceded with a +dash, it is necessary to precede them with \fBopts=\fP (as in the CLI +examples below) to avoid causing errors with Salt\(aqs own argument +parsing. +.UNINDENT +.UNINDENT +.TP +.B git_opts +Any additional options to add to git command itself (not the +\fBworktree\fP subcommand), in a single string. This is useful for +passing \fB\-c\fP to run git with temporary changes to the git +configuration. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This is only supported in git 1.7.2 and newer. +.UNINDENT +.UNINDENT +.TP +.B user +User under which to run the git command. By default, the command is run +by the user under which the minion is running. +.TP +.B password +Windows only. Required when specifying \fBuser\fP\&. This parameter will be +ignored on non\-Windows platforms. +.TP +.B ignore_retcode +False +If \fBTrue\fP, do not log an error to the minion log if the git command +returns a nonzero exit status. +.TP +.B output_encoding +Use this option to specify which encoding to use to decode the output +from any git commands which are run. This should not be needed in most +cases. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This should only be needed if the files in the repository were +created with filenames using an encoding other than UTF\-8 to handle +Unicode characters. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Create an non\-annotated tag +salt myminion git.tag /path/to/repo v1.2 +# Create an annotated tag +salt myminion git.tag /path/to/repo v1.2 message=\(aqVersion 1.2\(aq +# Delete the tag +salt myminion git.tag /path/to/repo v1.2 opts=\(aq\-d\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.git.version(versioninfo=False) New in version 2015.8.0. @@ -161394,7 +170854,7 @@ salt \(aq*\(aq glusterfs.add_volume_bricks .UNINDENT .INDENT 0.0 .TP -.B salt.modules.glusterfs.create_volume(name, bricks, stripe=False, replica=False, device_vg=False, transport=u\(aqtcp\(aq, start=False, force=False) +.B salt.modules.glusterfs.create_volume(name, bricks, stripe=False, replica=False, device_vg=False, transport=u\(aqtcp\(aq, start=False, force=False, arbiter=False) Create a glusterfs volume .INDENT 7.0 .TP @@ -161409,6 +170869,12 @@ Stripe count, the number of bricks should be a multiple of the stripe co .TP .B replica Replica count, the number of bricks should be a multiple of the replica count for a distributed replicated volume +.TP +.B arbiter +If true, specifies volume should use arbiter brick(s). Valid configuration limited to "replica 3 arbiter 1" per Gluster documentation. Every third brick in the brick list is used as an arbiter brick. +.sp +New in version Fluorine. + .TP .B device_vg If true, specifies volume should use block backend instead of regular posix backend. Block device backend volume does not support multiple bricks @@ -161509,6 +170975,63 @@ salt \(aq*\(aq glusterfs.enable_quota_volume .UNINDENT .INDENT 0.0 .TP +.B salt.modules.glusterfs.get_max_op_version() +New in version Fluorine. + +.sp +Returns the glusterfs volume\(aqs max op\-version value +Requires Glusterfs version > 3.9 +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq glusterfs.get_max_op_version +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.glusterfs.get_op_version(name) +New in version Fluorine. + +.sp +Returns the glusterfs volume op\-version +.INDENT 7.0 +.TP +.B name +Name of the glusterfs volume +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq glusterfs.get_op_version +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.glusterfs.get_version() +New in version Fluorine. + +.sp +Returns the version of glusterfs. +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq glusterfs.get_version +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.glusterfs.info(name=None) New in version 2015.8.4. @@ -161659,6 +171182,31 @@ State: Peer in Cluster (Connected) .UNINDENT .INDENT 0.0 .TP +.B salt.modules.glusterfs.set_op_version(version) +New in version Fluorine. + +.sp +Set the glusterfs volume op\-version +.INDENT 7.0 +.TP +.B version +Version to set the glusterfs volume op\-version +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq glusterfs.set_op_version +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.glusterfs.set_quota_volume(name, path, size, enable_quota=False) Set quota to glusterfs volume. .INDENT 7.0 @@ -161964,7 +171512,7 @@ salt \(aq*\(aq gnome.setIdleDelay user= .UNINDENT .INDENT 0.0 .TP -.B salt.modules.gnomedesktop.set(schema=None, key=None, user=None, value=None, **kwargs) +.B salt.modules.gnomedesktop.set_(schema=None, key=None, user=None, value=None, **kwargs) Set key in a particular GNOME schema .sp CLI Example: @@ -161979,6 +171527,35 @@ salt \(aq*\(aq gnome.set user= schema=org.gnome.desktop.screensaver ke .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.google_chat +.sp +Module for sending messages to google chat. +.sp +New in version Fluorine. + +.sp +To use this module you need to configure a webhook in the google chat room +where you would like the message to be sent, see: +.INDENT 0.0 +.INDENT 3.5 +\fI\%https://developers.google.com/hangouts/chat/how\-tos/webhooks\fP +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.google_chat.send_message(url, message) +Send a message to the google chat room specified in the webhook url. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq google_chat.send_message "https://chat.googleapis.com/v1/spaces/example_space/messages?key=example_key" "This is a test message" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.gpg .sp Manage a GPG keychains, add keys, create keys, retrieve keys from keyservers. @@ -162572,7 +172149,7 @@ salt \(aq*\(aq gpg.trust_key keys=3FAD9F1E trust_level=\(aqultimately\(aq user=\ .UNINDENT .INDENT 0.0 .TP -.B salt.modules.gpg.verify(text=None, user=None, filename=None, gnupghome=None, signature=None) +.B salt.modules.gpg.verify(text=None, user=None, filename=None, gnupghome=None, signature=None, trustmodel=None) Verify a message or file .INDENT 7.0 .TP @@ -162595,6 +172172,31 @@ Specify the filename of a detached signature. .sp New in version 2018.3.0. +.TP +.B trustmodel +.INDENT 7.0 +.TP +.B Explicitly define the used trust model. One of: +.INDENT 7.0 +.IP \(bu 2 +pgp +.IP \(bu 2 +classic +.IP \(bu 2 +tofu +.IP \(bu 2 +tofu+pgp +.IP \(bu 2 +direct +.IP \(bu 2 +always +.IP \(bu 2 +auto +.UNINDENT +.UNINDENT +.sp +New in version fluorine. + .UNINDENT .sp CLI Example: @@ -162606,6 +172208,7 @@ CLI Example: salt \(aq*\(aq gpg.verify text=\(aqHello there. How are you?\(aq salt \(aq*\(aq gpg.verify filename=\(aq/path/to/important.file\(aq salt \(aq*\(aq gpg.verify filename=\(aq/path/to/important.file\(aq use_passphrase=True +salt \(aq*\(aq gpg.verify filename=\(aq/path/to/important.file\(aq trustmodel=direct .ft P .fi .UNINDENT @@ -164686,6 +174289,31 @@ Returns True if the file is present .UNINDENT .INDENT 0.0 .TP +.B salt.modules.hadoop.dfsadmin_report(arg=None) +New in version Fluorine. + +.sp +Reports basic filesystem information and statistics. Optional flags may be used to filter the list of displayed DataNodes. +.INDENT 7.0 +.TP +.B arg +[live] [dead] [decommissioning] +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq hadoop.dfsadmin \-report +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.hadoop.namenode_format(force=None) Format a name node .INDENT 7.0 @@ -166447,8 +176075,13 @@ New in version 2015.5.0. .B salt.modules.http.query(url, **kwargs) Query a resource, and decode the return data .sp -New in version 2015.5.0. - +Passes through all the parameters described in the +\fI\%utils.http.query function\fP: +.INDENT 7.0 +.TP +.B salt.utils.http.query(url, method=u\(aqGET\(aq, params=None, data=None, data_file=None, header_dict=None, header_list=None, header_file=None, username=None, password=None, auth=None, decode=False, decode_type=u\(aqauto\(aq, status=False, headers=False, text=False, cookies=None, cookie_jar=None, cookie_format=u\(aqlwp\(aq, persist_session=False, session_cookie_jar=None, data_render=False, data_renderer=None, header_render=False, header_renderer=None, template_dict=None, test=False, test_url=None, node=u\(aqminion\(aq, port=80, opts=None, backend=None, ca_bundle=None, verify_ssl=None, cert=None, text_out=None, headers_out=None, decode_out=None, stream=False, streaming_callback=None, header_callback=None, handle=False, agent=u\(aqSalt/2019.2.0\(aq, hide_fields=None, raise_error=True, **kwargs) +Query a resource, and decode the return data +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -167255,7 +176888,7 @@ of these settings via keyword arguments: .sp .nf .ft C -salt \(aq*\(aq influxdb.foo_function user=\(aqinfluxadmin\(aq password=\(aqs3cr1t\(aq +salt \(aq*\(aq influxdb.foo_function user=\(aqinfluxadmin\(aq passwd=\(aqs3cr1t\(aq .ft P .fi .UNINDENT @@ -167438,14 +177071,14 @@ salt \(aq*\(aq influxdb.create_retention_policy metrics default 1d 1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.create_user(name, password, admin=False, **client_args) +.B salt.modules.influx.create_user(name, passwd, admin=False, **client_args) Create a user. .INDENT 7.0 .TP .B name Name of the user to create. .TP -.B password +.B passwd Password of the new user. .TP .B admin @@ -167809,14 +177442,14 @@ Name of the user to grant the privilege to. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.set_user_password(name, password, **client_args) +.B salt.modules.influx.set_user_password(name, passwd, **client_args) Change password of a user. .INDENT 7.0 .TP .B name Name of the user for whom to set the password. .TP -.B password +.B passwd New password of the user. .UNINDENT .sp @@ -170040,6 +179673,312 @@ salt myminion introspect.service_highstate requires=False .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.iosconfig module +.sp +Cisco IOS configuration manipulation helpers +.sp +New in version Fluorine. + +.sp +This module provides a collection of helper functions for Cisco IOS style +configuration manipulation. This module does not have external dependencies +and can be used from any Proxy or regular Minion. +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.clean(config=None, path=None, saltenv=u\(aqbase\(aq) +Return a clean version of the config, without any special signs (such as +\fB!\fP as an individual line) or empty lines, but just lines with significant +value in the configuration of the network device. +.INDENT 7.0 +.TP +.B config +The configuration sent as text. This argument is ignored when \fBpath\fP +is configured. +.TP +.B path +Absolute or remote path from where to load the configuration text. This +argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBpath\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.clean path=salt://path/to/my/config.txt +salt \(aq*\(aq iosconfig.clean path=https://bit.ly/2mAdq7z +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.diff_text(candidate_config=None, candidate_path=None, running_config=None, running_path=None, saltenv=u\(aqbase\(aq) +Return the diff, as text, between the candidate and the running config. +.INDENT 7.0 +.TP +.B candidate_config +The candidate configuration sent as text. This argument is ignored when +\fBcandidate_path\fP is set. +.TP +.B candidate_path +Absolute or remote path from where to load the candidate configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B running_config +The running configuration sent as text. This argument is ignored when +\fBrunning_path\fP is set. +.TP +.B running_path +Absolute or remote path from where to load the runing configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBcandidate_path\fP or \fBrunning_path\fP is not a +\fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.diff_text candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.diff_tree(candidate_config=None, candidate_path=None, running_config=None, running_path=None, saltenv=u\(aqbase\(aq) +Return the diff, as Python dictionary, between the candidate and the running +configuration. +.INDENT 7.0 +.TP +.B candidate_config +The candidate configuration sent as text. This argument is ignored when +\fBcandidate_path\fP is set. +.TP +.B candidate_path +Absolute or remote path from where to load the candidate configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B running_config +The running configuration sent as text. This argument is ignored when +\fBrunning_path\fP is set. +.TP +.B running_path +Absolute or remote path from where to load the runing configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBcandidate_path\fP or \fBrunning_path\fP is not a +\fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.diff_tree candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.merge_diff(initial_config=None, initial_path=None, merge_config=None, merge_path=None, saltenv=u\(aqbase\(aq) +Return the merge diff, as text, after merging the merge config into the +initial config. +.INDENT 7.0 +.TP +.B initial_config +The initial configuration sent as text. This argument is ignored when +\fBinitial_path\fP is set. +.TP +.B initial_path +Absolute or remote path from where to load the initial configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B merge_config +The config to be merged into the initial config, sent as text. This +argument is ignored when \fBmerge_path\fP is set. +.TP +.B merge_path +Absolute or remote path from where to load the merge configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBinitial_path\fP or \fBmerge_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.merge_diff initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.merge_text(initial_config=None, initial_path=None, merge_config=None, merge_path=None, saltenv=u\(aqbase\(aq) +Return the merge result of the \fBinitial_config\fP with the \fBmerge_config\fP, +as plain text. +.INDENT 7.0 +.TP +.B initial_config +The initial configuration sent as text. This argument is ignored when +\fBinitial_path\fP is set. +.TP +.B initial_path +Absolute or remote path from where to load the initial configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B merge_config +The config to be merged into the initial config, sent as text. This +argument is ignored when \fBmerge_path\fP is set. +.TP +.B merge_path +Absolute or remote path from where to load the merge configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBinitial_path\fP or \fBmerge_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.merge_text initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.merge_tree(initial_config=None, initial_path=None, merge_config=None, merge_path=None, saltenv=u\(aqbase\(aq) +Return the merge tree of the \fBinitial_config\fP with the \fBmerge_config\fP, +as a Python dictionary. +.INDENT 7.0 +.TP +.B initial_config +The initial configuration sent as text. This argument is ignored when +\fBinitial_path\fP is set. +.TP +.B initial_path +Absolute or remote path from where to load the initial configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B merge_config +The config to be merged into the initial config, sent as text. This +argument is ignored when \fBmerge_path\fP is set. +.TP +.B merge_path +Absolute or remote path from where to load the merge configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBinitial_path\fP or \fBmerge_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.merge_tree initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.iosconfig.tree(config=None, path=None, with_tags=False, saltenv=u\(aqbase\(aq) +Transform Cisco IOS style configuration to structured Python dictionary. +Depending on the value of the \fBwith_tags\fP argument, this function may +provide different views, valuable in different situations. +.INDENT 7.0 +.TP +.B config +The configuration sent as text. This argument is ignored when \fBpath\fP +is configured. +.TP +.B path +Absolute or remote path from where to load the configuration text. This +argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B with_tags: \fBFalse\fP +Whether this function should return a detailed view, with tags. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBpath\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq iosconfig.tree path=salt://path/to/my/config.txt +salt \(aq*\(aq iosconfig.tree path=https://bit.ly/2mAdq7z +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.ipmi .sp Support IPMI commands over LAN. This module does not talk to the local @@ -172338,7 +182277,7 @@ salt \(aq*\(aq jboss7.read_simple_binding \(aq{"cli_path": "integration.modules. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.jboss7.reload(jboss_config, host=None) +.B salt.modules.jboss7.reload_(jboss_config, host=None) Reload running jboss instance .INDENT 7.0 .TP @@ -173074,6 +183013,186 @@ salt \(aq*\(aq jenkins.update_job jobname config_xml=\(aqsalt://jenkins/config.x .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.jira_mod module +.SS JIRA Execution module +.sp +New in version Fluorine. + +.sp +Execution module to manipulate JIRA tickets via Salt. +.sp +This module requires the \fBjira\fP Python library to be installed. +.sp +Configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +jira: + server: https://jira.atlassian.org + username: salt + password: pass +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.jira_mod.add_comment(issue_key, comment, visibility=None, is_internal=False, server=None, username=None, password=None) +Add a comment to an existing ticket. Return \fBTrue\fP when it successfully +added the comment. +.INDENT 7.0 +.TP +.B issue_key +The issue ID to add the comment to. +.TP +.B comment +The body of the comment to be added. +.TP +.B visibility: \fBNone\fP +A dictionary having two keys: +.INDENT 7.0 +.IP \(bu 2 +\fBtype\fP: is \fBrole\fP (or \fBgroup\fP if the JIRA server has configured +comment visibility for groups). +.IP \(bu 2 +\fBvalue\fP: the name of the role (or group) to which viewing of this +comment will be restricted. +.UNINDENT +.TP +.B is_internal: \fBFalse\fP +Whether a comment has to be marked as \fBInternal\fP in Jira Service Desk. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq jira.add_comment NE\-123 \(aqThis is a comment\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.jira_mod.assign_issue(issue_key, assignee, server=None, username=None, password=None) +Assign the issue to an existing user. Return \fBTrue\fP when the issue has +been properly assigned. +.INDENT 7.0 +.TP +.B issue_key +The JIRA ID of the ticket to manipulate. +.TP +.B assignee +The name of the user to assign the ticket to. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq jira.assign_issue NET\-123 example_user +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.jira_mod.create_issue(project, summary, description, template_engine=u\(aqjinja\(aq, context=None, defaults=None, saltenv=u\(aqbase\(aq, issuetype=u\(aqBug\(aq, priority=u\(aqNormal\(aq, labels=None, assignee=None, server=None, username=None, password=None, **kwargs) +Create a JIRA issue using the named settings. Return the JIRA ticket ID. +.INDENT 7.0 +.TP +.B project +The name of the project to attach the JIRA ticket to. +.TP +.B summary +The summary (title) of the JIRA ticket. When the \fBtemplate_engine\fP +argument is set to a proper value of an existing Salt template engine +(e.g., \fBjinja\fP, \fBmako\fP, etc.) it will render the \fBsummary\fP before +creating the ticket. +.TP +.B description +The full body description of the JIRA ticket. When the \fBtemplate_engine\fP +argument is set to a proper value of an existing Salt template engine +(e.g., \fBjinja\fP, \fBmako\fP, etc.) it will render the \fBdescription\fP before +creating the ticket. +.TP +.B template_engine: \fBjinja\fP +The name of the template engine to be used to render the values of the +\fBsummary\fP and \fBdescription\fP arguments. Default: \fBjinja\fP\&. +.TP +.B context: \fBNone\fP +The context to pass when rendering the \fBsummary\fP and \fBdescription\fP\&. +This argument is ignored when \fBtemplate_engine\fP is set as \fBNone\fP +.TP +.B defaults: \fBNone\fP +Default values to pass to the Salt rendering pipeline for the +\fBsummary\fP and \fBdescription\fP arguments. +This argument is ignored when \fBtemplate_engine\fP is set as \fBNone\fP\&. +.TP +.B saltenv: \fBbase\fP +The Salt environment name (for the rendering system). +.TP +.B issuetype: \fBBug\fP +The type of the JIRA ticket. Default: \fBBug\fP\&. +.TP +.B priority: \fBNormal\fP +The priority of the JIRA ticket. Default: \fBNormal\fP\&. +.TP +.B labels: \fBNone\fP +A list of labels to add to the ticket. +.TP +.B assignee: \fBNone\fP +The name of the person to assign the ticket to. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq jira.create_issue NET \(aqTicket title\(aq \(aqTicket description\(aq +salt \(aq*\(aq jira.create_issue NET \(aqIssue on {{ opts.id }}\(aq \(aqError detected on {{ opts.id }}\(aq template_engine=jinja +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.jira_mod.issue_closed(issue_key, server=None, username=None, password=None) +Check if the issue is closed. +.INDENT 7.0 +.TP +.B issue_key +The JIRA iD of the ticket to close. +.UNINDENT +.sp +Returns: +.INDENT 7.0 +.IP \(bu 2 +\fBTrue\fP: the ticket exists and it is closed. +.IP \(bu 2 +\fBFalse\fP: the ticket exists and it has not been closed. +.IP \(bu 2 +\fBNone\fP: the ticket does not exist. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq jira.issue_closed NE\-123 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.junos .sp Module to interact with Junos devices. @@ -174133,16 +184252,32 @@ kapacitor.port: 9092 .fi .UNINDENT .UNINDENT +.sp +New in version 2016.11.0. + +.sp +Also protocol and SSL settings could be configured: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +kapacitor.unsafe_ssl: \(aqfalse\(aq +kapacitor.protocol: \(aqhttp\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .sp This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar. .UNINDENT -.sp -New in version 2016.11.0. - .INDENT 0.0 .TP -.B salt.modules.kapacitor.define_task(name, tick_script, task_type=u\(aqstream\(aq, database=None, retention_policy=u\(aqdefault\(aq) +.B salt.modules.kapacitor.define_task(name, tick_script, task_type=u\(aqstream\(aq, database=None, retention_policy=u\(aqdefault\(aq, dbrps=None) Define a task. Serves as both create/update. .INDENT 7.0 .TP @@ -174154,10 +184289,17 @@ Path to the TICK script for the task. Can be a salt:// source. .TP .B task_type Task type. Defaults to \(aqstream\(aq +.TP +.B dbrps +A list of databases and retention policies in "dbname"."rpname" format +to fetch data from. For backward compatibility, the value of +\(aqdatabase\(aq and \(aqretention_policy\(aq will be merged as part of dbrps. +.sp +New in version Fluorine. + .TP .B database -Which database to fetch data from. Defaults to None, which will use the -default database in InfluxDB. +Which database to fetch data from. .TP .B retention_policy Which retention policy to fetch data from. Defaults to \(aqdefault\(aq. @@ -176903,45 +187045,57 @@ the minion\(aqs config file, or in master\(aqs config file: .sp .nf .ft C -kubernetes.user: admin -kubernetes.password: verybadpass -kubernetes.api_url: \(aqhttp://127.0.0.1:8080\(aq -kubernetes.certificate\-authority\-data: \(aq...\(aq -kubernetes.client\-certificate\-data: \(aq....n -kubernetes.client\-key\-data: \(aq...\(aq -kubernetes.certificate\-authority\-file: \(aq/path/to/ca.crt\(aq -kubernetes.client\-certificate\-file: \(aq/path/to/client.crt\(aq -kubernetes.client\-key\-file: \(aq/path/to/client.key\(aq +kubernetes.kubeconfig: \(aq/path/to/kubeconfig\(aq +kubernetes.kubeconfig\-data: \(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.memcached.set(key, value, host=u\(aq127.0.0.1\(aq, port=11211, time=0, min_compress_len=0) +.B salt.modules.memcached.set_(key, value, host=u\(aq127.0.0.1\(aq, port=11211, time=0, min_compress_len=0) Set a key on the memcached server, overwriting the value if it exists. .sp CLI Example: @@ -192247,7 +202431,7 @@ salt \(aq*\(aq mine.flush .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mine.get(tgt, fun, tgt_type=u\(aqglob\(aq, exclude_minion=False, expr_form=None) +.B salt.modules.mine.get(tgt, fun, tgt_type=u\(aqglob\(aq, exclude_minion=False) Get data from the mine based on the target, function and tgt_type .sp Targets can be matched based on any standard matching system that can be @@ -192512,7 +202696,7 @@ is success, anything else is a failure. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.minion.list() +.B salt.modules.minion.list_() Return a list of accepted, denied, unaccepted and rejected keys. This is the same output as \fIsalt\-key \-L\fP .sp @@ -192661,7 +202845,7 @@ salt \(aq*\(aq random.hash \(aqI am a string\(aq md5 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mod_random.rand_int(start=1, end=10) +.B salt.modules.mod_random.rand_int(start=1, end=10, seed=None) Returns a random integer number between the start and end number. .INDENT 7.0 .TP @@ -192672,7 +202856,13 @@ Any valid integer number .B end 10 Any valid integer number +.TP +.B seed : +Optional hashable object .UNINDENT +.sp +Changed in version Fluorine: Added seed argument. Will return the same result when run with the same seed. + .sp CLI Example: .INDENT 7.0 @@ -193507,7 +203697,7 @@ salt \(aq*\(aq monit.configtest .UNINDENT .INDENT 0.0 .TP -.B salt.modules.monit.id(reset=False) +.B salt.modules.monit.id_(reset=False) New in version 2016.3.0. .sp @@ -193550,7 +203740,7 @@ salt \(aq*\(aq monit.monitor .UNINDENT .INDENT 0.0 .TP -.B salt.modules.monit.reload() +.B salt.modules.monit.reload_() New in version 2016.3.0. .sp @@ -195219,12 +205409,14 @@ salt \(aq*\(aq mysql.grant_revoke \(aqSELECT,INSERT,UPDATE\(aq \(aqd .B salt.modules.mysql.processlist(**connection_args) Retrieves the processlist from the MySQL server via "SHOW FULL PROCESSLIST". +.sp +Returns: a list of dicts, with each dict representing a process: .INDENT 7.0 -.TP -.B Returns: a list of dicts, with each dict representing a process: -.INDENT 7.0 -.TP -.B {\(aqCommand\(aq: \(aqQuery\(aq, +.INDENT 3.5 +.sp +.nf +.ft C +{\(aqCommand\(aq: \(aqQuery\(aq, \(aqHost\(aq: \(aqlocalhost\(aq, \(aqId\(aq: 39, \(aqInfo\(aq: \(aqSHOW FULL PROCESSLIST\(aq, @@ -195235,6 +205427,8 @@ Retrieves the processlist from the MySQL server via \(aqTime\(aq: 0, \(aqUser\(aq: \(aqroot\(aq, \(aqdb\(aq: \(aqmysql\(aq} +.ft P +.fi .UNINDENT .UNINDENT .sp @@ -195715,6 +205909,24 @@ salt \(aq*\(aq mysql.user_remove frank localhost .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mysql.verify_login(user, password=None, **connection_args) +Attempt to login using the provided credentials. +If successful, return true. Otherwise, return False. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq mysql.verify_login root password +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mysql.version(**connection_args) Return the version of a MySQL server using the output from the \fBSELECT VERSION()\fP query. @@ -197966,191 +208178,6 @@ salt \(aqmy\-minion\(aq namecheap_users.get_balances .UNINDENT .UNINDENT .UNINDENT -.SS salt.modules.napalm module -.SS NAPALM helpers -.sp -Helpers for the NAPALM modules. -.sp -New in version 2017.7.0. - -.INDENT 0.0 -.TP -.B salt.modules.napalm.alive(*args, **kwargs) -Returns the alive status of the connection layer. -The output is a dictionary under the usual dictionary -output of the NAPALM modules. -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq napalm.alive -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Output Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -result: True -out: - is_alive: False -comment: \(aq\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.napalm.call(*args, **kwargs) -Execute arbitrary methods from the NAPALM library. -To see the expected output, please consult the NAPALM documentation. -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -This feature is not recommended to be used in production. -It should be used for testing only! -.UNINDENT -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq napalm.call get_lldp_neighbors -salt \(aq*\(aq napalm.call get_firewall_policies -salt \(aq*\(aq napalm.call get_bgp_config group=\(aqmy\-group\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.napalm.compliance_report(*args, **kwargs) -Return the compliance report. -.INDENT 7.0 -.TP -.B filepath -The absolute path to the validation file. -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq napalm.compliance_report ~/validate.yml -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Validation File Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -\- get_facts: - os_version: 4.17 - -\- get_interfaces_ip: - Management1: - ipv4: - 10.0.2.14: - prefix_length: 24 - _mode: strict -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Output Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -device1: - \-\-\-\-\-\-\-\-\-\- - comment: - out: - \-\-\-\-\-\-\-\-\-\- - complies: - False - get_facts: - \-\-\-\-\-\-\-\-\-\- - complies: - False - extra: - missing: - present: - \-\-\-\-\-\-\-\-\-\- - os_version: - \-\-\-\-\-\-\-\-\-\- - actual_value: - 15.1F6\-S1.4 - complies: - False - nested: - False - get_interfaces_ip: - \-\-\-\-\-\-\-\-\-\- - complies: - False - extra: - missing: - \- Management1 - present: - \-\-\-\-\-\-\-\-\-\- - skipped: - result: - True -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.napalm.reconnect(*args, **kwargs) -Reconnect the NAPALM proxy when the connection -is dropped by the network device. -The connection can be forced to be restarted -using the \fBforce\fP argument. -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -This function can be used only when running proxy minions. -.UNINDENT -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq napalm.reconnect -salt \(aq*\(aq napalm.reconnect force=True -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT .SS salt.modules.napalm_acl module .SS NAPALM ACL .sp @@ -199367,6 +209394,2191 @@ Output Example: .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.napalm_formula module +.SS NAPALM Formula helpers +.sp +New in version Fluorine. + +.sp +This is an Execution Module providing helpers for various NAPALM formulas, +e.g., napalm\-interfaces\-formula, napalm\-bgp\-formula, napalm\-ntp\-formula etc., +meant to provide various helper functions to make the templates more readable. +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.container_path(model, key=None, container=None, delim=\(aq:\(aq) +Return the list of all the possible paths in a container, down to the +\fBconfig\fP container. +This function can be used to verify that the \fBmodel\fP is a Python object +correctly structured and respecting the OpenConfig hierarchy. +.INDENT 7.0 +.TP +.B model +The OpenConfig\-structured object to inspect. +.TP +.B delim: \fB:\fP +The key delimiter. In particular cases, it is indicated to use \fB//\fP +as \fB:\fP might be already used in various cases, e.g., IPv6 addresses, +interface name (e.g., Juniper QFX series), etc. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm_formula.container_path "{\(aqinterfaces\(aq: {\(aqinterface\(aq: {\(aqEthernet1\(aq: {\(aqconfig\(aq: {\(aqname\(aq: \(aqEthernet1\(aq}}}}}" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The example above would return a list with the following element: +\fBinterfaces:interface:Ethernet1:config\fP which is the only possible path +in that hierarchy. +.sp +Other output examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- interfaces:interface:Ethernet1:config +\- interfaces:interface:Ethernet1:subinterfaces:subinterface:0:config +\- interfaces:interface:Ethernet2:config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.defaults(model, defaults_, delim=u\(aq//\(aq, flipped_merge=False) +Apply the defaults to a Python dictionary having the structure as described +in the OpenConfig standards. +.INDENT 7.0 +.TP +.B model +The OpenConfig model to apply the defaults to. +.TP +.B defaults +The dictionary of defaults. This argument must equally be structured +with respect to the OpenConfig standards. +.sp +For ease of use, the keys of these support glob matching, therefore +we don\(aqt have to provide the defaults for each entity but only for +the entity type. See an example below. +.TP +.B delim: \fB//\fP +The key delimiter to use. Generally, \fB//\fP should cover all the possible +cases, and you don\(aqt need to override this value. +.TP +.B flipped_merge: \fBFalse\fP +Whether should merge the model into the defaults, or the defaults +into the model. Default: \fBFalse\fP (merge the model into the defaults, +i.e., any defaults would be overridden by the values from the \fBmodel\fP). +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm_formula.defaults "{\(aqinterfaces\(aq: {\(aqinterface\(aq: {\(aqEthernet1\(aq: {\(aqconfig\(aq: {\(aqname\(aq: \(aqEthernet1\(aq}}}}}" "{\(aqinterfaces\(aq: {\(aqinterface\(aq: {\(aq*\(aq: {\(aqconfig\(aq: {\(aqenabled\(aq: True}}}}}" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +As one can notice in the example above, the \fB*\fP corresponds to the +interface name, therefore, the defaults will be applied on all the +interfaces. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.dictupdate(dest, upd, recursive_update=True, merge_lists=False) +Recursive version of the default dict.update +.sp +Merges upd recursively into dest +.sp +If recursive_update=False, will use the classic dict.update, or fall back +on a manual merge (helpful for non\-dict types like \fBFunctionWrapper\fP). +.sp +If \fBmerge_lists=True\fP, will aggregate list object types instead of replace. +The list in \fBupd\fP is added to the list in \fBdest\fP, so the resulting list +is \fBdest[key] + upd[key]\fP\&. This behaviour is only activated when +\fBrecursive_update=True\fP\&. By default \fBmerge_lists=False\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.render_field(dictionary, field, prepend=None, append=None, quotes=False, **opts) +Render a field found under the \fBfield\fP level of the hierarchy in the +\fBdictionary\fP object. +This is useful to render a field in a Jinja template without worrying that +the hierarchy might not exist. For example if we do the following in Jinja: +\fB{{ interfaces.interface.Ethernet5.config.description }}\fP for the +following object: +\fB{\(aqinterfaces\(aq: {\(aqinterface\(aq: {\(aqEthernet1\(aq: {\(aqconfig\(aq: {\(aqenabled\(aq: True}}}}}\fP +it would error, as the \fBEthernet5\fP key does not exist. +With this helper, we can skip this and avoid existence checks. This must be +however used with care. +.INDENT 7.0 +.TP +.B dictionary +The dictionary to traverse. +.TP +.B field +The key name or part to traverse in the \fBdictionary\fP\&. +.TP +.B prepend: \fBNone\fP +The text to prepend in front of the text. Usually, we need to have the +name of the field too when generating the configuration. +.TP +.B append: \fBNone\fP +Text to append at the end. +.TP +.B quotes: \fBFalse\fP +Whether should wrap the text around quotes. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm_formula.render_field "{\(aqenabled\(aq: True}" enabled +# This would return the value of the \(ga\(gaenabled\(ga\(ga leaf key +salt \(aq*\(aq napalm_formula.render_field "{\(aqenabled\(aq: True}" description +# This would not error +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Jinja usage example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{%\- set config = {\(aqenabled\(aq: True, \(aqdescription\(aq: \(aqInterface description\(aq} %} +{{ salt.napalm_formula.render_field(config, \(aqdescription\(aq, quotes=True) }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The example above would be rendered on Arista / Cisco as: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +description "Interface description" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +While on Junos (the semicolon is important to be added, otherwise the +configuration won\(aqt be accepted by Junos): +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +description "Interface description"; +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.render_fields(dictionary, *fields, **opts) +This function works similarly to +\fI\%render_field\fP but for a +list of fields from the same dictionary, rendering, indenting and +distributing them on separate lines. +.INDENT 7.0 +.TP +.B dictionary +The dictionary to traverse. +.TP +.B fields +A list of field names or paths in the dictionary. +.TP +.B indent: \fB0\fP +The indentation to use, prepended to the rendered field. +.TP +.B separator: \fB\en\fP +The separator to use between fields. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm_formula.render_fields "{\(aqmtu\(aq: 68, \(aqdescription\(aq: \(aqInterface description\(aq}" mtu description +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Jinja usage example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{%\- set config={\(aqmtu\(aq: 68, \(aqdescription\(aq: \(aqInterface description\(aq} %} +{{ salt.napalm_formula.render_fields(config, \(aqmtu\(aq, \(aqdescription\(aq, quotes=True) }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The Jinja example above would generate the following configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +mtu "68" +description "Interface description" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.setval(key, val, dict_=None, delim=\(aq:\(aq) +Set a value under the dictionary hierarchy identified +under the key. The target \(aqfoo/bar/baz\(aq returns the +dictionary hierarchy {\(aqfoo\(aq: {\(aqbar\(aq: {\(aqbaz\(aq: {}}}}. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Currently this doesn\(aqt work with integers, i.e. +cannot build lists dynamically. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq formula.setval foo:baz:bar True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_formula.traverse(data, key, default=None, delimiter=\(aq:\(aq) +Traverse a dict or list using a colon\-delimited (or otherwise delimited, +using the \fBdelimiter\fP param) target string. The target \fBfoo:bar:0\fP will +return \fBdata[\(aqfoo\(aq][\(aqbar\(aq][0]\fP if this value exists, and will otherwise +return the dict in the default argument. +Function will automatically determine the target type. +The target \fBfoo:bar:0\fP will return data[\(aqfoo\(aq][\(aqbar\(aq][0] if data like +\fB{\(aqfoo\(aq:{\(aqbar\(aq:[\(aqbaz\(aq]}}\fP , if data like \fB{\(aqfoo\(aq:{\(aqbar\(aq:{\(aq0\(aq:\(aqbaz\(aq}}}\fP +then \fBreturn data[\(aqfoo\(aq][\(aqbar\(aq][\(aq0\(aq]\fP +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm_formula.traverse "{\(aqfoo\(aq: {\(aqbar\(aq: {\(aqbaz\(aq: True}}}" foo:baz:bar +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.napalm_mod module +.SS NAPALM helpers +.sp +Helpers for the NAPALM modules. +.sp +New in version 2017.7.0. + +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.alive(*args, **kwargs) +Returns the alive status of the connection layer. +The output is a dictionary under the usual dictionary +output of the NAPALM modules. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.alive +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +result: True +out: + is_alive: False +comment: \(aq\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.call(*args, **kwargs) +Execute arbitrary methods from the NAPALM library. +To see the expected output, please consult the NAPALM documentation. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature is not recommended to be used in production. +It should be used for testing only! +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.call get_lldp_neighbors +salt \(aq*\(aq napalm.call get_firewall_policies +salt \(aq*\(aq napalm.call get_bgp_config group=\(aqmy\-group\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.compliance_report(*args, **kwargs) +Return the compliance report. +.INDENT 7.0 +.TP +.B filepath +The absolute path to the validation file. +.sp +Changed in version Fluorine. + +.sp +Beginning with release codename \fBFluorine\fP, this function has been +enhanced, to be able to leverage the multi\-engine template rendering +of Salt, besides the possibility to retrieve the file source from +remote systems, the URL schemes supported being: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP +.IP \(bu 2 +\fBhttp://\fP and \fBhttps://\fP +.IP \(bu 2 +\fBftp://\fP +.IP \(bu 2 +\fBs3://\fP +.IP \(bu 2 +\fBswift:/\fP +.UNINDENT +.sp +Or on the local file system (on the Minion). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +The rendering result does not necessarily need to be YAML, instead +it can be any format interpreted by Salt\(aqs rendering pipeline +(including pure Python). +.UNINDENT +.UNINDENT +.TP +.B string +New in version Fluorine. + +.sp +The compliance report send as inline string, to be used as the file to +send through the renderer system. Note, not all renderer modules can +work with strings; the \(aqpy\(aq renderer requires a file, for example. +.TP +.B renderer: \fBjinja|yaml\fP +New in version Fluorine. + +.sp +The renderer pipe to send the file through; this is overridden by a +"she\-bang" at the top of the file. +.TP +.B kwargs +Changed in version Fluorine. + +.sp +Keyword args to pass to Salt\(aqs compile_template() function. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.compliance_report ~/validate.yml +salt \(aq*\(aq napalm.compliance_report salt://path/to/validator.sls +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Validation File Example (pure YAML): +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- get_facts: + os_version: 4.17 + +\- get_interfaces_ip: + Management1: + ipv4: + 10.0.2.14: + prefix_length: 24 + _mode: strict +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Validation File Example (as Jinja + YAML): +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- get_facts: + os_version: {{ grains.version }} +\- get_interfaces_ip: + Loopback0: + ipv4: + {{ grains.lo0.ipv4 }}: + prefix_length: 24 + _mode: strict +\- get_bgp_neighbors: {{ pillar.bgp.neighbors }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +device1: + \-\-\-\-\-\-\-\-\-\- + comment: + out: + \-\-\-\-\-\-\-\-\-\- + complies: + False + get_facts: + \-\-\-\-\-\-\-\-\-\- + complies: + False + extra: + missing: + present: + \-\-\-\-\-\-\-\-\-\- + os_version: + \-\-\-\-\-\-\-\-\-\- + actual_value: + 15.1F6\-S1.4 + complies: + False + nested: + False + get_interfaces_ip: + \-\-\-\-\-\-\-\-\-\- + complies: + False + extra: + missing: + \- Management1 + present: + \-\-\-\-\-\-\-\-\-\- + skipped: + result: + True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_diff_text(source1=u\(aqcandidate\(aq, candidate_path=None, source2=u\(aqrunning\(aq, running_path=None) +New in version Fluorine. + +.sp +Return the diff, as text, between the two different configuration sources. +The sources can be either specified using the \fBsource1\fP and \fBsource2\fP +arguments when retrieving from the managed network device. +.INDENT 7.0 +.TP +.B source1: \fBcandidate\fP +The source from where to retrieve the configuration to be compared with. +Available options: \fBcandidate\fP, \fBrunning\fP, \fBstartup\fP\&. Default: +\fBcandidate\fP\&. +.TP +.B candidate_path +Absolute or remote path from where to load the candidate configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B source2: \fBrunning\fP +The source from where to retrieve the configuration to compare with. +Available options: \fBcandidate\fP, \fBrunning\fP, \fBstartup\fP\&. Default: +\fBrunning\fP\&. +.TP +.B running_path +Absolute or remote path from where to load the runing configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBcandidate_path\fP or \fBrunning_path\fP is not a +\fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_diff_text +salt \(aq*\(aq napalm.config_diff_text candidate_path=https://bit.ly/2mAdq7z +# Would compare the running config with the configuration available at +# https://bit.ly/2mAdq7z +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_diff_tree(source1=u\(aqcandidate\(aq, candidate_path=None, source2=u\(aqrunning\(aq, running_path=None) +New in version Fluorine. + +.sp +Return the diff, as Python dictionary, between two different sources. +The sources can be either specified using the \fBsource1\fP and \fBsource2\fP +arguments when retrieving from the managed network device. +.INDENT 7.0 +.TP +.B source1: \fBcandidate\fP +The source from where to retrieve the configuration to be compared with. +Available options: \fBcandidate\fP, \fBrunning\fP, \fBstartup\fP\&. Default: +\fBcandidate\fP\&. +.TP +.B candidate_path +Absolute or remote path from where to load the candidate configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B source2: \fBrunning\fP +The source from where to retrieve the configuration to compare with. +Available options: \fBcandidate\fP, \fBrunning\fP, \fBstartup\fP\&. Default: +\fBrunning\fP\&. +.TP +.B running_path +Absolute or remote path from where to load the runing configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBcandidate_path\fP or \fBrunning_path\fP is not a +\fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_diff_text +salt \(aq*\(aq napalm.config_diff_text candidate_path=https://bit.ly/2mAdq7z +# Would compare the running config with the configuration available at +# https://bit.ly/2mAdq7z +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_diff_tree +salt \(aq*\(aq napalm.config_diff_tree running startup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_filter_lines(parent_regex, child_regex, source=u\(aqrunning\(aq) +New in version Fluorine. + +.sp +Return a list of detailed matches, for the configuration blocks (parent\-child +relationship) whose parent respects the regular expressions configured via +the \fBparent_regex\fP argument, and the child matches the \fBchild_regex\fP +regular expression. The result is a list of dictionaries with the following +keys: +.INDENT 7.0 +.IP \(bu 2 +\fBmatch\fP: a boolean value that tells whether \fBchild_regex\fP matched any +children lines. +.IP \(bu 2 +\fBparent\fP: the parent line (as text). +.IP \(bu 2 +\fBchild\fP: the child line (as text). If no child line matched, this field +will be \fBNone\fP\&. +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is only available only when the underlying library +\fI\%ciscoconfparse\fP +is installed. See +\fBciscoconfparse module\fP for +more details. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B parent_regex +The regular expression to match the parent configuration lines against. +.TP +.B child_regex +The regular expression to match the child configuration lines against. +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_filter_lines \(aq^interface\(aq \(aqip address\(aq +salt \(aq*\(aq napalm.config_filter_lines \(aq^interface\(aq \(aqshutdown\(aq source=candidate +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_find_lines(regex, source=u\(aqrunning\(aq) +New in version Fluorine. + +.sp +Return the configuration lines that match the regular expressions from the +\fBregex\fP argument. The configuration is read from the network device +interrogated. +.INDENT 7.0 +.TP +.B regex +The regular expression to match the configuration lines against. +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_find_lines \(aq^interface Ethernet1\ed\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_lines_w_child(parent_regex, child_regex, source=u\(aqrunning\(aq) +.INDENT 7.0 +.INDENT 3.5 +New in version Fluorine. + +.UNINDENT +.UNINDENT +.sp +Return the configuration lines that match the regular expressions from the +\fBparent_regex\fP argument, having child lines matching \fBchild_regex\fP\&. +The configuration is read from the network device interrogated. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is only available only when the underlying library +\fI\%ciscoconfparse\fP +is installed. See +\fBciscoconfparse module\fP for +more details. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B parent_regex +The regular expression to match the parent configuration lines against. +.TP +.B child_regex +The regular expression to match the child configuration lines against. +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_lines_w_child \(aq^interface\(aq \(aqip address\(aq +salt \(aq*\(aq napalm.config_lines_w_child \(aq^interface\(aq \(aqshutdown\(aq source=candidate +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_lines_wo_child(parent_regex, child_regex, source=u\(aqrunning\(aq) +.INDENT 7.0 +.INDENT 3.5 +New in version Fluorine. + +.UNINDENT +.UNINDENT +.sp +Return the configuration lines that match the regular expressions from the +\fBparent_regex\fP argument, having the child lines \fInot\fP matching +\fBchild_regex\fP\&. +The configuration is read from the network device interrogated. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is only available only when the underlying library +\fI\%ciscoconfparse\fP +is installed. See +\fBciscoconfparse module\fP for +more details. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B parent_regex +The regular expression to match the parent configuration lines against. +.TP +.B child_regex +The regular expression to match the child configuration lines against. +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_lines_wo_child \(aq^interface\(aq \(aqip address\(aq +salt \(aq*\(aq napalm.config_lines_wo_child \(aq^interface\(aq \(aqshutdown\(aq source=candidate +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_merge_diff(source=u\(aqrunning\(aq, merge_config=None, merge_path=None, saltenv=u\(aqbase\(aq) +New in version Fluorine. + +.sp +Return the merge diff, as text, after merging the merge config into the +configuration source requested (without loading the config on the device). +.INDENT 7.0 +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.TP +.B merge_config +The config to be merged into the initial config, sent as text. This +argument is ignored when \fBmerge_path\fP is set. +.TP +.B merge_path +Absolute or remote path from where to load the merge configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBmerge_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_merge_diff merge_path=salt://path/to/merge.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_merge_text(source=u\(aqrunning\(aq, merge_config=None, merge_path=None, saltenv=u\(aqbase\(aq) +New in version Fluorine. + +.sp +Return the merge result of the configuration from \fBsource\fP with the +merge configuration, as plain text (without loading the config on the +device). +.INDENT 7.0 +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.TP +.B merge_config +The config to be merged into the initial config, sent as text. This +argument is ignored when \fBmerge_path\fP is set. +.TP +.B merge_path +Absolute or remote path from where to load the merge configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBmerge_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_merge_text merge_path=salt://path/to/merge.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_merge_tree(source=u\(aqrunning\(aq, merge_config=None, merge_path=None, saltenv=u\(aqbase\(aq) +New in version Fluorine. + +.sp +Return the merge tree of the \fBinitial_config\fP with the \fBmerge_config\fP, +as a Python dictionary. +.INDENT 7.0 +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.TP +.B merge_config +The config to be merged into the initial config, sent as text. This +argument is ignored when \fBmerge_path\fP is set. +.TP +.B merge_path +Absolute or remote path from where to load the merge configuration +text. This argument allows any URI supported by +\fBcp.get_url\fP), e.g., \fBsalt://\fP, +\fBhttps://\fP, \fBs3://\fP, \fBftp:/\fP, etc. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. +Ignored if \fBmerge_path\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_merge_tree merge_path=salt://path/to/merge.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.config_tree(source=u\(aqrunning\(aq, with_tags=False) +New in version Fluorine. + +.sp +Transform Cisco IOS style configuration to structured Python dictionary. +Depending on the value of the \fBwith_tags\fP argument, this function may +provide different views, valuable in different situations. +.INDENT 7.0 +.TP +.B source: \fBrunning\fP +The configuration type to retrieve from the network device. Default: +\fBrunning\fP\&. Available options: \fBrunning\fP, \fBstartup\fP, \fBcandidate\fP\&. +.TP +.B with_tags: \fBFalse\fP +Whether this function should return a detailed view, with tags. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.config_tree +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_call(*args, **kwargs) +New in version Fluorine. + +.sp +Execute an arbitrary function from the +\fBjunos execution module\fP\&. To check what \fBargs\fP +and \fBkwargs\fP you must send to the function, please consult the appropriate +documentation. +.INDENT 7.0 +.TP +.B fun +The name of the function. E.g., \fBset_hostname\fP\&. +.TP +.B args +List of arguments to send to the \fBjunos\fP function invoked. +.TP +.B kwargs +Dictionary of key\-value arguments to send to the \fBjuno\fP function +invoked. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_fun cli \(aqshow system commit\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_cli(*args, **kwargs) +New in version Fluorine. + +.sp +Execute a CLI command and return the output in the specified format. +.INDENT 7.0 +.TP +.B command +The command to execute on the Junos CLI. +.TP +.B format: \fBtext\fP +Format in which to get the CLI output (either \fBtext\fP or \fBxml\fP). +.TP +.B dev_timeout: \fB30\fP +The NETCONF RPC timeout (in seconds). +.TP +.B dest +Destination file where the RPC output is stored. Note that the file will +be stored on the Proxy Minion. To push the files to the Master, use +\fBcp.push\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_cli \(aqshow lldp neighbors\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_commit(*args, **kwargs) +New in version Fluorine. + +.sp +Commit the changes loaded in the candidate configuration. +.INDENT 7.0 +.TP +.B dev_timeout: \fB30\fP +The NETCONF RPC timeout (in seconds). +.TP +.B comment +Provide a comment for the commit. +.TP +.B confirm +Provide time in minutes for commit confirmation. If this option is +specified, the commit will be rolled back in the specified amount of time +unless the commit is confirmed. +.TP +.B sync: \fBFalse\fP +When \fBTrue\fP, on dual control plane systems, requests that the candidate +configuration on one control plane be copied to the other control plane, +checked for correct syntax, and committed on both Routing Engines. +.TP +.B force_sync: \fBFalse\fP +When \fBTrue\fP, on dual control plane systems, force the candidate +configuration on one control plane to be copied to the other control +plane. +.TP +.B full +When \fBTrue\fP, requires all the daemons to check and evaluate the new +configuration. +.TP +.B detail +When \fBTrue\fP, return commit detail. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_commit comment=\(aqCommitiing via Salt\(aq detail=True +salt \(aq*\(aq napalm.junos_commit dev_timeout=60 confirm=10 +salt \(aq*\(aq napalm.junos_commit sync=True dev_timeout=90 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_copy_file(*args, **kwargs) +New in version Fluorine. + +.sp +Copies the file on the remote Junos device. +.INDENT 7.0 +.TP +.B src +The source file path. This argument accepts the usual Salt URIs (e.g., +\fBsalt://\fP, \fBhttp://\fP, \fBhttps://\fP, \fBs3://\fP, \fBftp://\fP, etc.). +.TP +.B dst +The destination path on the device where to copy the file. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_copy_file https://example.com/junos.cfg /var/tmp/myjunos.cfg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_facts(*args, **kwargs) +New in version Fluorine. + +.sp +The complete list of Junos facts collected by \fBjunos\-eznc\fP\&. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_facts +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_install_os(*args, **kwargs) +New in version Fluorine. + +.sp +Installs the given image on the device. +.INDENT 7.0 +.TP +.B path +The image file source. This argument supports the following URIs: +.INDENT 7.0 +.IP \(bu 2 +Absolute path on the Minion. +.IP \(bu 2 +\fBsalt://\fP to fetch from the Salt fileserver. +.IP \(bu 2 +\fBhttp://\fP and \fBhttps://\fP +.IP \(bu 2 +\fBftp://\fP +.IP \(bu 2 +\fBswift:/\fP +.IP \(bu 2 +\fBs3://\fP +.UNINDENT +.TP +.B dev_timeout: \fB30\fP +The NETCONF RPC timeout (in seconds) +.TP +.B reboot: \fBFalse\fP +Whether to reboot the device after the installation is complete. +.TP +.B no_copy: \fBFalse\fP +If \fBTrue\fP the software package will not be copied to the remote +device. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_install_os salt://images/junos_16_1.tgz reboot=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.junos_rpc(*args, **kwargs) +New in version Fluorine. + +.sp +Execute an RPC request on the remote Junos device. +.INDENT 7.0 +.TP +.B cmd +The RPC request to the executed. To determine the RPC request, you can +check the from the command line of the device, by executing the usual +command followed by \fB| display xml rpc\fP, e.g., +\fBshow lldp neighbors | display xml rpc\fP\&. +.TP +.B dest +Destination file where the RPC output is stored. Note that the file will +be stored on the Proxy Minion. To push the files to the Master, use +\fBcp.push\fP Execution function. +.TP +.B format: \fBxml\fP +The format in which the RPC reply is received from the device. +.TP +.B dev_timeout: \fB30\fP +The NETCONF RPC timeout. +.TP +.B filter +Used with the \fBget\-config\fP RPC request to filter out the config tree. +.TP +.B terse: \fBFalse\fP +Whether to return terse output. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Some RPC requests may not support this argument. +.UNINDENT +.UNINDENT +.TP +.B interface_name +Name of the interface to query. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.junos_rpc get\-lldp\-neighbors\-information +salt \(aq*\(aq napalm.junos_rcp get\-config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_args(*args, **kwargs) +New in version Fluorine. + +.sp +Return the key\-value arguments used for the authentication arguments for +the netmiko module. +.sp +When running in a non\-native NAPALM driver (e.g., \fBpanos\fP, \fIf5\(ga\fP, \fBmos\fP \- +either from \fI\%https://github.com/napalm\-automation\-community\fP or defined in +user\(aqs own environment, one can specify the Netmiko device type (the +\fBdevice_type\fP argument) via the \fBnetmiko_device_type_map\fP configuration +option / Pillar key, e.g., +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +netmiko_device_type_map: + f5: f5_ltm + dellos10: dell_os10 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The configuration above defines the mapping between the NAPALM \fBos\fP Grain +and the Netmiko \fBdevice_type\fP, e.g., when the NAPALM Grain is \fBf5\fP, it +would use the \fBf5_ltm\fP SSH Netmiko driver to execute commands over SSH on +the remote network device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.netmiko_args +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_call(*args, **kwargs) +New in version Fluorine. + +.sp +Execute an arbitrary Netmiko method, passing the authentication details from +the existing NAPALM connection. +.INDENT 7.0 +.TP +.B method +The name of the Netmiko method to execute. +.TP +.B args +List of arguments to send to the Netmiko method specified in \fBmethod\fP\&. +.TP +.B kwargs +Key\-value arguments to send to the execution function specified in +\fBmethod\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.netmiko_call send_command \(aqshow version\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_commands(*args, **kwargs) +New in version Fluorine. + +.sp +Invoke one or more commands to be executed on the remote device, via Netmiko. +Returns a list of strings, with the output from each command. +.INDENT 7.0 +.TP +.B commands +A list of commands to be executed. +.TP +.B expect_string +Regular expression pattern to use for determining end of output. +If left blank will default to being based on router prompt. +.TP +.B delay_factor: \fB1\fP +Multiplying factor used to adjust delays (default: \fB1\fP). +.TP +.B max_loops: \fB500\fP +Controls wait time in conjunction with delay_factor. Will default to be +based upon self.timeout. +.TP +.B auto_find_prompt: \fBTrue\fP +Whether it should try to auto\-detect the prompt (default: \fBTrue\fP). +.TP +.B strip_prompt: \fBTrue\fP +Remove the trailing router prompt from the output (default: \fBTrue\fP). +.TP +.B strip_command: \fBTrue\fP +Remove the echo of the command from the output (default: \fBTrue\fP). +.TP +.B normalize: \fBTrue\fP +Ensure the proper enter is sent at end of command (default: \fBTrue\fP). +.TP +.B use_textfsm: \fBFalse\fP +Process command output through TextFSM template (default: \fBFalse\fP). +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.netmiko_commands \(aqshow version\(aq \(aqshow interfaces\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_config(*args, **kwargs) +New in version Fluorine. + +.sp +Load a list of configuration commands on the remote device, via Netmiko. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Please remember that \fBnetmiko\fP does not have any rollback safeguards +and any configuration change will be directly loaded into the running +config if the platform doesn\(aqt have the concept of \fBcandidate\fP config. +.sp +On Junos, or other platforms that have this capability, the changes will +not be loaded into the running config, and the user must set the +\fBcommit\fP argument to \fBTrue\fP to transfer the changes from the +candidate into the running config before exiting. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B config_commands +A list of configuration commands to be loaded on the remote device. +.TP +.B config_file +Read the configuration commands from a file. The file can equally be a +template that can be rendered using the engine of choice (see +\fBtemplate_engine\fP). +.sp +This can be specified using the absolute path to the file, or using one +of the following URL schemes: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP, to fetch the file from the Salt fileserver. +.IP \(bu 2 +\fBhttp://\fP or \fBhttps://\fP +.IP \(bu 2 +\fBftp://\fP +.IP \(bu 2 +\fBs3://\fP +.IP \(bu 2 +\fBswift://\fP +.UNINDENT +.TP +.B exit_config_mode: \fBTrue\fP +Determines whether or not to exit config mode after complete. +.TP +.B delay_factor: \fB1\fP +Factor to adjust delays. +.TP +.B max_loops: \fB150\fP +Controls wait time in conjunction with delay_factor (default: \fB150\fP). +.TP +.B strip_prompt: \fBFalse\fP +Determines whether or not to strip the prompt (default: \fBFalse\fP). +.TP +.B strip_command: \fBFalse\fP +Determines whether or not to strip the command (default: \fBFalse\fP). +.TP +.B config_mode_command +The command to enter into config mode. +.TP +.B commit: \fBFalse\fP +Commit the configuration changes before exiting the config mode. This +option is by default disabled, as many platforms don\(aqt have this +capability natively. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.netmiko_config \(aqset system ntp peer 1.2.3.4\(aq commit=True +salt \(aq*\(aq napalm.netmiko_config https://bit.ly/2sgljCB +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_conn(*args, **kwargs) +New in version Fluorine. + +.sp +Return the connection object with the network device, over Netmiko, passing +the authentication details from the existing NAPALM connection. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is not suitable for CLI usage, more rather to be used +in various Salt modules. +.UNINDENT +.UNINDENT +.sp +USAGE Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +conn = __salt__[\(aqnapalm.netmiko_conn\(aq]() +res = conn.send_command(\(aqshow interfaces\(aq) +conn.disconnect() +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_fun(*args, **kwargs) +New in version Fluorine. + +.sp +Call an arbitrary function from the \fBNetmiko\fP +module, passing the authentication details from the existing NAPALM +connection. +.INDENT 7.0 +.TP +.B fun +The name of the function from the \fBNetmiko\fP +to invoke. +.TP +.B args +List of arguments to send to the execution function specified in +\fBfun\fP\&. +.TP +.B kwargs +Key\-value arguments to send to the execution function specified in +\fBfun\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.netmiko_fun send_command \(aqshow version\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.netmiko_multi_call(*args, **kwargs) +New in version Fluorine. + +.sp +Execute a list of arbitrary Netmiko methods, passing the authentication +details from the existing NAPALM connection. +.INDENT 7.0 +.TP +.B methods +List of dictionaries with the following keys: +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP: the name of the Netmiko function to invoke. +.IP \(bu 2 +\fBargs\fP: list of arguments to send to the \fBname\fP method. +.IP \(bu 2 +\fBkwargs\fP: key\-value arguments to send to the \fBname\fP method. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.netmiko_multi_call "{\(aqname\(aq: \(aqsend_command\(aq, \(aqargs\(aq: [\(aqshow version\(aq]}" "{\(aqname\(aq: \(aqsend_command\(aq, \(aqargs\(aq: [\(aqshow interfaces\(aq]}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.nxos_api_config(*args, **kwargs) +.INDENT 7.0 +.INDENT 3.5 +New in version Fluorine. + +.UNINDENT +.UNINDENT +.sp +Configures the Nexus switch with the specified commands, via the NX\-API. +.INDENT 7.0 +.TP +.B commands +The list of configuration commands to load on the Nexus switch. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_file\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_file +The source file with the configuration commands to be sent to the device. +.sp +The file can also be a template that can be rendered using the template +engine of choice. This can be specified using the absolute path to the +file, or using one of the following URL schemes: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP +.IP \(bu 2 +\fBhttps://\fP +.IP \(bu 2 +\fBftp:/\fP +.IP \(bu 2 +\fBs3:/\fP +.IP \(bu 2 +\fBswift://\fP +.UNINDENT +.TP +.B template_engine: \fBjinja\fP +The template engine to use when rendering the source file. Default: +\fBjinja\fP\&. To simply fetch the file without attempting to render, set +this argument to \fBNone\fP\&. +.TP +.B context: \fBNone\fP +Variables to add to the template context. +.TP +.B defaults: \fBNone\fP +Default values of the \fBcontext\fP dict. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. Ignored if +\fBconfig_file\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.nxos_api_config \(aqspanning\-tree mode mstp\(aq +salt \(aq*\(aq napalm.nxos_api_config config_file=https://bit.ly/2LGLcDy context="{\(aqservers\(aq: [\(aq1.2.3.4\(aq]}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.nxos_api_rpc(*args, **kwargs) +New in version Fluorine. + +.sp +Execute an arbitrary RPC request via the Nexus API. +.INDENT 7.0 +.TP +.B commands +The RPC commands to be executed. +.TP +.B method: \fBcli\fP +The type of the response, i.e., raw text (\fBcli_ascii\fP) or structured +document (\fBcli\fP). Defaults to \fBcli\fP (structured data). +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.nxos_api_rpc \(aqshow version\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.nxos_api_show(*args, **kwargs) +New in version Fluorine. + +.sp +Execute one or more show (non\-configuration) commands. +.INDENT 7.0 +.TP +.B commands +The commands to be executed. +.TP +.B raw_text: \fBTrue\fP +Whether to return raw text or structured data. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.nxos_api_show \(aqshow version\(aq +salt \(aq*\(aq napalm.nxos_api_show \(aqshow bgp sessions\(aq \(aqshow processes\(aq raw_text=False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.pyeapi_call(*args, **kwargs) +New in version Fluorine. + +.sp +Invoke an arbitrary method from the \fBpyeapi\fP library. +This function forwards the existing connection details to the +\fBpyeapi.run_commands\fP +execution function. +.INDENT 7.0 +.TP +.B method +The name of the \fBpyeapi\fP method to invoke. +.TP +.B kwargs +Key\-value arguments to send to the \fBpyeapi\fP method. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.pyeapi_call run_commands \(aqshow version\(aq encoding=text +salt \(aq*\(aq napalm.pyeapi_call get_config as_string=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.pyeapi_config(*args, **kwargs) +New in version Fluorine. + +.sp +Configures the Arista switch with the specified commands, via the \fBpyeapi\fP +library. This function forwards the existing connection details to the +\fBpyeapi.run_commands\fP +execution function. +.INDENT 7.0 +.TP +.B commands +The list of configuration commands to load on the Arista switch. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_file\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B config_file +The source file with the configuration commands to be sent to the device. +.sp +The file can also be a template that can be rendered using the template +engine of choice. This can be specified using the absolute path to the +file, or using one of the following URL schemes: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP +.IP \(bu 2 +\fBhttps://\fP +.IP \(bu 2 +\fBftp:/\fP +.IP \(bu 2 +\fBs3:/\fP +.IP \(bu 2 +\fBswift://\fP +.UNINDENT +.TP +.B template_engine: \fBjinja\fP +The template engine to use when rendering the source file. Default: +\fBjinja\fP\&. To simply fetch the file without attempting to render, set +this argument to \fBNone\fP\&. +.TP +.B context: \fBNone\fP +Variables to add to the template context. +.TP +.B defaults: \fBNone\fP +Default values of the \fBcontext\fP dict. +.TP +.B saltenv: \fBbase\fP +Salt fileserver environment from which to retrieve the file. Ignored if +\fBconfig_file\fP is not a \fBsalt://\fP URL. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.pyeapi_config \(aqntp server 1.2.3.4\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.pyeapi_conn(*args, **kwargs) +New in version Fluorine. + +.sp +Return the connection object with the Arista switch, over \fBpyeapi\fP, +passing the authentication details from the existing NAPALM connection. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is not suitable for CLI usage, more rather to be used in +various Salt modules, to reusing the established connection, as in +opposite to opening a new connection for each task. +.UNINDENT +.UNINDENT +.sp +Usage example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +conn = __salt__[\(aqnapalm.pyeapi_conn\(aq]() +res1 = conn.run_commands(\(aqshow version\(aq) +res2 = conn.get_config(as_string=True) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.pyeapi_nxos_api_args(**prev_kwargs) +New in version Fluorine. + +.sp +Return the key\-value arguments used for the authentication arguments for the +\fBpyeapi execution module\fP\&. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.pyeapi_nxos_api_args +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.pyeapi_run_commands(*args, **kwargs) +Execute a list of commands on the Arista switch, via the \fBpyeapi\fP library. +This function forwards the existing connection details to the +\fBpyeapi.run_commands\fP +execution function. +.INDENT 7.0 +.TP +.B commands +A list of commands to execute. +.TP +.B encoding: \fBjson\fP +The requested encoding of the command output. Valid values for encoding +are \fBjson\fP (default) or \fBtext\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.pyeapi_run_commands \(aqshow version\(aq encoding=text +salt \(aq*\(aq napalm.pyeapi_run_commands \(aqshow ip bgp neighbors\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.reconnect(*args, **kwargs) +Reconnect the NAPALM proxy when the connection +is dropped by the network device. +The connection can be forced to be restarted +using the \fBforce\fP argument. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function can be used only when running proxy minions. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.reconnect +salt \(aq*\(aq napalm.reconnect force=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.rpc(*args, **kwargs) +New in version Fluorine. + +.sp +This is a wrapper to execute RPC requests on various network operating +systems supported by NAPALM, invoking the following functions for the NAPALM +native drivers: +.INDENT 7.0 +.IP \(bu 2 +\fI\%napalm.junos_rpc\fP for \fBjunos\fP +.IP \(bu 2 +\fI\%napalm.pyeapi_run_commands\fP +for \fBeos\fP +.IP \(bu 2 +\fI\%napalm.nxos_api_rpc\fP for +\fBnxos\fP +.IP \(bu 2 +\fI\%napalm.netmiko_commands\fP +for \fBios\fP, \fBiosxr\fP, and \fBnxos_ssh\fP +.UNINDENT +.INDENT 7.0 +.TP +.B command +The RPC command to execute. This depends on the nature of the operating +system. +.TP +.B kwargs +Key\-value arguments to be sent to the underlying Execution function. +.UNINDENT +.sp +The function capabilities are extensible in the user environment via the +\fBnapalm_rpc_map\fP configuration option / Pillar, e.g., +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +napalm_rpc_map: + f5: napalm.netmiko_commands + panos: panos.call +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The mapping above reads: when the NAPALM \fBos\fP Grain is \fBf5\fP, then call +\fBnapalm.netmiko_commands\fP for RPC requests. +.sp +By default, if the user does not specify any map, non\-native NAPALM drivers +will invoke the \fBnapalm.netmiko_commands\fP Execution function. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.rpc \(aqshow version\(aq +salt \(aq*\(aq napalm.rpc get\-interfaces +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.scp_get(remote_path, local_path=u\(aq\(aq, recursive=False, preserve_times=False, **kwargs) +New in version Fluorine. + +.sp +Transfer files and directories from remote network device to the localhost +of the Minion. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is only available only when the underlying library +\fI\%scp\fP +is installed. See +\fBscp module\fP for +more details. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B remote_path +Path to retrieve from remote host. Since this is evaluated by scp on the +remote host, shell wildcards and environment variables may be used. +.TP +.B recursive: \fBFalse\fP +Transfer files and directories recursively. +.TP +.B preserve_times: \fBFalse\fP +Preserve \fBmtime\fP and \fBatime\fP of transferred files and directories. +.TP +.B passphrase +Used for decrypting private keys. +.TP +.B pkey +An optional private key to use for authentication. +.TP +.B key_filename +The filename, or list of filenames, of optional private key(s) and/or +certificates to try for authentication. +.TP +.B timeout +An optional timeout (in seconds) for the TCP connect. +.TP +.B socket_timeout: \fB10\fP +The channel socket timeout in seconds. +.TP +.B buff_size: \fB16384\fP +The size of the SCP send buffer. +.TP +.B allow_agent: \fBTrue\fP +Set to \fBFalse\fP to disable connecting to the SSH agent. +.TP +.B look_for_keys: \fBTrue\fP +Set to \fBFalse\fP to disable searching for discoverable private key +files in \fB~/.ssh/\fP +.TP +.B banner_timeout +An optional timeout (in seconds) to wait for the SSH banner to be +presented. +.TP +.B auth_timeout +An optional timeout (in seconds) to wait for an authentication +response. +.TP +.B auto_add_policy: \fBFalse\fP +Automatically add the host to the \fBknown_hosts\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.scp_get /var/tmp/file /tmp/file auto_add_policy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_mod.scp_put(files, remote_path=None, recursive=False, preserve_times=False, saltenv=u\(aqbase\(aq, **kwargs) +New in version Fluorine. + +.sp +Transfer files and directories to remote network device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is only available only when the underlying library +\fI\%scp\fP +is installed. See +\fBscp module\fP for +more details. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B files +A single path or a list of paths to be transferred. +.TP +.B remote_path +The path on the remote device where to store the files. +.TP +.B recursive: \fBTrue\fP +Transfer files and directories recursively. +.TP +.B preserve_times: \fBFalse\fP +Preserve \fBmtime\fP and \fBatime\fP of transferred files and directories. +.TP +.B saltenv: \fBbase\fP +The name of the Salt environment. Ignored when \fBfiles\fP is not a +\fBsalt://\fP URL. +.TP +.B hostname +The hostname of the remote device. +.TP +.B port: \fB22\fP +The port of the remote device. +.TP +.B username +The username required for SSH authentication on the device. +.TP +.B password +Used for password authentication. It is also used for private key +decryption if \fBpassphrase\fP is not given. +.TP +.B passphrase +Used for decrypting private keys. +.TP +.B pkey +An optional private key to use for authentication. +.TP +.B key_filename +The filename, or list of filenames, of optional private key(s) and/or +certificates to try for authentication. +.TP +.B timeout +An optional timeout (in seconds) for the TCP connect. +.TP +.B socket_timeout: \fB10\fP +The channel socket timeout in seconds. +.TP +.B buff_size: \fB16384\fP +The size of the SCP send buffer. +.TP +.B allow_agent: \fBTrue\fP +Set to \fBFalse\fP to disable connecting to the SSH agent. +.TP +.B look_for_keys: \fBTrue\fP +Set to \fBFalse\fP to disable searching for discoverable private key +files in \fB~/.ssh/\fP +.TP +.B banner_timeout +An optional timeout (in seconds) to wait for the SSH banner to be +presented. +.TP +.B auth_timeout +An optional timeout (in seconds) to wait for an authentication +response. +.TP +.B auto_add_policy: \fBFalse\fP +Automatically add the host to the \fBknown_hosts\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq napalm.scp_put /path/to/file /var/tmp/file auto_add_policy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.napalm_network module .SS NAPALM Network .sp @@ -199456,6 +211668,117 @@ Example output: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.napalm_network.blockreplace(marker_start, marker_end, content=u\(aq\(aq, append_if_not_found=False, prepend_if_not_found=False, show_changes=True, append_newline=False, source=u\(aqrunning\(aq, path=None, test=False, commit=True, debug=False, replace=True) +New in version Fluorine. + +.sp +Replace content of the configuration source, delimited by the line markers. +.sp +A block of content delimited by comments can help you manage several lines +without worrying about old entries removal. +.INDENT 7.0 +.TP +.B marker_start +The line content identifying a line as the start of the content block. +Note that the whole line containing this marker will be considered, +so whitespace or extra content before or after the marker is included +in final output. +.TP +.B marker_end +The line content identifying a line as the end of the content block. +Note that the whole line containing this marker will be considered, +so whitespace or extra content before or after the marker is included +in final output. +.TP +.B content +The content to be used between the two lines identified by +\fBmarker_start\fP and \fBmarker_stop\fP\&. +.TP +.B append_if_not_found: \fBFalse\fP +If markers are not found and set to True then, the markers and content +will be appended to the file. +.TP +.B prepend_if_not_found: \fBFalse\fP +If markers are not found and set to True then, the markers and content +will be prepended to the file. +.TP +.B append_newline: \fBFalse\fP +Controls whether or not a newline is appended to the content block. +If the value of this argument is \fBTrue\fP then a newline will be added +to the content block. If it is \fBFalse\fP, then a newline will not be +added to the content block. If it is \fBNone\fP then a newline will only +be added to the content block if it does not already end in a newline. +.TP +.B show_changes: \fBTrue\fP +Controls how changes are presented. If \fBTrue\fP, this function will +return the of the changes made. +If \fBFalse\fP, then it will return a boolean (\fBTrue\fP if any changes +were made, otherwise False). +.TP +.B source: \fBrunning\fP +The configuration source. Choose from: \fBrunning\fP, \fBcandidate\fP, or +\fBstartup\fP\&. Default: \fBrunning\fP\&. +.TP +.B path: \fBNone\fP +Save the temporary configuration to a specific path, then read from +there. This argument is optional, can be used when you prefers a +particular location of the temporary file. +.TP +.B test: \fBFalse\fP +Dry run? If set as \fBTrue\fP, will apply the config, discard and return +the changes. Default: \fBFalse\fP and will commit the changes on the +device. +.TP +.B commit: \fBTrue\fP +Commit the configuration changes? Default: \fBTrue\fP\&. +.TP +.B debug: \fBFalse\fP +Debug mode. Will insert a new key in the output dictionary, as +\fBloaded_config\fP containing the raw configuration loaded on the device. +.TP +.B replace: \fBTrue\fP +Load and replace the configuration. Default: \fBTrue\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.blockreplace \(aqntp\(aq \(aqinterface\(aq \(aq\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.cancel_commit(jid) +New in version Fluorine. + +.sp +Cancel a commit scheduled to be executed via the \fBcommit_in\fP and +\fBcommit_at\fP arguments from the +\fI\%net.load_template\fP or +\fI\%net.load_config\fP +execution functions. The commit ID is displayed when the commit is scheduled +via the functions named above. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.cancel_commit 20180726083540640360 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.napalm_network.cli(*args, **kwargs) Returns a dictionary with the raw output of all commands passed as arguments. .INDENT 7.0 @@ -199869,6 +212192,31 @@ salt \(aq*\(aq net.config_control .UNINDENT .INDENT 0.0 .TP +.B salt.modules.napalm_network.confirm_commit(jid) +New in version Fluorine. + +.sp +Confirm a commit scheduled to be reverted via the \fBrevert_in\fP and +\fBrevert_at\fP arguments from the +\fI\%net.load_template\fP or +\fI\%net.load_config\fP +execution functions. The commit ID is displayed when the commit confirmed +is scheduled via the functions named above. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.confirm_commit 20180726083540640360 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.napalm_network.connected(*args, **kwargs) Specifies if the connection to the device succeeded. .sp @@ -200272,6 +212620,160 @@ Load and replace the configuration. Default: \fBFalse\fP\&. .sp New in version 2016.11.2. +.TP +.B commit_in: \fBNone\fP +Commit the changes in a specific number of minutes / hours. Example of +accepted formats: \fB5\fP (commit in 5 minutes), \fB2m\fP (commit in 2 +minutes), \fB1h\fP (commit the changes in 1 hour)\(ga, \fB5h30m\fP (commit +the changes in 5 hours and 30 minutes). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature works on any platforms, as it does not rely on the +native features of the network operating system. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +After the command is executed and the \fBdiff\fP is not satisfactory, +or for any other reasons you have to discard the commit, you are +able to do so using the +\fI\%net.cancel_commit\fP +execution function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Using this feature, Salt will load the exact configuration you +expect, however the diff may change in time (i.e., if an user +applies a manual configuration change, or a different process or +command changes the configuration in the meanwhile). +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B commit_at: \fBNone\fP +Commit the changes at a specific time. Example of accepted formats: +\fB1am\fP (will commit the changes at the next 1AM), \fB13:20\fP (will +commit at 13:20), \fB1:20am\fP, etc. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature works on any platforms, as it does not rely on the +native features of the network operating system. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +After the command is executed and the \fBdiff\fP is not satisfactory, +or for any other reasons you have to discard the commit, you are +able to do so using the +\fI\%net.cancel_commit\fP +execution function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Using this feature, Salt will load the exact configuration you +expect, however the diff may change in time (i.e., if an user +applies a manual configuration change, or a different process or +command changes the configuration in the meanwhile). +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B revert_in: \fBNone\fP +Commit and revert the changes in a specific number of minutes / hours. +Example of accepted formats: \fB5\fP (revert in 5 minutes), \fB2m\fP (revert +in 2 minutes), \fB1h\fP (revert the changes in 1 hour)\(ga, \fB5h30m\fP (revert +the changes in 5 hours and 30 minutes). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To confirm the commit, and prevent reverting the changes, you will +have to execute the +\fI\%net.confirm_commit\fP +function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This works on any platform, regardless if they have or don\(aqt have +native capabilities to confirming a commit. However, please be +\fIvery\fP cautious when using this feature: on Junos (as it is the only +NAPALM core platform supporting this natively) it executes a commit +confirmed as you would do from the command line. +All the other platforms don\(aqt have this capability natively, +therefore the revert is done via Salt. That means, your device needs +to be reachable at the moment when Salt will attempt to revert your +changes. Be cautious when pushing configuration changes that would +prevent you reach the device. +.sp +Similarly, if an user or a different process apply other +configuration changes in the meanwhile (between the moment you +commit and till the changes are reverted), these changes would be +equally reverted, as Salt cannot be aware of them. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B revert_at: \fBNone\fP +Commit and revert the changes at a specific time. Example of accepted +formats: \fB1am\fP (will commit and revert the changes at the next 1AM), +\fB13:20\fP (will commit and revert at 13:20), \fB1:20am\fP, etc. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To confirm the commit, and prevent reverting the changes, you will +have to execute the +\fI\%net.confirm_commit\fP +function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This works on any platform, regardless if they have or don\(aqt have +native capabilities to confirming a commit. However, please be +\fIvery\fP cautious when using this feature: on Junos (as it is the only +NAPALM core platform supporting this natively) it executes a commit +confirmed as you would do from the command line. +All the other platforms don\(aqt have this capability natively, +therefore the revert is done via Salt. That means, your device needs +to be reachable at the moment when Salt will attempt to revert your +changes. Be cautious when pushing configuration changes that would +prevent you reach the device. +.sp +Similarly, if an user or a different process apply other +configuration changes in the meanwhile (between the moment you +commit and till the changes are reverted), these changes would be +equally reverted, as Salt cannot be aware of them. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .TP .B saltenv: \fBbase\fP Specifies the Salt environment name. @@ -200349,14 +212851,6 @@ Otherwise the user might forget that the config DB is locked and the candidate config buffer is not cleared/merged in the running config. .sp To replace the config, set \fBreplace\fP to \fBTrue\fP\&. -.sp -\fBWARNING:\fP -.INDENT 7.0 -.INDENT 3.5 -The support for native NAPALM templates will be dropped in Salt Fluorine. -Implicitly, the \fBtemplate_path\fP argument will be removed. -.UNINDENT -.UNINDENT .INDENT 7.0 .TP .B template_name @@ -200371,8 +212865,8 @@ For example, let\(aqs suppose the \fBfile_roots\fP is configured as: .nf .ft C file_roots: - base: - \- /etc/salt/states + base: + \- /etc/salt/states .ft P .fi .UNINDENT @@ -200396,29 +212890,26 @@ Examples: .IP \(bu 2 \fBftp://example.com/template.py\fP .UNINDENT +.sp +Changed in version Fluorine: This argument can now support a list of templates to be rendered. +The resulting configuration text is loaded at once, as a single +configuration chunk. + .TP .B template_source: None Inline config template to be rendered and loaded on the device. .TP -.B template_path: None -Required only in case the argument \fBtemplate_name\fP provides only the file basename -when referencing a local template using the absolute path. -E.g.: if \fBtemplate_name\fP is specified as \fBmy_template.jinja\fP, -in order to find the template, this argument must be provided: -\fBtemplate_path: /absolute/path/to/\fP\&. -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -This argument will be deprecated beginning with release codename \fBFluorine\fP\&. -.UNINDENT -.UNINDENT -.TP .B template_hash: None Hash of the template file. Format: \fB{hash_type: \(aqmd5\(aq, \(aqhsum\(aq: }\fP .sp New in version 2016.11.2. +.TP +.B context: None +Overrides default context variables passed to the template. +.sp +New in version Fluorine. + .TP .B template_hash_name: None When \fBtemplate_hash\fP refers to a remote file, @@ -200427,31 +212918,7 @@ this specifies the filename to look for in that file. New in version 2016.11.2. .TP -.B template_group: root -Owner of file. -.sp -New in version 2016.11.2. - -.TP -.B template_user: root -Group owner of file. -.sp -New in version 2016.11.2. - -.TP -.B template_mode: 755 -Permissions of file. -.sp -New in version 2016.11.2. - -.TP -.B template_attrs: "\-\-\-\-\-\-\-\-\-\-\-\-\-\-e\-\-\-\-" -attributes of file. (see \fIman lsattr\fP) -.sp -New in version 2018.3.0. - -.TP -.B saltenv: base +.B saltenv: \fBbase\fP Specifies the template environment. This will influence the relative imports inside the templates. .sp @@ -200506,6 +212973,160 @@ Load and replace the configuration. .sp New in version 2016.11.2. +.TP +.B commit_in: \fBNone\fP +Commit the changes in a specific number of minutes / hours. Example of +accepted formats: \fB5\fP (commit in 5 minutes), \fB2m\fP (commit in 2 +minutes), \fB1h\fP (commit the changes in 1 hour)\(ga, \fB5h30m\fP (commit +the changes in 5 hours and 30 minutes). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature works on any platforms, as it does not rely on the +native features of the network operating system. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +After the command is executed and the \fBdiff\fP is not satisfactory, +or for any other reasons you have to discard the commit, you are +able to do so using the +\fI\%net.cancel_commit\fP +execution function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Using this feature, Salt will load the exact configuration you +expect, however the diff may change in time (i.e., if an user +applies a manual configuration change, or a different process or +command changes the configuration in the meanwhile). +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B commit_at: \fBNone\fP +Commit the changes at a specific time. Example of accepted formats: +\fB1am\fP (will commit the changes at the next 1AM), \fB13:20\fP (will +commit at 13:20), \fB1:20am\fP, etc. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature works on any platforms, as it does not rely on the +native features of the network operating system. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +After the command is executed and the \fBdiff\fP is not satisfactory, +or for any other reasons you have to discard the commit, you are +able to do so using the +\fI\%net.cancel_commit\fP +execution function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Using this feature, Salt will load the exact configuration you +expect, however the diff may change in time (i.e., if an user +applies a manual configuration change, or a different process or +command changes the configuration in the meanwhile). +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B revert_in: \fBNone\fP +Commit and revert the changes in a specific number of minutes / hours. +Example of accepted formats: \fB5\fP (revert in 5 minutes), \fB2m\fP (revert +in 2 minutes), \fB1h\fP (revert the changes in 1 hour)\(ga, \fB5h30m\fP (revert +the changes in 5 hours and 30 minutes). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To confirm the commit, and prevent reverting the changes, you will +have to execute the +\fI\%net.confirm_commit\fP +function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This works on any platform, regardless if they have or don\(aqt have +native capabilities to confirming a commit. However, please be +\fIvery\fP cautious when using this feature: on Junos (as it is the only +NAPALM core platform supporting this natively) it executes a commit +confirmed as you would do from the command line. +All the other platforms don\(aqt have this capability natively, +therefore the revert is done via Salt. That means, your device needs +to be reachable at the moment when Salt will attempt to revert your +changes. Be cautious when pushing configuration changes that would +prevent you reach the device. +.sp +Similarly, if an user or a different process apply other +configuration changes in the meanwhile (between the moment you +commit and till the changes are reverted), these changes would be +equally reverted, as Salt cannot be aware of them. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B revert_at: \fBNone\fP +Commit and revert the changes at a specific time. Example of accepted +formats: \fB1am\fP (will commit and revert the changes at the next 1AM), +\fB13:20\fP (will commit and revert at 13:20), \fB1:20am\fP, etc. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To confirm the commit, and prevent reverting the changes, you will +have to execute the +\fI\%net.confirm_commit\fP +function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This works on any platform, regardless if they have or don\(aqt have +native capabilities to confirming a commit. However, please be +\fIvery\fP cautious when using this feature: on Junos (as it is the only +NAPALM core platform supporting this natively) it executes a commit +confirmed as you would do from the command line. +All the other platforms don\(aqt have this capability natively, +therefore the revert is done via Salt. That means, your device needs +to be reachable at the moment when Salt will attempt to revert your +changes. Be cautious when pushing configuration changes that would +prevent you reach the device. +.sp +Similarly, if an user or a different process apply other +configuration changes in the meanwhile (between the moment you +commit and till the changes are reverted), these changes would be +equally reverted, as Salt cannot be aware of them. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .TP .B defaults: None Default variables/context passed to the template. @@ -200524,6 +213145,14 @@ variable that will be sent to the template rendering system. Please see the examples below! .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +It is more recommended to use the \fBcontext\fP argument to avoid +conflicts between CLI arguments and template variables. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 7.0 .TP @@ -200578,31 +213207,29 @@ CLI Examples: salt \(aq*\(aq net.load_template set_ntp_peers peers=[192.168.0.1] # uses NAPALM default templates # inline template: -salt \-G \(aqos:junos\(aq net.load_template set_hostname template_source=\(aqsystem { host\-name {{host_name}}; }\(aq host_name=\(aqMX480.lab\(aq +salt \-G \(aqos:junos\(aq net.load_template template_source=\(aqsystem { host\-name {{host_name}}; }\(aq host_name=\(aqMX480.lab\(aq # inline template using grains info: -salt \-G \(aqos:junos\(aq net.load_template set_hostname template_source=\(aqsystem { host\-name {{grains.model}}.lab; }\(aq +salt \-G \(aqos:junos\(aq net.load_template template_source=\(aqsystem { host\-name {{grains.model}}.lab; }\(aq # if the device is a MX480, the command above will set the hostname as: MX480.lab # inline template using pillar data: -salt \-G \(aqos:junos\(aq net.load_template set_hostname template_source=\(aqsystem { host\-name {{pillar.proxy.host}}; }\(aq +salt \-G \(aqos:junos\(aq net.load_template template_source=\(aqsystem { host\-name {{pillar.proxy.host}}; }\(aq -salt \(aq*\(aq net.load_template my_template template_path=\(aq/tmp/tpl/\(aq my_param=\(aqaaa\(aq # will commit -salt \(aq*\(aq net.load_template my_template template_path=\(aq/tmp/tpl/\(aq my_param=\(aqaaa\(aq test=True # dry run +salt \(aq*\(aq net.load_template https://bit.ly/2OhSgqP hostname=example # will commit +salt \(aq*\(aq net.load_template https://bit.ly/2OhSgqP hostname=example test=True # dry run -salt \(aq*\(aq net.load_template salt://templates/my_stuff.jinja debug=True # equivalent of the next command -salt \(aq*\(aq net.load_template my_stuff.jinja template_path=salt://templates/ debug=True - -# in case the template needs to include files that are not under the same path (e.g. http://), -# to help the templating engine find it, you will need to specify the \(gasaltenv\(ga argument: -salt \(aq*\(aq net.load_template my_stuff.jinja template_path=salt://templates saltenv=/path/to/includes debug=True +salt \(aq*\(aq net.load_template salt://templates/example.jinja debug=True # Using the salt:// URI # render a mako template: -salt \(aq*\(aq net.load_template salt://templates/my_stuff.mako template_engine=mako debug=True +salt \(aq*\(aq net.load_template salt://templates/example.mako template_engine=mako debug=True # render remote template salt \-G \(aqos:junos\(aq net.load_template http://bit.ly/2fReJg7 test=True debug=True peers=[\(aq192.168.0.1\(aq] salt \-G \(aqos:ios\(aq net.load_template http://bit.ly/2gKOj20 test=True debug=True peers=[\(aq192.168.0.1\(aq] + +# render multiple templates at once +salt \(aq*\(aq net.load_template "[\(aqhttps://bit.ly/2OhSgqP\(aq, \(aqsalt://templates/example.jinja\(aq]" context="{\(aqhostname\(aq: \(aqexample\(aq}" .ft P .fi .UNINDENT @@ -200800,6 +213427,71 @@ salt \(aq*\(aq net.optics .UNINDENT .INDENT 0.0 .TP +.B salt.modules.napalm_network.patch(patchfile, options=u\(aq\(aq, saltenv=u\(aqbase\(aq, source_hash=None, show_changes=True, source=u\(aqrunning\(aq, path=None, test=False, commit=True, debug=False, replace=True) +New in version Fluorine. + +.sp +Apply a patch to the configuration source, and load the result into the +running config of the device. +.INDENT 7.0 +.TP +.B patchfile +A patch file to apply to the configuration source. +.TP +.B options +Options to pass to patch. +.TP +.B source_hash +If the patch file (specified via the \fBpatchfile\fP argument) is an +HTTP(S) or FTP URL and the file exists in the minion\(aqs file cache, this +option can be passed to keep the minion from re\-downloading the file if +the cached copy matches the specified hash. +.TP +.B show_changes: \fBTrue\fP +Controls how changes are presented. If \fBTrue\fP, this function will +return the of the changes made. +If \fBFalse\fP, then it will return a boolean (\fBTrue\fP if any changes +were made, otherwise False). +.TP +.B source: \fBrunning\fP +The configuration source. Choose from: \fBrunning\fP, \fBcandidate\fP, or +\fBstartup\fP\&. Default: \fBrunning\fP\&. +.TP +.B path: \fBNone\fP +Save the temporary configuration to a specific path, then read from +there. This argument is optional, can the user prefers a particular +location of the temporary file. +.TP +.B test: \fBFalse\fP +Dry run? If set as \fBTrue\fP, will apply the config, discard and return +the changes. Default: \fBFalse\fP and will commit the changes on the +device. +.TP +.B commit: \fBTrue\fP +Commit the configuration changes? Default: \fBTrue\fP\&. +.TP +.B debug: \fBFalse\fP +Debug mode. Will insert a new key in the output dictionary, as +\fBloaded_config\fP containing the raw configuration loaded on the device. +.TP +.B replace: \fBTrue\fP +Load and replace the configuration. Default: \fBTrue\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.patch https://example.com/running_config.patch +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.napalm_network.ping(*args, **kwargs) Executes a ping on the network device and returns a dictionary as a result. .INDENT 7.0 @@ -200845,6 +213537,124 @@ salt \(aq*\(aq net.ping 8.8.8.8 source=127.0.0.1 timeout=1 count=100 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.napalm_network.replace_pattern(pattern, repl, count=0, flags=8, bufsize=1, append_if_not_found=False, prepend_if_not_found=False, not_found_content=None, search_only=False, show_changes=True, backslash_literal=False, source=None, path=None, test=False, replace=True, debug=False, commit=True) +New in version Fluorine. + +.sp +Replace occurrences of a pattern in the configuration source. If +\fBshow_changes\fP is \fBTrue\fP, then a diff of what changed will be returned, +otherwise a \fBTrue\fP will be returned when changes are made, and \fBFalse\fP +when no changes are made. +This is a pure Python implementation that wraps Python\(aqs \fBsub()\fP\&. +.INDENT 7.0 +.TP +.B pattern +A regular expression, to be matched using Python\(aqs +\fBsearch()\fP\&. +.TP +.B repl +The replacement text. +.TP +.B count: \fB0\fP +Maximum number of pattern occurrences to be replaced. If count is a +positive integer \fBn\fP, only \fBn\fP occurrences will be replaced, +otherwise all occurrences will be replaced. +.TP +.B flags (list or int): \fB8\fP +A list of flags defined in the \fBre\fP module documentation from the +Python standard library. Each list item should be a string that will +correlate to the human\-friendly flag name. E.g., \fB[\(aqIGNORECASE\(aq, +\(aqMULTILINE\(aq]\fP\&. Optionally, \fBflags\fP may be an int, with a value +corresponding to the XOR (\fB|\fP) of all the desired flags. Defaults to +8 (which supports \(aqMULTILINE\(aq). +.TP +.B bufsize (int or str): \fB1\fP +How much of the configuration to buffer into memory at once. The +default value \fB1\fP processes one line at a time. The special value +\fBfile\fP may be specified which will read the entire file into memory +before processing. +.TP +.B append_if_not_found: \fBFalse\fP +If set to \fBTrue\fP, and pattern is not found, then the content will be +appended to the file. +.TP +.B prepend_if_not_found: \fBFalse\fP +If set to \fBTrue\fP and pattern is not found, then the content will be +prepended to the file. +.TP +.B not_found_content +Content to use for append/prepend if not found. If None (default), uses +\fBrepl\fP\&. Useful when \fBrepl\fP uses references to group in pattern. +.TP +.B search_only: \fBFalse\fP +If set to true, this no changes will be performed on the file, and this +function will simply return \fBTrue\fP if the pattern was matched, and +\fBFalse\fP if not. +.TP +.B show_changes: \fBTrue\fP +If \fBTrue\fP, return a diff of changes made. Otherwise, return \fBTrue\fP +if changes were made, and \fBFalse\fP if not. +.TP +.B backslash_literal: \fBFalse\fP +Interpret backslashes as literal backslashes for the repl and not +escape characters. This will help when using append/prepend so that +the backslashes are not interpreted for the repl on the second run of +the state. +.TP +.B source: \fBrunning\fP +The configuration source. Choose from: \fBrunning\fP, \fBcandidate\fP, or +\fBstartup\fP\&. Default: \fBrunning\fP\&. +.TP +.B path +Save the temporary configuration to a specific path, then read from +there. +.TP +.B test: \fBFalse\fP +Dry run? If set as \fBTrue\fP, will apply the config, discard and return +the changes. Default: \fBFalse\fP and will commit the changes on the +device. +.TP +.B commit: \fBTrue\fP +Commit the configuration changes? Default: \fBTrue\fP\&. +.TP +.B debug: \fBFalse\fP +Debug mode. Will insert a new key in the output dictionary, as +\fBloaded_config\fP containing the raw configuration loaded on the device. +.TP +.B replace: \fBTrue\fP +Load and replace the configuration. Default: \fBTrue\fP\&. +.UNINDENT +.sp +If an equal sign (\fB=\fP) appears in an argument to a Salt command it is +interpreted as a keyword argument in the format \fBkey=val\fP\&. That +processing can be bypassed in order to pass an equal sign through to the +remote shell command by manually specifying the kwarg: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.replace_pattern "bind\-address\es*=" "bind\-address:" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.replace_pattern PREFIX\-LIST_NAME new\-prefix\-list\-name +salt \(aq*\(aq net.replace_pattern bgp\-group\-name new\-bgp\-group\-name count=1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.napalm_network.rollback(*args, **kwargs) Rollbacks the configuration. .sp @@ -200862,6 +213672,37 @@ salt \(aq*\(aq net.rollback .UNINDENT .INDENT 0.0 .TP +.B salt.modules.napalm_network.save_config(source=None, path=None) +New in version Fluorine. + +.sp +Save the configuration to a file on the local file system. +.INDENT 7.0 +.TP +.B source: \fBrunning\fP +The configuration source. Choose from: \fBrunning\fP, \fBcandidate\fP, +\fBstartup\fP\&. Default: \fBrunning\fP\&. +.TP +.B path +Absolute path to file where to save the configuration. +To push the files to the Master, use +\fBcp.push\fP Execution function. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.save_config source=running +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.napalm_network.traceroute(*args, **kwargs) Calls the method traceroute from the NAPALM driver object and returns a dictionary with the result of the traceroute command executed on the device. @@ -200945,10 +213786,10 @@ Removes NTP peers configured on the device. .IP \(bu 2 \fBpeers\fP \-\- list of IP Addresses/Domain Names to be removed as NTP peers .IP \(bu 2 -\fB(\fP\fBbool\fP\fB)\fP (\fIcommit\fP) \-\- discard loaded config. By default \fItest\fP is False (will -not dicard the changes) +\fB(\fP\fBbool\fP\fB)\fP (\fIcommit\fP) \-\- discard loaded config. By default \fBtest\fP is False +(will not dicard the changes) .IP \(bu 2 -\fB(\fP\fBbool\fP\fB)\fP \-\- commit loaded config. By default \fIcommit\fP is True +\fB(\fP\fBbool\fP\fB)\fP \-\- commit loaded config. By default \fBcommit\fP is True (will commit the changes). Useful when the user does not want to commit after each change, but after a couple. .UNINDENT @@ -200984,10 +213825,10 @@ Removes NTP servers configured on the device. \fBservers\fP \-\- list of IP Addresses/Domain Names to be removed as NTP servers .IP \(bu 2 -\fB(\fP\fBbool\fP\fB)\fP (\fIcommit\fP) \-\- discard loaded config. By default \fItest\fP is False (will -not dicard the changes) +\fB(\fP\fBbool\fP\fB)\fP (\fIcommit\fP) \-\- discard loaded config. By default \fBtest\fP is False +(will not dicard the changes) .IP \(bu 2 -\fB(\fP\fBbool\fP\fB)\fP \-\- commit loaded config. By default \fIcommit\fP is True +\fB(\fP\fBbool\fP\fB)\fP \-\- commit loaded config. By default \fBcommit\fP is True (will commit the changes). Useful when the user does not want to commit after each change, but after a couple. .UNINDENT @@ -201095,12 +213936,12 @@ Configures a list of NTP peers on the device. .IP \(bu 2 \fBpeers\fP \-\- list of IP Addresses/Domain Names .IP \(bu 2 -\fB(\fP\fBbool\fP\fB)\fP (\fItest\fP) \-\- discard loaded config. By default \fItest\fP is False (will -not dicard the changes) +\fB(\fP\fBbool\fP\fB)\fP (\fItest\fP) \-\- discard loaded config. By default \fBtest\fP is False +(will not dicard the changes) .UNINDENT .TP .B Commit commit (bool) -commit loaded config. By default \fIcommit\fP is True +commit loaded config. By default \fBcommit\fP is True (will commit the changes). Useful when the user does not want to commit after each change, but after a couple. .UNINDENT @@ -201133,11 +213974,12 @@ Configures a list of NTP servers on the device. .IP \(bu 2 \fBservers\fP \-\- list of IP Addresses/Domain Names .IP \(bu 2 -\fB(\fP\fBbool\fP\fB)\fP (\fItest\fP) \-\- discard loaded config. By default \fItest\fP is False (will not dicard the changes) +\fB(\fP\fBbool\fP\fB)\fP (\fItest\fP) \-\- discard loaded config. By default \fBtest\fP is False +(will not dicard the changes) .UNINDENT .TP .B Commit commit (bool) -commit loaded config. By default \fIcommit\fP is True +commit loaded config. By default \fBcommit\fP is True (will commit the changes). Useful when the user does not want to commit after each change, but after a couple. .UNINDENT @@ -202830,9 +215672,549 @@ New in version 2018.3.0. .INDENT 0.0 .TP -.B salt.modules.netbox.filter(app, endpoint, **kwargs) +.B salt.modules.netbox.create_circuit(name, provider_id, circuit_type, description=None) +New in version Fluorine. + +.sp +Create a new Netbox circuit +.INDENT 7.0 +.TP +.B name +Name of the circuit +.TP +.B provider_id +The netbox id of the circuit provider +.TP +.B circuit_type +The name of the circuit type +.TP +.B asn +The ASN of the circuit provider +.TP +.B description +The description of the circuit +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_circuit NEW_CIRCUIT_01 Telia Transit 1299 "New Telia circuit" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_circuit_provider(name, asn=None) +New in version Fluorine. + +.sp +Create a new Netbox circuit provider +.INDENT 7.0 +.TP +.B name +The name of the circuit provider +.TP +.B asn +The ASN of the circuit provider +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_circuit_provider Telia 1299 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_circuit_termination(circuit, interface, device, speed, xconnect_id=None, term_side=u\(aqA\(aq) +New in version Fluorine. + +.sp +Terminate a circuit on an interface +.INDENT 7.0 +.TP +.B circuit +The name of the circuit +.TP +.B interface +The name of the interface to terminate on +.TP +.B device +The name of the device the interface belongs to +.TP +.B speed +The speed of the circuit, in Kbps +.TP +.B xconnect_id +The cross\-connect identifier +.TP +.B term_side +The side of the circuit termination +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_circuit_termination NEW_CIRCUIT_01 xe\-0/0/1 myminion 10000 xconnect_id=XCON01 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_circuit_type(name) +New in version Fluorine. + +.sp +Create a new Netbox circuit type. +.INDENT 7.0 +.TP +.B name +The name of the circuit type +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_circuit_type Transit +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_device(name, role, model, manufacturer, site) +New in version Fluorine. + +.sp +Create a new device with a name, role, model, manufacturer and site. +All these components need to be already in Netbox. +.INDENT 7.0 +.TP +.B name +The name of the device, e.g., \fBedge_router\fP +.TP +.B role +String of device role, e.g., \fBrouter\fP +.TP +.B model +String of device model, e.g., \fBMX480\fP +.TP +.B manufacturer +String of device manufacturer, e.g., \fBJuniper\fP +.TP +.B site +String of device site, e.g., \fBBRU\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_device edge_router router MX480 Juniper BRU +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_device_role(role, color) +New in version Fluorine. + +.sp +Create a device role +.INDENT 7.0 +.TP +.B role +String of device role, e.g., \fBrouter\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_device_role router +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_device_type(model, manufacturer) +New in version Fluorine. + +.sp +Create a device type. If the manufacturer doesn\(aqt exist, create a new manufacturer. +.INDENT 7.0 +.TP +.B model +String of device model, e.g., \fBMX480\fP +.TP +.B manufacturer +String of device manufacturer, e.g., \fBJuniper\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_device_type MX480 Juniper +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_interface(device_name, interface_name, mac_address=None, description=None, enabled=None, lag=None, lag_parent=None, form_factor=None) +New in version Fluorine. + +.sp +Attach an interface to a device. If not all arguments are provided, +they will default to Netbox defaults. +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP +.TP +.B interface_name +The name of the interface, e.g., \fBTenGigE0/0/0/0\fP +.TP +.B mac_address +String of mac address, e.g., \fB50:87:89:73:92:C8\fP +.TP +.B description +String of interface description, e.g., \fBNTT\fP +.TP +.B enabled +String of boolean interface status, e.g., \fBTrue\fP +.TP +.B lag: +Boolean of interface lag status, e.g., \fBTrue\fP +.TP +.B lag_parent +String of interface lag parent name, e.g., \fBae13\fP +.TP +.B form_factor +Integer of form factor id, obtained through _choices API endpoint, e.g., \fB200\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_interface edge_router ae13 description="Core uplink" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_interface_connection(interface_a, interface_b) +New in version Fluorine. + +.sp +Create an interface connection between 2 interfaces +.INDENT 7.0 +.TP +.B interface_a +Interface id for Side A +.TP +.B interface_b +Interface id for Side B +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_interface_connection 123 456 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_inventory_item(device_name, item_name, manufacturer_name=None, serial=u\(aq\(aq, part_id=u\(aq\(aq, description=u\(aq\(aq) +New in version Fluorine. + +.sp +Add an inventory item to an existing device. +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP\&. +.TP +.B item_name +String of inventory item name, e.g., \fBTransceiver\fP\&. +.TP +.B manufacturer_name +String of inventory item manufacturer, e.g., \fBFiberstore\fP\&. +.TP +.B serial +String of inventory item serial, e.g., \fBFS1238931\fP\&. +.TP +.B part_id +String of inventory item part id, e.g., \fB740\-01234\fP\&. +.TP +.B description +String of inventory item description, e.g., \fBSFP+\-10G\-LR\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_inventory_item edge_router Transceiver part_id=740\-01234 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_ipaddress(ip_address, family, device=None, interface=None) +New in version Fluorine. + +.sp +Add an IP address, and optionally attach it to an interface. +.INDENT 7.0 +.TP +.B ip_address +The IP address and CIDR, e.g., \fB192.168.1.1/24\fP +.TP +.B family +Integer of IP family, e.g., \fB4\fP +.TP +.B device +The name of the device to attach IP to, e.g., \fBedge_router\fP +.TP +.B interface +The name of the interface to attach IP to, e.g., \fBae13\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_ipaddress 192.168.1.1/24 4 device=edge_router interface=ae13 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_manufacturer(name) +New in version Fluorine. + +.sp +Create a device manufacturer. +.INDENT 7.0 +.TP +.B name +The name of the manufacturer, e.g., \fBJuniper\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_manufacturer Juniper +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_platform(platform) +New in version Fluorine. + +.sp +Create a new device platform +.INDENT 7.0 +.TP +.B platform +String of device platform, e.g., \fBjunos\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_platform junos +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.create_site(site) +New in version Fluorine. + +.sp +Create a new device site +.INDENT 7.0 +.TP +.B site +String of device site, e.g., \fBBRU\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.create_site BRU +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.delete_interface(device_name, interface_name) +New in version Fluorine. + +.sp +Delete an interface from a device. +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP\&. +.TP +.B interface_name +The name of the interface, e.g., \fBae13\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.delete_interface edge_router ae13 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.delete_inventory_item(item_id) +New in version Fluorine. + +.sp +Remove an item from a devices inventory. Identified by the netbox id +.INDENT 7.0 +.TP +.B item_id +Integer of item to be deleted +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.delete_inventory_item 1354 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.delete_ipaddress(ipaddr_id) +New in version Fluorine. + +.sp +Delete an IP address. IP addresses in Netbox are a combination of address +and the interface it is assigned to. +.INDENT 7.0 +.TP +.B id +The Netbox id for the IP address. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.delete_ipaddress 9002 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.filter_(app, endpoint, **kwargs) Get a list of items from NetBox. .INDENT 7.0 +.TP +.B app +String of netbox app, e.g., \fBdcim\fP, \fBcircuits\fP, \fBipam\fP +.TP +.B endpoint +String of app endpoint, e.g., \fBsites\fP, \fBregions\fP, \fBdevices\fP +.TP +.B kwargs +Optional arguments that can be used to filter. +All filter keywords are available in Netbox, +which can be found by surfing to the corresponding API endpoint, +and clicking Filters. e.g., \fBrole=router\fP +.UNINDENT +.sp +Returns a list of dictionaries +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -202845,8 +216227,18 @@ salt myminion netbox.filter dcim devices status=1 role=router .UNINDENT .INDENT 0.0 .TP -.B salt.modules.netbox.get(app, endpoint, id=None, **kwargs) +.B salt.modules.netbox.get_(app, endpoint, id=None, **kwargs) Get a single item from NetBox. +.INDENT 7.0 +.TP +.B app +String of netbox app, e.g., \fBdcim\fP, \fBcircuits\fP, \fBipam\fP +.TP +.B endpoint +String of app endpoint, e.g., \fBsites\fP, \fBregions\fP, \fBdevices\fP +.UNINDENT +.sp +Returns a single dictionary .sp To get an item based on ID. .INDENT 7.0 @@ -202873,6 +216265,287 @@ salt myminion netbox.get dcim devices name=my\-router .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.get_circuit_provider(name, asn=None) +New in version Fluorine. + +.sp +Get a circuit provider with a given name and optional ASN. +.INDENT 7.0 +.TP +.B name +The name of the circuit provider +.TP +.B asn +The ASN of the circuit provider +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.get_circuit_provider Telia 1299 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.get_interfaces(device_name=None, **kwargs) +New in version Fluorine. + +.sp +Returns interfaces for a specific device using arbitrary netbox filters +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP +.TP +.B kwargs +Optional arguments to be used for filtering +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.get_interfaces edge_router name="et\-0/0/5" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.get_ipaddresses(device_name=None, **kwargs) +New in version Fluorine. + +.sp +Filters for an IP address using specified filters +.INDENT 7.0 +.TP +.B device_name +The name of the device to check for the IP address +.TP +.B kwargs +Optional arguments that can be used to filter, e.g., \fBfamily=4\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.get_ipaddresses device_name family=4 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.make_interface_child(device_name, interface_name, parent_name) +New in version Fluorine. + +.sp +Set an interface as part of a LAG. +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP\&. +.TP +.B interface_name +The name of the interface to be attached to LAG, e.g., \fBxe\-1/0/2\fP\&. +.TP +.B parent_name +The name of the LAG interface, e.g., \fBae13\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.make_interface_child xe\-1/0/2 ae13 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.make_interface_lag(device_name, interface_name) +New in version Fluorine. + +.sp +Update an interface to be a LAG. +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP\&. +.TP +.B interface_name +The name of the interface, e.g., \fBae13\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.make_interface_lag edge_router ae13 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.openconfig_interfaces(device_name=None) +New in version Fluorine. + +.sp +Return a dictionary structured as standardised in the +\fI\%openconfig\-interfaces\fP +YANG model, containing physical and configuration data available in Netbox, +e.g., IP addresses, MTU, enabled / disabled, etc. +.INDENT 7.0 +.TP +.B device_name: \fBNone\fP +The name of the device to query the interface data for. If not provided, +will use the Minion ID. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netbox.openconfig_interfaces +salt \(aq*\(aq netbox.openconfig_interfaces device_name=cr1.thn.lon +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.openconfig_lacp(device_name=None) +New in version Fluorine. + +.sp +Return a dictionary structured as standardised in the +\fI\%openconfig\-lacp\fP +YANG model, with configuration data for Link Aggregation Control Protocol +(LACP) for aggregate interfaces. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +The \fBinterval\fP and \fBlacp_mode\fP keys have the values set as \fBSLOW\fP +and \fBACTIVE\fP respectively, as this data is not currently available +in Netbox, therefore defaulting to the values defined in the standard. +See \fI\%interval\fP +and \fI\%lacp\-mode\fP +for further details. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B device_name: \fBNone\fP +The name of the device to query the LACP information for. If not provided, +will use the Minion ID. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netbox.openconfig_lacp +salt \(aq*\(aq netbox.openconfig_lacp device_name=cr1.thn.lon +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.slugify(value) +\(aq +Slugify given value. +Credit to Djangoproject \fI\%https://docs.djangoproject.com/en/2.0/_modules/django/utils/text/#slugify\fP +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.update_device(name, **kwargs) +New in version Fluorine. + +.sp +Add attributes to an existing device, identified by name. +.INDENT 7.0 +.TP +.B name +The name of the device, e.g., \fBedge_router\fP +.TP +.B kwargs +Arguments to change in device, e.g., \fBserial=JN2932930\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.update_device edge_router serial=JN2932920 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netbox.update_interface(device_name, interface_name, **kwargs) +New in version Fluorine. + +.sp +Update an existing interface with new attributes. +.INDENT 7.0 +.TP +.B device_name +The name of the device, e.g., \fBedge_router\fP +.TP +.B interface_name +The name of the interface, e.g., \fBae13\fP +.TP +.B kwargs +Arguments to change in interface, e.g., \fBmac_address=50:87:69:53:32:D0\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion netbox.update_interface edge_router ae13 mac_address=50:87:69:53:32:D0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.netbsd_sysctl .sp Module for viewing and modifying sysctl parameters @@ -203131,7 +216804,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.netbsdservice.reload(name) +.B salt.modules.netbsdservice.reload_(name) Reload the named service .sp CLI Example: @@ -203194,9 +216867,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -203204,7 +216877,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -203236,6 +216909,618 @@ salt \(aq*\(aq service.stop .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.netmiko_mod +.SS Netmiko Execution Module +.sp +New in version Fluorine. + +.sp +Execution module to interface the connection with a remote network device. It is +flexible enough to execute the commands both when running under a Netmiko Proxy +Minion, as well as running under a Regular Minion by specifying the connection +arguments, i.e., \fBdevice_type\fP, \fBip\fP, \fBusername\fP, \fBpassword\fP etc. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%ping@mirceaulinic.net\fP> & Kirk Byers <\fI\%ktbyers@twb\-tech.com\fP> +.TP +.B maturity +new +.TP +.B depends +netmiko +.TP +.B platform +unix +.UNINDENT +.SS Dependencies +.sp +The \fBnetmiko\fP proxy modules requires Netmiko to be installed: \fBpip install netmiko\fP\&. +.SS Usage +.sp +This module can equally be used via the \fBnetmiko\fP +Proxy module (check documentation), or directly from an arbitrary (Proxy) Minion +that is running on a server (computer) having access to the network device, and +has the \fBnetmiko\fP library installed. +.sp +When running outside of the \fBnetmiko Proxy\fP (i.e., +from another Proxy Minion type, or regular Minion), the netmiko connection +arguments can be either specified from the CLI when executing the command, or +in a configuration block under the \fBnetmiko\fP key in the configuration opts +(i.e., (Proxy) Minion configuration file), or Pillar. The module supports these +simultaneously. These fields are the exact same supported by the \fBnetmiko\fP +Proxy Module: +.INDENT 0.0 +.IP \(bu 2 +\fBdevice_type\fP \- Class selection based on device type. Supported options: +.INDENT 2.0 +.IP \(bu 2 +\fBa10\fP: A10 Networks +.IP \(bu 2 +\fBaccedian\fP: Accedian Networks +.IP \(bu 2 +\fBalcatel_aos\fP: Alcatel AOS +.IP \(bu 2 +\fBalcatel_sros\fP: Alcatel SROS +.IP \(bu 2 +\fBapresia_aeos\fP: Apresia AEOS +.IP \(bu 2 +\fBarista_eos\fP: Arista EOS +.IP \(bu 2 +\fBaruba_os\fP: Aruba +.IP \(bu 2 +\fBavaya_ers\fP: Avaya ERS +.IP \(bu 2 +\fBavaya_vsp\fP: Avaya VSP +.IP \(bu 2 +\fBbrocade_fastiron\fP: Brocade Fastiron +.IP \(bu 2 +\fBbrocade_netiron\fP: Brocade Netiron +.IP \(bu 2 +\fBbrocade_nos\fP: Brocade NOS +.IP \(bu 2 +\fBbrocade_vdx\fP: Brocade NOS +.IP \(bu 2 +\fBbrocade_vyos\fP: VyOS +.IP \(bu 2 +\fBcheckpoint_gaia\fP: Check Point GAiA +.IP \(bu 2 +\fBcalix_b6\fP: Calix B6 +.IP \(bu 2 +\fBciena_saos\fP: Ciena SAOS +.IP \(bu 2 +\fBcisco_asa\fP: Cisco SA +.IP \(bu 2 +\fBcisco_ios\fP: Cisco IOS +.IP \(bu 2 +\fBcisco_nxos\fP: Cisco NX\-oS +.IP \(bu 2 +\fBcisco_s300\fP: Cisco S300 +.IP \(bu 2 +\fBcisco_tp\fP: Cisco TpTcCe +.IP \(bu 2 +\fBcisco_wlc\fP: Cisco WLC +.IP \(bu 2 +\fBcisco_xe\fP: Cisco IOS +.IP \(bu 2 +\fBcisco_xr\fP: Cisco XR +.IP \(bu 2 +\fBcoriant\fP: Coriant +.IP \(bu 2 +\fBdell_force10\fP: Dell Force10 +.IP \(bu 2 +\fBdell_os10\fP: Dell OS10 +.IP \(bu 2 +\fBdell_powerconnect\fP: Dell PowerConnect +.IP \(bu 2 +\fBeltex\fP: Eltex +.IP \(bu 2 +\fBenterasys\fP: Enterasys +.IP \(bu 2 +\fBextreme\fP: Extreme +.IP \(bu 2 +\fBextreme_wing\fP: Extreme Wing +.IP \(bu 2 +\fBf5_ltm\fP: F5 LTM +.IP \(bu 2 +\fBfortinet\fP: Fortinet +.IP \(bu 2 +\fBgeneric_termserver\fP: TerminalServer +.IP \(bu 2 +\fBhp_comware\fP: HP Comware +.IP \(bu 2 +\fBhp_procurve\fP: HP Procurve +.IP \(bu 2 +\fBhuawei\fP: Huawei +.IP \(bu 2 +\fBhuawei_vrpv8\fP: Huawei VRPV8 +.IP \(bu 2 +\fBjuniper\fP: Juniper Junos +.IP \(bu 2 +\fBjuniper_junos\fP: Juniper Junos +.IP \(bu 2 +\fBlinux\fP: Linux +.IP \(bu 2 +\fBmellanox\fP: Mellanox +.IP \(bu 2 +\fBmrv_optiswitch\fP: MrvOptiswitch +.IP \(bu 2 +\fBnetapp_cdot\fP: NetAppcDot +.IP \(bu 2 +\fBnetscaler\fP: Netscaler +.IP \(bu 2 +\fBovs_linux\fP: OvsLinux +.IP \(bu 2 +\fBpaloalto_panos\fP: PaloAlto Panos +.IP \(bu 2 +\fBpluribus\fP: Pluribus +.IP \(bu 2 +\fBquanta_mesh\fP: Quanta Mesh +.IP \(bu 2 +\fBruckus_fastiron\fP: Ruckus Fastiron +.IP \(bu 2 +\fBubiquiti_edge\fP: Ubiquiti Edge +.IP \(bu 2 +\fBubiquiti_edgeswitch\fP: Ubiquiti Edge +.IP \(bu 2 +\fBvyatta_vyos\fP: VyOS +.IP \(bu 2 +\fBvyos\fP: VyOS +.IP \(bu 2 +\fBbrocade_fastiron_telnet\fP: Brocade Fastiron over Telnet +.IP \(bu 2 +\fBbrocade_netiron_telnet\fP: Brocade Netiron over Telnet +.IP \(bu 2 +\fBcisco_ios_telnet\fP: Cisco IOS over Telnet +.IP \(bu 2 +\fBapresia_aeos_telnet\fP: Apresia AEOS over Telnet +.IP \(bu 2 +\fBarista_eos_telnet\fP: Arista EOS over Telnet +.IP \(bu 2 +\fBhp_procurve_telnet\fP: HP Procurve over Telnet +.IP \(bu 2 +\fBhp_comware_telnet\fP: HP Comware over Telnet +.IP \(bu 2 +\fBjuniper_junos_telnet\fP: Juniper Junos over Telnet +.IP \(bu 2 +\fBcalix_b6_telnet\fP: Calix B6 over Telnet +.IP \(bu 2 +\fBdell_powerconnect_telnet\fP: Dell PowerConnect over Telnet +.IP \(bu 2 +\fBgeneric_termserver_telnet\fP: TerminalServer over Telnet +.IP \(bu 2 +\fBextreme_telnet\fP: Extreme Networks over Telnet +.IP \(bu 2 +\fBruckus_fastiron_telnet\fP: Ruckus Fastiron over Telnet +.IP \(bu 2 +\fBcisco_ios_serial\fP: Cisco IOS over serial port +.UNINDENT +.IP \(bu 2 +\fBip\fP \- IP address of target device (not required if \fBhost\fP is provided) +.IP \(bu 2 +\fBhost\fP \- Hostname of target device (not required if \fBip\fP is provided) +.IP \(bu 2 +\fBusername\fP \- Username to authenticate against target device, if required +.IP \(bu 2 +\fBpassword\fP \- Password to authenticate against target device, if required +.IP \(bu 2 +\fBsecret\fP \- The enable password if target device requires one +.IP \(bu 2 +\fBport\fP \- The destination port used to connect to the target device +.IP \(bu 2 +\fBglobal_delay_factor\fP \- Multiplication factor affecting Netmiko delays +(default: \fB1\fP) +.IP \(bu 2 +\fBuse_keys\fP \- Connect to target device using SSH keys (default: \fBFalse\fP) +.IP \(bu 2 +\fBkey_file\fP \- Filename path of the SSH key file to use +.IP \(bu 2 +\fBallow_agent\fP \- Enable use of SSH key\-agent +.IP \(bu 2 +\fBssh_strict\fP \- Automatically reject unknown SSH host keys (default: +\fBFalse\fP, which means unknown SSH host keys will be accepted) +.IP \(bu 2 +\fBsystem_host_keys\fP \- Load host keys from the user\(aqs "known_hosts" file +(default: \fBFalse\fP) +.IP \(bu 2 +\fBalt_host_keys\fP \- If \fBTrue\fP, host keys will be loaded from the file +specified in \fBalt_key_file\fP (default: \fBFalse\fP) +.IP \(bu 2 +\fBalt_key_file\fP \- SSH host key file to use (if \fBalt_host_keys=True\fP) +.IP \(bu 2 +\fBssh_config_file\fP \- File name of OpenSSH configuration file +.IP \(bu 2 +\fBtimeout\fP \- Connection timeout, in seconds (default: \fB90\fP) +.IP \(bu 2 +\fBsession_timeout\fP \- Set a timeout for parallel requests, in seconds +(default: \fB60\fP) +.IP \(bu 2 +\fBkeepalive\fP \- Send SSH keepalive packets at a specific interval, in +seconds. Currently defaults to \fB0\fP, for backwards compatibility (it will +not attempt to keep the connection alive using the KEEPALIVE packets). +.IP \(bu 2 +\fBdefault_enter\fP \- Character(s) to send to correspond to enter key (default: +\fB\en\fP) +.IP \(bu 2 +\fBresponse_return\fP \- Character(s) to use in normalized return data to +represent enter key (default: \fB\en\fP) +.UNINDENT +.sp +Example (when not running in a \fBnetmiko\fP Proxy Minion): +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +netmiko: + username: test + password: test +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In case the \fBusername\fP and \fBpassword\fP are the same on any device you are +targeting, the block above (besides other parameters specific to your +environment you might need) should suffice to be able to execute commands from +outside a \fBnetmiko\fP Proxy, e.g.: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.send_command \(aqshow version\(aq host=router1.example.com device_type=juniper +salt \(aq*\(aq netmiko.send_config https://bit.ly/2sgljCB host=sw2.example.com device_type=cisco_ios +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Remember that the above applies only when not running in a \fBnetmiko\fP Proxy +Minion. If you want to use the \fB\fP, please follow +the documentation notes for a proper setup. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.call(method, *args, **kwargs) +Invoke an arbitrary Netmiko method. +.INDENT 7.0 +.TP +.B method +The name of the Netmiko method to invoke. +.TP +.B args +A list of arguments to send to the method invoked. +.TP +.B kwargs +Key\-value dictionary to send to the method invoked. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.commit(**kwargs) +Commit the configuration changes. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is supported only on the platforms that support the +\fBcommit\fP operation. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.commit +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.enter_config_mode(**kwargs) +Enter into config mode. +.INDENT 7.0 +.TP +.B config_command +Configuration command to send to the device. +.TP +.B pattern +Pattern to terminate reading of channel. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.enter_config_mode +salt \(aq*\(aq netmiko.enter_config_mode device_type=\(aqjuniper_junos\(aq ip=\(aq192.168.0.1\(aq username=\(aqexample\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.exit_config_mode(**kwargs) +Exit from configuration mode. +.INDENT 7.0 +.TP +.B exit_config +Command to exit configuration mode. +.TP +.B pattern +Pattern to terminate reading of channel. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.exit_config_mode +salt \(aq*\(aq netmiko.exit_config_mode device_type=\(aqjuniper\(aq ip=\(aq192.168.0.1\(aq username=\(aqexample\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.get_connection(**kwargs) +Return the Netmiko connection object. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This function returns an unserializable object, hence it is not meant +to be used on the CLI. This should mainly be used when invoked from +other modules for the low level connection with the network device. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B kwargs +Key\-value dictionary with the authentication details. +.UNINDENT +.sp +USAGE Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +conn = __salt__[\(aqnetmiko.get_connection\(aq](host=\(aqrouter1.example.com\(aq, + username=\(aqexample\(aq, + password=\(aqexample\(aq) +show_if = conn.send_command(\(aqshow interfaces\(aq) +conn.disconnect() +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.multi_call(*methods, **kwargs) +Invoke multiple Netmiko methods at once, and return their output, as list. +.INDENT 7.0 +.TP +.B methods +A list of dictionaries with the following keys: +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP: the name of the Netmiko method to be executed. +.IP \(bu 2 +\fBargs\fP: list of arguments to be sent to the Netmiko method. +.IP \(bu 2 +\fBkwargs\fP: dictionary of arguments to be sent to the Netmiko method. +.UNINDENT +.TP +.B kwargs +Key\-value dictionary with the connection details (when not running +under a Proxy Minion). +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.send_command(command_string, **kwargs) +Execute command_string on the SSH channel using a pattern\-based mechanism. +Generally used for show commands. By default this method will keep waiting +to receive data until the network device prompt is detected. The current +network device prompt will be determined automatically. +.INDENT 7.0 +.TP +.B command_string +The command to be executed on the remote device. +.TP +.B expect_string +Regular expression pattern to use for determining end of output. +If left blank will default to being based on router prompt. +.TP +.B delay_factor: \fB1\fP +Multiplying factor used to adjust delays (default: \fB1\fP). +.TP +.B max_loops: \fB500\fP +Controls wait time in conjunction with delay_factor. Will default to be +based upon self.timeout. +.TP +.B auto_find_prompt: \fBTrue\fP +Whether it should try to auto\-detect the prompt (default: \fBTrue\fP). +.TP +.B strip_prompt: \fBTrue\fP +Remove the trailing router prompt from the output (default: \fBTrue\fP). +.TP +.B strip_command: \fBTrue\fP +Remove the echo of the command from the output (default: \fBTrue\fP). +.TP +.B normalize: \fBTrue\fP +Ensure the proper enter is sent at end of command (default: \fBTrue\fP). +.TP +.B use_textfsm: \fBFalse\fP +Process command output through TextFSM template (default: \fBFalse\fP). +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.send_command \(aqshow version\(aq +salt \(aq*\(aq netmiko.send_command \(aqshow_version\(aq host=\(aqrouter1.example.com\(aq username=\(aqexample\(aq device_type=\(aqcisco_ios\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.send_command_timing(command_string, **kwargs) +Execute command_string on the SSH channel using a delay\-based mechanism. +Generally used for show commands. +.INDENT 7.0 +.TP +.B command_string +The command to be executed on the remote device. +.TP +.B delay_factor: \fB1\fP +Multiplying factor used to adjust delays (default: \fB1\fP). +.TP +.B max_loops: \fB500\fP +Controls wait time in conjunction with delay_factor. Will default to be +based upon self.timeout. +.TP +.B strip_prompt: \fBTrue\fP +Remove the trailing router prompt from the output (default: \fBTrue\fP). +.TP +.B strip_command: \fBTrue\fP +Remove the echo of the command from the output (default: \fBTrue\fP). +.TP +.B normalize: \fBTrue\fP +Ensure the proper enter is sent at end of command (default: \fBTrue\fP). +.TP +.B use_textfsm: \fBFalse\fP +Process command output through TextFSM template (default: \fBFalse\fP). +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.send_command_timing \(aqshow version\(aq +salt \(aq*\(aq netmiko.send_command_timing \(aqshow version\(aq host=\(aqrouter1.example.com\(aq username=\(aqexample\(aq device_type=\(aqarista_eos\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.netmiko_mod.send_config(config_file=None, config_commands=None, template_engine=\(aqjinja\(aq, commit=False, context=None, defaults=None, saltenv=\(aqbase\(aq, **kwargs) +Send configuration commands down the SSH channel. +Return the configuration lines sent to the device. +.sp +The function is flexible to send the configuration from a local or remote +file, or simply the commands as list. +.INDENT 7.0 +.TP +.B config_file +The source file with the configuration commands to be sent to the +device. +.sp +The file can also be a template that can be rendered using the template +engine of choice. +.sp +This can be specified using the absolute path to the file, or using one +of the following URL schemes: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP, to fetch the file from the Salt fileserver. +.IP \(bu 2 +\fBhttp://\fP or \fBhttps://\fP +.IP \(bu 2 +\fBftp://\fP +.IP \(bu 2 +\fBs3://\fP +.IP \(bu 2 +\fBswift://\fP +.UNINDENT +.TP +.B config_commands +Multiple configuration commands to be sent to the device. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_file\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B template_engine: \fBjinja\fP +The template engine to use when rendering the source file. Default: +\fBjinja\fP\&. To simply fetch the file without attempting to render, set +this argument to \fBNone\fP\&. +.TP +.B commit: \fBFalse\fP +Commit the configuration changes before exiting the config mode. This +option is by default disabled, as many platforms don\(aqt have this +capability natively. +.TP +.B context +Variables to add to the template context. +.TP +.B defaults +Default values of the context_dict. +.TP +.B exit_config_mode: \fBTrue\fP +Determines whether or not to exit config mode after complete. +.TP +.B delay_factor: \fB1\fP +Factor to adjust delays. +.TP +.B max_loops: \fB150\fP +Controls wait time in conjunction with delay_factor (default: \fB150\fP). +.TP +.B strip_prompt: \fBFalse\fP +Determines whether or not to strip the prompt (default: \fBFalse\fP). +.TP +.B strip_command: \fBFalse\fP +Determines whether or not to strip the command (default: \fBFalse\fP). +.TP +.B config_mode_command +The command to enter into config mode. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq netmiko.send_config config_commands="[\(aqinterface GigabitEthernet3\(aq, \(aqno ip address\(aq]" +salt \(aq*\(aq netmiko.send_config config_commands="[\(aqsnmp\-server location {{ grains.location }}\(aq]" +salt \(aq*\(aq netmiko.send_config config_file=salt://config.txt +salt \(aq*\(aq netmiko.send_config config_file=https://bit.ly/2sgljCB device_type=\(aqcisco_ios\(aq ip=\(aq1.2.3.4\(aq username=\(aqexample\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.netscaler .sp Module to provide Citrix Netscaler compatibility to Salt (compatible with netscaler 9.2+) @@ -208135,7 +222420,7 @@ salt \(aq*\(aq ip.apply_network_settings .UNINDENT .INDENT 0.0 .TP -.B salt.modules.nilrt_ip.build_interface(iface, iface_type, enable, **settings) +.B salt.modules.nilrt_ip.build_interface(iface, iface_type, enabled, **settings) Build an interface script for a network interface. .sp CLI Example: @@ -208171,16 +222456,18 @@ salt \(aq*\(aq ip.build_network_settings .TP .B salt.modules.nilrt_ip.disable(interface) Disable the specified interface +.sp +Change adapter mode to Disabled. If previous adapter mode was EtherCAT, the target will need reboot. .INDENT 7.0 .TP .B Parameters -\fBinterface\fP (\fI\%str\fP) \-\- interface label +\fBinterface\fP (\fIstr\fP) \-\- interface label .TP .B Returns True if the service was disabled, otherwise an exception will be thrown. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -208199,16 +222486,18 @@ salt \(aq*\(aq ip.disable interface\-label .TP .B salt.modules.nilrt_ip.down(interface, iface_type=None) Disable the specified interface +.sp +Change adapter mode to Disabled. If previous adapter mode was EtherCAT, the target will need reboot. .INDENT 7.0 .TP .B Parameters -\fBinterface\fP (\fI\%str\fP) \-\- interface label +\fBinterface\fP (\fIstr\fP) \-\- interface label .TP .B Returns True if the service was disabled, otherwise an exception will be thrown. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -208227,16 +222516,18 @@ salt \(aq*\(aq ip.down interface\-label .TP .B salt.modules.nilrt_ip.enable(interface) Enable the specified interface +.sp +Change adapter mode to TCP/IP. If previous adapter mode was EtherCAT, the target will need reboot. .INDENT 7.0 .TP .B Parameters -\fBinterface\fP (\fI\%str\fP) \-\- interface label +\fBinterface\fP (\fIstr\fP) \-\- interface label .TP .B Returns True if the service was enabled, otherwise an exception will be thrown. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -208275,7 +222566,7 @@ Get details about all the interfaces on the minion .INDENT 7.0 .TP .B Returns -information about all connmans interfaces +information about all interfaces omitting loopback .TP .B Return type dictionary @@ -208314,16 +222605,18 @@ salt \(aq*\(aq ip.get_network_settings .TP .B salt.modules.nilrt_ip.set_dhcp_linklocal_all(interface) Configure specified adapter to use DHCP with linklocal fallback +.sp +Change adapter mode to TCP/IP. If previous adapter mode was EtherCAT, the target will need reboot. .INDENT 7.0 .TP .B Parameters -\fBinterface\fP (\fI\%str\fP) \-\- interface label +\fBinterface\fP (\fIstr\fP) \-\- interface label .TP .B Returns -True if the settings ware applied, otherwise an exception will be thrown. +True if the settings were applied, otherwise an exception will be thrown. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -208340,29 +222633,122 @@ salt \(aq*\(aq ip.set_dhcp_linklocal_all interface\-label .UNINDENT .INDENT 0.0 .TP -.B salt.modules.nilrt_ip.set_static_all(interface, address, netmask, gateway, nameservers) -Configure specified adapter to use ipv4 manual settings +.B salt.modules.nilrt_ip.set_dhcp_only_all(interface) +Configure specified adapter to use DHCP only +.sp +Change adapter mode to TCP/IP. If previous adapter mode was EtherCAT, the target will need reboot. +.INDENT 7.0 +.TP +.B Parameters +\fBinterface\fP (\fIstr\fP) \-\- interface label +.TP +.B Returns +True if the settings were applied, otherwise an exception will be thrown. +.TP +.B Return type +bool +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ip.dhcp_only_all interface\-label +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nilrt_ip.set_ethercat(interface, master_id) +Configure specified adapter to use EtherCAT adapter mode. If successful, the target will need reboot if it doesn\(aqt +already use EtherCAT adapter mode, otherwise will return true. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBinterface\fP (\fI\%str\fP) \-\- interface label +\fBinterface\fP \-\- interface label .IP \(bu 2 -\fBaddress\fP (\fI\%str\fP) \-\- ipv4 address +\fBmaster_id\fP \-\- EtherCAT Master ID +.UNINDENT +.TP +.B Returns +True if the settings were applied, otherwise an exception will be thrown. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ip.set_ethercat interface\-label master\-id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nilrt_ip.set_linklocal_only_all(interface) +Configure specified adapter to use linklocal only +.sp +Change adapter mode to TCP/IP. If previous adapter mode was EtherCAT, the target will need reboot. +.INDENT 7.0 +.TP +.B Parameters +\fBinterface\fP (\fIstr\fP) \-\- interface label +.TP +.B Returns +True if the settings were applied, otherwise an exception will be thrown. +.TP +.B Return type +bool +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ip.linklocal_only_all interface\-label +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nilrt_ip.set_static_all(interface, address, netmask, gateway, nameservers) +Configure specified adapter to use ipv4 manual settings +.sp +Change adapter mode to TCP/IP. If previous adapter mode was EtherCAT, the target will need reboot. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 .IP \(bu 2 -\fBnetmask\fP (\fI\%str\fP) \-\- ipv4 netmask +\fBinterface\fP (\fIstr\fP) \-\- interface label .IP \(bu 2 -\fBgateway\fP (\fI\%str\fP) \-\- ipv4 gateway +\fBaddress\fP (\fIstr\fP) \-\- ipv4 address .IP \(bu 2 -\fBnameservers\fP (\fI\%str\fP) \-\- list of nameservers servers separated by spaces +\fBnetmask\fP (\fIstr\fP) \-\- ipv4 netmask +.IP \(bu 2 +\fBgateway\fP (\fIstr\fP) \-\- ipv4 gateway +.IP \(bu 2 +\fBnameservers\fP (\fIstr\fP) \-\- list of nameservers servers separated by spaces .UNINDENT .TP .B Returns True if the settings were applied, otherwise an exception will be thrown. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -208381,16 +222767,18 @@ salt \(aq*\(aq ip.set_static_all interface\-label address netmask gateway namese .TP .B salt.modules.nilrt_ip.up(interface, iface_type=None) Enable the specified interface +.sp +Change adapter mode to TCP/IP. If previous adapter mode was EtherCAT, the target will need reboot. .INDENT 7.0 .TP .B Parameters -\fBinterface\fP (\fI\%str\fP) \-\- interface label +\fBinterface\fP (\fIstr\fP) \-\- interface label .TP .B Returns True if the service was enabled, otherwise an exception will be thrown. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -208432,7 +222820,7 @@ Tells the user how many store paths were removed and how much space was freed. How much space was freed and how many derivations were removed .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp \fBWARNING:\fP @@ -208461,9 +222849,9 @@ Installs a single or multiple packages via nix .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpkgs\fP (\fI\%list\fP\fI(\fP\fI\%str\fP\fI)\fP) \-\- packages to update +\fBpkgs\fP (\fIlist\fP\fI(\fP\fIstr\fP\fI)\fP) \-\- packages to update .IP \(bu 2 -\fBattributes\fP (\fI\%bool\fP) \-\- Pass the list of packages or single package as attribues, not package names. +\fBattributes\fP (\fIbool\fP) \-\- Pass the list of packages or single package as attribues, not package names. default: False .UNINDENT .TP @@ -208471,7 +222859,7 @@ default: False Installed packages. Example element: \fBgcc\-3.3.2\fP .TP .B Return type -\fI\%list\fP(\fI\%str\fP) +list(str) .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -208494,10 +222882,10 @@ Lists installed packages. Due to how nix works, it defaults to just doing a \fBn .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBinstalled\fP (\fI\%bool\fP) \-\- list only installed packages. This can be a very long list (12,000+ elements), so caution is advised. +\fBinstalled\fP (\fIbool\fP) \-\- list only installed packages. This can be a very long list (12,000+ elements), so caution is advised. Default: True .IP \(bu 2 -\fBattributes\fP (\fI\%bool\fP) \-\- show the attributes of the packages when listing all packages. +\fBattributes\fP (\fIbool\fP) \-\- show the attributes of the packages when listing all packages. Default: True .UNINDENT .TP @@ -208505,7 +222893,7 @@ Default: True Packages installed or available, along with their attributes. .TP .B Return type -\fI\%list\fP(\fI\%list\fP(\fI\%str\fP)) +list(list(str)) .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -208528,13 +222916,13 @@ packages. .INDENT 7.0 .TP .B Parameters -\fBpkgs\fP (\fI\%list\fP\fI(\fP\fI\%str\fP\fI)\fP) \-\- List, single package to uninstall +\fBpkgs\fP (\fIlist\fP\fI(\fP\fIstr\fP\fI)\fP) \-\- List, single package to uninstall .TP .B Returns Packages that have been uninstalled .TP .B Return type -\fI\%list\fP(\fI\%str\fP) +list(str) .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -208554,13 +222942,13 @@ Runs an update operation on the specified packages, or all packages if none is s .INDENT 7.0 .TP .B Parameters -\fBpkgs\fP (\fI\%list\fP\fI(\fP\fI\%str\fP\fI)\fP) \-\- List of packages to update +\fBpkgs\fP (\fIlist\fP\fI(\fP\fIstr\fP\fI)\fP) \-\- List of packages to update .TP .B Returns The upgraded packages. Example element: \fB[\(aqlibxslt\-1.1.0\(aq, \(aqlibxslt\-1.1.10\(aq]\fP .TP .B Return type -\fI\%list\fP(\fI\%tuple\fP(\fI\%str\fP, \fI\%str\fP)) +list(tuple(str, str)) .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -208932,7 +223320,7 @@ salt \(aq*\(aq nova.keypair_list .UNINDENT .INDENT 0.0 .TP -.B salt.modules.nova.list(profile=None) +.B salt.modules.nova.list_(profile=None) To maintain the feel of the nova command line, this function simply calls the server_list function. .sp @@ -209501,7 +223889,7 @@ salt \(aq*\(aq npm.install coffee\-script@1.0.1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.npm.list(pkg=None, dir=None, runas=None, env=None, depth=None) +.B salt.modules.npm.list_(pkg=None, dir=None, runas=None, env=None, depth=None) List installed NPM packages. .sp If no directory is specified, this will return the list of globally\- @@ -209532,7 +223920,7 @@ New in version 2014.7.0. .B depth Limit the depth of the packages listed .sp -New in version 2016.11.6,: 2017.7.0 +New in version 2016.11.6,2017.7.0. .UNINDENT .sp @@ -210467,6 +224855,379 @@ salt \(aq*\(aq nxos.system_info .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.nxos_api module +.sp +Execution module to manage Cisco Nexus Switches (NX\-OS) over the NX\-API +.sp +New in version Fluorine. + +.sp +Execution module used to interface the interaction with a remote or local Nexus +switch whether we\(aqre running in a Proxy Minion or regular Minion (or regular +Minion running directly on the Nexus switch). +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%ping@mirceaulinic.net\fP> +.TP +.B maturity +new +.TP +.B platform +any +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +To be able to use this module you need to enable to NX\-API on your switch, +by executing \fBfeature nxapi\fP in configuration mode. +.sp +Configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +switch# conf t +switch(config)# feature nxapi +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To check that NX\-API is properly enabled, execute \fBshow nxapi\fP\&. +.sp +Output example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +switch# show nxapi +nxapi enabled +HTTPS Listen on port 443 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +NX\-API requires modern NXOS distributions, typically at least 7.0 depending +on the hardware. Due to reliability reasons it is recommended to run the +most recent version. +.sp +Check \fI\%https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/programmability/guide/b_Cisco_Nexus_7000_Series_NX\-OS_Programmability_Guide/b_Cisco_Nexus_7000_Series_NX\-OS_Programmability_Guide_chapter_0101.html\fP +for more details. +.UNINDENT +.UNINDENT +.SS Usage +.sp +This module can equally be used via the \fBnxos_api\fP +Proxy module or directly from an arbitrary (Proxy) Minion that is running on a +machine having access to the network device API. Given that there are no +external dependencies, this module can very well used when using the regular +Salt Minion directly installed on the switch. +.sp +When running outside of the \fBnxos_api Proxy\fP +(i.e., from another Proxy Minion type, or regular Minion), the NX\-API connection +arguments can be either specified from the CLI when executing the command, or +in a configuration block under the \fBnxos_api\fP key in the configuration opts +(i.e., (Proxy) Minion configuration file), or Pillar. The module supports these +simultaneously. These fields are the exact same supported by the \fBnxos_api\fP +Proxy Module: +.INDENT 0.0 +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the NX\-API connection. +.TP +.B password +The password to pass to the device to authenticate the NX\-API connection. +.TP +.B port +The TCP port of the endpoint for the NX\-API connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B timeout: \fB60\fP +Time in seconds to wait for the device to respond. Default: 60 seconds. +.TP +.B verify: \fBTrue\fP +Either a boolean, in which case it controls whether we verify the NX\-API +TLS certificate, or a string, in which case it must be a path to a CA bundle +to use. Defaults to \fBTrue\fP\&. +.sp +When there is no certificate configuration on the device and this option is +set as \fBTrue\fP (default), the commands will fail with the following error: +\fBSSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)\fP\&. +In this case, you either need to configure a proper certificate on the +device (\fIrecommended\fP), or bypass the checks setting this argument as \fBFalse\fP +with all the security risks considered. +.sp +Check \fI\%https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/programmability/6_x/b_Cisco_Nexus_3000_Series_NX\-OS_Programmability_Guide/b_Cisco_Nexus_3000_Series_NX\-OS_Programmability_Guide_chapter_01.html\fP +to see how to properly configure the certificate. +.UNINDENT +.sp +Example (when not running in a \fBnxos_api\fP Proxy Minion): +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +nxos_api: + username: test + password: test +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In case the \fBusername\fP and \fBpassword\fP are the same on any device you are +targeting, the block above (besides other parameters specific to your +environment you might need) should suffice to be able to execute commands from +outside a \fBnxos_api\fP Proxy, e.g.: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \-\-local nxos_api.show \(aqshow lldp neighbors\(aq raw_text +# The command above is available when running in a regular Minion where Salt is installed + +salt \(aq*\(aq nxos_api.show \(aqshow version\(aq raw_text=False +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Remember that the above applies only when not running in a \fBnxos_api\fP Proxy +Minion. If you want to use the \fBnxos_api Proxy\fP, +please follow the documentation notes for a proper setup. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nxos_api.config(commands=None, config_file=None, template_engine=u\(aqjinja\(aq, context=None, defaults=None, saltenv=u\(aqbase\(aq, **kwargs) +Configures the Nexus switch with the specified commands. +.sp +This method is used to send configuration commands to the switch. It +will take either a string or a list and prepend the necessary commands +to put the session into config mode. +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +All the commands will be applied directly into the running\-config. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B config_file +The source file with the configuration commands to be sent to the +device. +.sp +The file can also be a template that can be rendered using the template +engine of choice. +.sp +This can be specified using the absolute path to the file, or using one +of the following URL schemes: +.INDENT 7.0 +.IP \(bu 2 +\fBsalt://\fP, to fetch the file from the Salt fileserver. +.IP \(bu 2 +\fBhttp://\fP or \fBhttps://\fP +.IP \(bu 2 +\fBftp://\fP +.IP \(bu 2 +\fBs3://\fP +.IP \(bu 2 +\fBswift://\fP +.UNINDENT +.TP +.B commands +The commands to send to the switch in config mode. If the commands +argument is a string it will be cast to a list. +The list of commands will also be prepended with the necessary commands +to put the session in config mode. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This argument is ignored when \fBconfig_file\fP is specified. +.UNINDENT +.UNINDENT +.TP +.B template_engine: \fBjinja\fP +The template engine to use when rendering the source file. Default: +\fBjinja\fP\&. To simply fetch the file without attempting to render, set +this argument to \fBNone\fP\&. +.TP +.B context +Variables to add to the template context. +.TP +.B defaults +Default values of the context_dict. +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the NX\-API connection. +.TP +.B password +The password to pass to the device to authenticate the NX\-API connection. +.TP +.B port +The TCP port of the endpoint for the NX\-API connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B timeout: \fB60\fP +Time in seconds to wait for the device to respond. Default: 60 seconds. +.TP +.B verify: \fBTrue\fP +Either a boolean, in which case it controls whether we verify the NX\-API +TLS certificate, or a string, in which case it must be a path to a CA bundle +to use. Defaults to \fBTrue\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos_api.config commands="[\(aqspanning\-tree mode mstp\(aq]" +salt \(aq*\(aq nxos_api.config config_file=salt://config.txt +salt \(aq*\(aq nxos_api.config config_file=https://bit.ly/2LGLcDy context="{\(aqservers\(aq: [\(aq1.2.3.4\(aq]}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nxos_api.rpc(commands, method=u\(aqcli\(aq, **kwargs) +Execute an arbitrary RPC request via the Nexus API. +.INDENT 7.0 +.TP +.B commands +The commands to be executed. +.TP +.B method: \fBcli\fP +The type of the response, i.e., raw text (\fBcli_ascii\fP) or structured +document (\fBcli\fP). Defaults to \fBcli\fP (structured data). +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the NX\-API connection. +.TP +.B password +The password to pass to the device to authenticate the NX\-API connection. +.TP +.B port +The TCP port of the endpoint for the NX\-API connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B timeout: \fB60\fP +Time in seconds to wait for the device to respond. Default: 60 seconds. +.TP +.B verify: \fBTrue\fP +Either a boolean, in which case it controls whether we verify the NX\-API +TLS certificate, or a string, in which case it must be a path to a CA bundle +to use. Defaults to \fBTrue\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \-\-local nxps_api.rpc \(aqshow version\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nxos_api.show(commands, raw_text=True, **kwargs) +Execute one or more show (non\-configuration) commands. +.INDENT 7.0 +.TP +.B commands +The commands to be executed. +.TP +.B raw_text: \fBTrue\fP +Whether to return raw text or structured data. +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the NX\-API connection. +.TP +.B password +The password to pass to the device to authenticate the NX\-API connection. +.TP +.B port +The TCP port of the endpoint for the NX\-API connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B timeout: \fB60\fP +Time in seconds to wait for the device to respond. Default: 60 seconds. +.TP +.B verify: \fBTrue\fP +Either a boolean, in which case it controls whether we verify the NX\-API +TLS certificate, or a string, in which case it must be a path to a CA bundle +to use. Defaults to \fBTrue\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \-\-local nxos_api.show \(aqshow version\(aq +salt \(aq*\(aq nxos_api.show \(aqshow bgp sessions\(aq \(aqshow processes\(aq raw_text=False +salt \(aqregular\-minion\(aq nxos_api.show \(aqshow interfaces\(aq host=sw01.example.com username=test password=test +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.omapi .sp This module interacts with an ISC DHCP Server via OMAPI. @@ -210694,7 +225455,12 @@ salt \(aq*\(aq pkg.install sources=\(aq[{"": "salt://pkgs/\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.upgrade +salt \(aq*\(aq pkg.upgrade python%2.7 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.openbsdpkg.upgrade_available(name) +Check whether or not an upgrade is available for a given package +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.upgrade_available +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.openbsdpkg.version(*names, **kwargs) Returns a string representing the package version or an empty string if not installed. If more than one package name is specified, a dict of @@ -211000,7 +225821,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.openbsdrcctl.reload(name) +.B salt.modules.openbsdrcctl.reload_(name) Reload the named service. .sp CLI Example: @@ -211241,7 +226062,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.openbsdservice.reload(name) +.B salt.modules.openbsdservice.reload_(name) New in version 2014.7.0. .sp @@ -211307,9 +226128,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -211317,7 +226138,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -211448,7 +226269,7 @@ salt\-call openstack_config.get /etc/keystone/keystone.conf sql connection .UNINDENT .INDENT 0.0 .TP -.B salt.modules.openstack_config.set(filename, section, parameter, value) +.B salt.modules.openstack_config.set_(filename, section, parameter, value) Set a value in an OpenStack configuration file. .INDENT 7.0 .TP @@ -212469,6 +227290,18 @@ Multiple Package Options: .B pkgs A list of packages to delete. Must be passed as a python list. The \fBname\fP parameter will be ignored if this option is passed. +.TP +.B remove_dependencies +Remove package and all dependencies +.sp +New in version Fluorine. + +.TP +.B auto_remove_deps +Remove packages that were installed automatically to satisfy dependencies +.sp +New in version Fluorine. + .UNINDENT .sp Returns a dict containing the changes. @@ -212482,6 +227315,7 @@ CLI Example: salt \(aq*\(aq pkg.remove salt \(aq*\(aq pkg.remove ,, salt \(aq*\(aq pkg.remove pkgs=\(aq["foo", "bar"]\(aq +salt \(aq*\(aq pkg.remove pkgs=\(aq["foo", "bar"]\(aq remove_dependencies=True auto_remove_deps=True .ft P .fi .UNINDENT @@ -212734,9 +227568,14 @@ PATH: path to Oracle Client libs need to be in PATH .sp .nf .ft C -oracle.dbs: list of known based -oracle.dbs..uri: connection credentials in format: - user/password@host[:port]/sid[ as {sysdba|sysoper}] +oracle: + dbs: + : + uri: connection credentials in format: + user/password@host[:port]/sid[ servicename as {sysdba|sysoper}] + optional keyword servicename will determine whether it is a sid or service_name + : + uri: ..... .ft P .fi .UNINDENT @@ -213134,7 +227973,7 @@ salt \(aq*\(aq osquery.etc_services .UNINDENT .INDENT 0.0 .TP -.B salt.modules.osquery.file(attrs=None, where=None) +.B salt.modules.osquery.file_(attrs=None, where=None) Return file information from osquery .sp CLI Example: @@ -213219,7 +228058,7 @@ salt \(aq*\(aq osquery.hardware_events .UNINDENT .INDENT 0.0 .TP -.B salt.modules.osquery.hash(attrs=None, where=None) +.B salt.modules.osquery.hash_(attrs=None, where=None) Return hash information from osquery .sp CLI Example: @@ -213950,7 +228789,7 @@ salt \(aq*\(aq osquery.system_controls .UNINDENT .INDENT 0.0 .TP -.B salt.modules.osquery.time(attrs=None) +.B salt.modules.osquery.time_(attrs=None) Return time information from osquery .sp CLI Example: @@ -214546,7 +229385,7 @@ New in version 2014.7.0. .sp Return the name of the package that owns the file. Multiple file paths can -be passed. Like \fBpkg.version \fP +.TP +.B maturity +new +.TP +.B depends +none +.TP +.B platform +unix +.UNINDENT +.sp +New in version 2018.3.0. + +.SS Configuration +.sp +This module accepts connection configuration details either as +parameters, or as configuration settings in pillar as a Salt proxy. +Options passed into opts will be ignored if options are passed into pillar. +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBPalo Alto Proxy Module\fP +.UNINDENT +.UNINDENT +.SS About +.sp +This execution module was designed to handle connections to a Palo Alto based +firewall. This module adds support to send connections directly to the device +through the XML API or through a brokered connection to Panorama. +.INDENT 0.0 +.TP +.B salt.modules.panos.add_config_lock() +Prevent other users from changing configuration until the lock is released. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.add_config_lock +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.check_antivirus() +Get anti\-virus information from PaloAlto Networks server +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.check_antivirus +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.check_software() +Get software information from PaloAlto Networks server. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.check_software +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.clear_commit_tasks() +Clear all commit tasks. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.clear_commit_tasks +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.commit() +Commits the candidate configuration to the running configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.commit +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.deactivate_license(key_name=None) +Deactivates an installed license. +Required version 7.0.0 or greater. +.sp +key_name(str): The file name of the license key installed. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.deactivate_license key_name=License_File_Name.key +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.delete_license(key_name=None) +Remove license keys on disk. +.sp +key_name(str): The file name of the license key to be deleted. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.delete_license key_name=License_File_Name.key +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.download_antivirus() +Download the most recent anti\-virus package. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.download_antivirus +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.download_software_file(filename=None, synch=False) +Download software packages by filename. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBfilename\fP (\fIstr\fP) \-\- The filename of the PANOS file to download. +.IP \(bu 2 +\fBsynch\fP (\fIbool\fP) \-\- If true then the file will synch to the peer unit. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.download_software_file PanOS_5000\-8.0.0 +salt \(aq*\(aq panos.download_software_file PanOS_5000\-8.0.0 True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.download_software_version(version=None, synch=False) +Download software packages by version number. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBversion\fP (\fIstr\fP) \-\- The version of the PANOS file to download. +.IP \(bu 2 +\fBsynch\fP (\fIbool\fP) \-\- If true then the file will synch to the peer unit. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.download_software_version 8.0.0 +salt \(aq*\(aq panos.download_software_version 8.0.0 True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.fetch_license(auth_code=None) +Get new license(s) using from the Palo Alto Network Server. +.INDENT 7.0 +.TP +.B auth_code +The license authorization code. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.fetch_license +salt \(aq*\(aq panos.fetch_license auth_code=foobar +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_address(address=None, vsys=u\(aq1\(aq) +Get the candidate configuration for the specified get_address object. This will not return address objects that are +marked as pre\-defined objects. +.sp +address(str): The name of the address object. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_address myhost +salt \(aq*\(aq panos.get_address myhost 3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_address_group(addressgroup=None, vsys=u\(aq1\(aq) +Get the candidate configuration for the specified address group. This will not return address groups that are +marked as pre\-defined objects. +.sp +addressgroup(str): The name of the address group. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_address_group foobar +salt \(aq*\(aq panos.get_address_group foobar 3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_admins_active() +Show active administrators. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_admins_active +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_admins_all() +Show all administrators. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_admins_all +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_antivirus_info() +Show information about available anti\-virus packages. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_antivirus_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_arp() +Show ARP information. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_arp +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_cli_idle_timeout() +Show timeout information for this administrative session. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_cli_idle_timeout +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_cli_permissions() +Show cli administrative permissions. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_cli_permissions +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_disk_usage() +Report filesystem disk space usage. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_disk_usage +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_dns_server_config() +Get the DNS server configuration from the candidate configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_dns_server_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_domain_config() +Get the domain name configuration from the candidate configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_domain_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_dos_blocks() +Show the DoS block\-ip table. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_dos_blocks +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_fqdn_cache() +Print FQDNs used in rules and their IPs. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_fqdn_cache +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ha_config() +Get the high availability configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ha_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ha_link() +.INDENT 7.0 +.INDENT 3.5 +Show high\-availability link\-monitoring state. +.sp +CLI Example: +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ha_link +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ha_path() +Show high\-availability path\-monitoring state. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ha_path +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ha_state() +Show high\-availability state information. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ha_state +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ha_transitions() +Show high\-availability transition statistic information. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ha_transitions +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_hostname() +Get the hostname of the device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_hostname +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_interface_counters(name=u\(aqall\(aq) +Get the counter statistics for interfaces. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fIstr\fP) \-\- The name of the interface to view. By default, all interface statistics are viewed. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_interface_counters +salt \(aq*\(aq panos.get_interface_counters ethernet1/1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_interfaces(name=u\(aqall\(aq) +Show interface information. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fIstr\fP) \-\- The name of the interface to view. By default, all interface statistics are viewed. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_interfaces +salt \(aq*\(aq panos.get_interfaces ethernet1/1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_job(jid=None) +List all a single job by ID. +.INDENT 7.0 +.TP +.B jid +The ID of the job to retrieve. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_job jid=15 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_jobs(state=u\(aqall\(aq) +List all jobs on the device. +.INDENT 7.0 +.TP +.B state +The state of the jobs to display. Valid options are all, pending, or processed. Pending jobs are jobs +that are currently in a running or waiting state. Processed jobs are jobs that have completed +execution. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_jobs +salt \(aq*\(aq panos.get_jobs state=pending +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_lacp() +Show LACP state. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_lacp +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_license_info() +Show information about owned license(s). +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_license_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_license_tokens() +Show license token files for manual license deactivation. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_license_tokens +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_lldp_config() +Show lldp config for interfaces. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_lldp_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_lldp_counters() +Show lldp counters for interfaces. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_lldp_counters +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_lldp_local() +Show lldp local info for interfaces. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_lldp_local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_lldp_neighbors() +Show lldp neighbors info for interfaces. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_lldp_neighbors +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_local_admins() +Show all local administrator accounts. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_local_admins +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_logdb_quota() +Report the logdb quotas. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_logdb_quota +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_master_key() +Get the master key properties. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_master_key +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ntp_config() +Get the NTP configuration from the candidate configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ntp_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_ntp_servers() +Get list of configured NTP servers. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_ntp_servers +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_operational_mode() +Show device operational mode setting. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_operational_mode +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_panorama_status() +Show panorama connection status. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_panorama_status +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_permitted_ips() +Get the IP addresses that are permitted to establish management connections to the device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_permitted_ips +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_platform() +Get the platform model information and limitations. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_platform +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_predefined_application(application=None) +Get the configuration for the specified pre\-defined application object. This will only return pre\-defined +application objects. +.sp +application(str): The name of the pre\-defined application object. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_predefined_application saltstack +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_security_rule(rulename=None, vsys=u\(aq1\(aq) +Get the candidate configuration for the specified security rule. +.sp +rulename(str): The name of the security rule. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_security_rule rule01 +salt \(aq*\(aq panos.get_security_rule rule01 3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_service(service=None, vsys=u\(aq1\(aq) +Get the candidate configuration for the specified service object. This will not return services that are marked +as pre\-defined objects. +.sp +service(str): The name of the service object. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_service tcp\-443 +salt \(aq*\(aq panos.get_service tcp\-443 3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_service_group(servicegroup=None, vsys=u\(aq1\(aq) +Get the candidate configuration for the specified service group. This will not return service groups that are +marked as pre\-defined objects. +.sp +servicegroup(str): The name of the service group. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_service_group foobar +salt \(aq*\(aq panos.get_service_group foobar 3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_session_info() +Show device session statistics. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_session_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_snmp_config() +Get the SNMP configuration from the device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_snmp_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_software_info() +Show information about available software packages. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_software_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_system_date_time() +Get the system date/time. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_system_date_time +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_system_files() +List important files in the system. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_system_files +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_system_info() +Get the system information. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_system_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_system_services() +Show system services. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_system_services +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_system_state(mask=None) +Show the system state variables. +.INDENT 7.0 +.TP +.B mask +Filters by a subtree or a wildcard. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_system_state +salt \(aq*\(aq panos.get_system_state mask=cfg.ha.config.enabled +salt \(aq*\(aq panos.get_system_state mask=cfg.ha.* +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_uncommitted_changes() +Retrieve a list of all uncommitted changes on the device. +Requires PANOS version 8.0.0 or greater. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_uncommitted_changes +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_users_config() +Get the local administrative user account configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_users_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_vlans() +Show all VLAN information. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_vlans +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_xpath(xpath=u\(aq\(aq) +Retrieve a specified xpath from the candidate configuration. +.sp +xpath(str): The specified xpath in the candidate configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_xpath /config/shared/service +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_zone(zone=u\(aq\(aq, vsys=u\(aq1\(aq) +Get the candidate configuration for the specified zone. +.sp +zone(str): The name of the zone. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_zone trust +salt \(aq*\(aq panos.get_zone trust 2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.get_zones(vsys=u\(aq1\(aq) +Get all the zones in the candidate configuration. +.sp +vsys(str): The string representation of the VSYS ID. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.get_zones +salt \(aq*\(aq panos.get_zones 2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.install_antivirus(version=None, latest=False, synch=False, skip_commit=False) +Install anti\-virus packages. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBversion\fP (\fIstr\fP) \-\- The version of the PANOS file to install. +.IP \(bu 2 +\fBlatest\fP (\fIbool\fP) \-\- If true, the latest anti\-virus file will be installed. +The specified version option will be ignored. +.IP \(bu 2 +\fBsynch\fP (\fIbool\fP) \-\- If true, the anti\-virus will synch to the peer unit. +.IP \(bu 2 +\fBskip_commit\fP (\fIbool\fP) \-\- If true, the install will skip committing to the device. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.install_antivirus 8.0.0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.install_license() +Install the license key(s). +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.install_license +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.install_software(version=None) +Upgrade to a software package by version. +.INDENT 7.0 +.TP +.B Parameters +\fBversion\fP (\fIstr\fP) \-\- The version of the PANOS file to install. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.install_license 8.0.0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.reboot() +Reboot a running system. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.reboot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.refresh_fqdn_cache(force=False) +Force refreshes all FQDNs used in rules. +.INDENT 7.0 +.TP +.B force +Forces all fqdn refresh +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.refresh_fqdn_cache +salt \(aq*\(aq panos.refresh_fqdn_cache force=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.remove_config_lock() +Release config lock previously held. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.remove_config_lock +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.resolve_address(address=None, vsys=None) +Resolve address to ip address. +Required version 7.0.0 or greater. +.INDENT 7.0 +.TP +.B address +Address name you want to resolve. +.TP +.B vsys +The vsys name. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.resolve_address foo.bar.com +salt \(aq*\(aq panos.resolve_address foo.bar.com vsys=2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.save_device_config(filename=None) +Save device configuration to a named file. +.INDENT 7.0 +.TP +.B filename +The filename to save the configuration to. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.save_device_config foo.xml +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.save_device_state() +Save files needed to restore device to local disk. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.save_device_state +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_authentication_profile(profile=None, deploy=False) +Set the authentication profile of the Palo Alto proxy minion. A commit will be required before this is processed. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- The name of the authentication profile to set. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_authentication_profile foo +salt \(aq*\(aq panos.set_authentication_profile foo deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_hostname(hostname=None, deploy=False) +Set the hostname of the Palo Alto proxy minion. A commit will be required before this is processed. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhostname\fP (\fIstr\fP) \-\- The hostname to set +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_hostname newhostname +salt \(aq*\(aq panos.set_hostname newhostname deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_http(enabled=True, deploy=False) +Enables or disables the HTTP management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_http +salt \(aq*\(aq panos.set_management_http enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_https(enabled=True, deploy=False) +Enables or disables the HTTPS management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_https +salt \(aq*\(aq panos.set_management_https enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_icmp(enabled=True, deploy=False) +Enables or disables the ICMP management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_icmp +salt \(aq*\(aq panos.set_management_icmp enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_ocsp(enabled=True, deploy=False) +Enables or disables the HTTP OCSP management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_ocsp +salt \(aq*\(aq panos.set_management_ocsp enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_snmp(enabled=True, deploy=False) +Enables or disables the SNMP management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_snmp +salt \(aq*\(aq panos.set_management_snmp enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_ssh(enabled=True, deploy=False) +Enables or disables the SSH management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_ssh +salt \(aq*\(aq panos.set_management_ssh enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_management_telnet(enabled=True, deploy=False) +Enables or disables the Telnet management service on the device. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- If true the service will be enabled. If false the service will be disabled. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_management_telnet +salt \(aq*\(aq panos.set_management_telnet enabled=False deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_ntp_authentication(target=None, authentication_type=None, key_id=None, authentication_key=None, algorithm=None, deploy=False) +Set the NTP authentication of the Palo Alto proxy minion. A commit will be required before this is processed. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBtarget\fP (\fIstr\fP) \-\- Determines the target of the authentication. Valid options are primary, secondary, or both. +.IP \(bu 2 +\fBauthentication_type\fP (\fIstr\fP) \-\- The authentication type to be used. Valid options are symmetric, autokey, and none. +.IP \(bu 2 +\fBkey_id\fP (\fIint\fP) \-\- The NTP authentication key ID. +.IP \(bu 2 +\fBauthentication_key\fP (\fIstr\fP) \-\- The authentication key. +.IP \(bu 2 +\fBalgorithm\fP (\fIstr\fP) \-\- The algorithm type to be used for a symmetric key. Valid options are md5 and sha1. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ntp.set_authentication target=both authentication_type=autokey +salt \(aq*\(aq ntp.set_authentication target=primary authentication_type=none +salt \(aq*\(aq ntp.set_authentication target=both authentication_type=symmetric key_id=15 authentication_key=mykey algorithm=md5 +salt \(aq*\(aq ntp.set_authentication target=both authentication_type=symmetric key_id=15 authentication_key=mykey algorithm=md5 deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_ntp_servers(primary_server=None, secondary_server=None, deploy=False) +Set the NTP servers of the Palo Alto proxy minion. A commit will be required before this is processed. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprimary_server\fP (\fIstr\fP) \-\- The primary NTP server IP address or FQDN. +.IP \(bu 2 +\fBsecondary_server\fP (\fIstr\fP) \-\- The secondary NTP server IP address or FQDN. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ntp.set_servers 0.pool.ntp.org 1.pool.ntp.org +salt \(aq*\(aq ntp.set_servers primary_server=0.pool.ntp.org secondary_server=1.pool.ntp.org +salt \(aq*\(aq ntp.ser_servers 0.pool.ntp.org 1.pool.ntp.org deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_permitted_ip(address=None, deploy=False) +Add an IPv4 address or network to the permitted IP list. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBaddress\fP (\fIstr\fP) \-\- The IPv4 address or network to allow access to add to the Palo Alto device. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_permitted_ip 10.0.0.1 +salt \(aq*\(aq panos.set_permitted_ip 10.0.0.0/24 +salt \(aq*\(aq panos.set_permitted_ip 10.0.0.1 deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.set_timezone(tz=None, deploy=False) +Set the timezone of the Palo Alto proxy minion. A commit will be required before this is processed. +.sp +CLI Example: +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBtz\fP (\fIstr\fP) \-\- The name of the timezone to set. +.IP \(bu 2 +\fBdeploy\fP (\fIbool\fP) \-\- If true then commit the full candidate configuration, if false only set pending change. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.set_timezone UTC +salt \(aq*\(aq panos.set_timezone UTC deploy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.shutdown() +Shutdown a running system. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.shutdown +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.test_fib_route(ip=None, vr=u\(aqvr1\(aq) +Perform a route lookup within active route table (fib). +.sp +ip (str): The destination IP address to test. +.sp +vr (str): The name of the virtual router to test. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.test_fib_route 4.2.2.2 +salt \(aq*\(aq panos.test_fib_route 4.2.2.2 my\-vr +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.test_security_policy(sourcezone=None, destinationzone=None, source=None, destination=None, protocol=None, port=None, application=None, category=None, vsys=u\(aq1\(aq, allrules=False) +Checks which security policy as connection will match on the device. +.sp +sourcezone (str): The source zone matched against the connection. +.sp +destinationzone (str): The destination zone matched against the connection. +.sp +source (str): The source address. This must be a single IP address. +.sp +destination (str): The destination address. This must be a single IP address. +.sp +protocol (int): The protocol number for the connection. This is the numerical representation of the protocol. +.sp +port (int): The port number for the connection. +.sp +application (str): The application that should be matched. +.sp +category (str): The category that should be matched. +.sp +vsys (int): The numerical representation of the VSYS ID. +.sp +allrules (bool): Show all potential match rules until first allow rule. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.test_security_policy sourcezone=trust destinationzone=untrust protocol=6 port=22 +salt \(aq*\(aq panos.test_security_policy sourcezone=trust destinationzone=untrust protocol=6 port=22 vsys=2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.panos.unlock_admin(username=None) +Unlocks a locked administrator account. +.INDENT 7.0 +.TP +.B username +Username of the administrator. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq panos.unlock_admin username=bob +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.parallels module .sp Manage Parallels Desktop VMs with \fBprlctl\fP and \fBprlsrvctl\fP\&. Only some of @@ -215107,6 +231922,9 @@ the prlctl commands implemented so far. Of those that have been implemented, not all of the options may have been provided yet. For a complete reference, see the \fI\%Parallels Desktop Reference Guide\fP\&. .sp +This module requires the prlctl binary to be installed to run most functions. +To run parallels.prlsrvctl, the prlsrvctl binary is required. +.sp What has not been implemented yet can be accessed through \fBparallels.prlctl\fP and \fBparallels.prlsrvctl\fP (note the preceding double dash \fB\-\-\fP as necessary): @@ -215137,15 +231955,15 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to clone +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to clone .IP \(bu 2 -\fBnew_name\fP (\fI\%str\fP) \-\- Name of the new VM +\fBnew_name\fP (\fIstr\fP) \-\- Name of the new VM .IP \(bu 2 -\fBlinked\fP (\fI\%bool\fP) \-\- Create a linked virtual machine. +\fBlinked\fP (\fIbool\fP) \-\- Create a linked virtual machine. .IP \(bu 2 -\fBtemplate\fP (\fI\%bool\fP) \-\- Create a virtual machine template instead of a real virtual machine. +\fBtemplate\fP (\fIbool\fP) \-\- Create a virtual machine template instead of a real virtual machine. .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215174,9 +231992,9 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to clone +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to clone .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215209,13 +232027,13 @@ delete the derived snapshots .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose snapshot will be deleted +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM whose snapshot will be deleted .IP \(bu 2 -\fBsnap_name\fP (\fI\%str\fP) \-\- Name/ID of snapshot to delete +\fBsnap_name\fP (\fIstr\fP) \-\- Name/ID of snapshot to delete .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .IP \(bu 2 -\fBall\fP (\fI\%bool\fP) \-\- +\fBall\fP (\fIbool\fP) \-\- .sp Delete all snapshots having the name given .sp @@ -215240,18 +232058,18 @@ salt \(aq*\(aq parallels.delete_snapshot macvm \(aqSnapshot for linked clone\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.parallels.exec(name, command, runas=None) +.B salt.modules.parallels.exec_(name, command, runas=None) Run a command on a VM .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose exec will be returned +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM whose exec will be returned .IP \(bu 2 -\fBcommand\fP (\fI\%str\fP) \-\- Command to run on the VM +\fBcommand\fP (\fIstr\fP) \-\- Command to run on the VM .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215279,9 +232097,9 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215306,17 +232124,17 @@ List the snapshots .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose snapshots will be listed +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM whose snapshots will be listed .IP \(bu 2 -\fBsnap_id\fP (\fI\%str\fP) \-\- Name/ID of snapshot to display information about. If \fBtree=True\fP is +\fBsnap_id\fP (\fIstr\fP) \-\- Name/ID of snapshot to display information about. If \fBtree=True\fP is also specified, display the snapshot subtree having this snapshot as the root snapshot .IP \(bu 2 -\fBtree\fP (\fI\%bool\fP) \-\- List snapshots in tree format rather than tabular format +\fBtree\fP (\fIbool\fP) \-\- List snapshots in tree format rather than tabular format .IP \(bu 2 -\fBnames\fP (\fI\%bool\fP) \-\- List snapshots as ID, name pairs +\fBnames\fP (\fIbool\fP) \-\- List snapshots as ID, name pairs .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215344,7 +232162,7 @@ List information about the VMs .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp Name/ID of VM to list .sp @@ -215352,15 +232170,15 @@ Changed in version 2016.11.0: No longer implies \fBinfo=True\fP .IP \(bu 2 -\fBinfo\fP (\fI\%str\fP) \-\- List extra information +\fBinfo\fP (\fIstr\fP) \-\- List extra information .IP \(bu 2 -\fBall\fP (\fI\%bool\fP) \-\- List all non\-template VMs +\fBall\fP (\fIbool\fP) \-\- List all non\-template VMs .IP \(bu 2 -\fBargs\fP (\fI\%tuple\fP) \-\- Additional arguments given to \fBprctl list\fP +\fBargs\fP (\fItuple\fP) \-\- Additional arguments given to \fBprctl list\fP .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .IP \(bu 2 -\fBtemplate\fP (\fI\%bool\fP) \-\- +\fBtemplate\fP (\fIbool\fP) \-\- .sp List the available virtual machine templates. The real virtual machines will not be included in the output @@ -215395,11 +232213,11 @@ Execute a prlctl command .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsub_cmd\fP (\fI\%str\fP) \-\- prlctl subcommand to execute +\fBsub_cmd\fP (\fIstr\fP) \-\- prlctl subcommand to execute .IP \(bu 2 -\fBargs\fP (\fI\%str\fP) \-\- The arguments supplied to \fBprlctl \fP +\fBargs\fP (\fIstr\fP) \-\- The arguments supplied to \fBprlctl \fP .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215429,11 +232247,11 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsub_cmd\fP (\fI\%str\fP) \-\- prlsrvctl subcommand to execute +\fBsub_cmd\fP (\fIstr\fP) \-\- prlsrvctl subcommand to execute .IP \(bu 2 -\fBargs\fP (\fI\%str\fP) \-\- The arguments supplied to \fBprlsrvctl \fP +\fBargs\fP (\fIstr\fP) \-\- The arguments supplied to \fBprlsrvctl \fP .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlsrvctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlsrvctl command will be run as .UNINDENT .UNINDENT .sp @@ -215460,9 +232278,9 @@ Reset a VM by performing a hard shutdown and then a restart .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to reset +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to reset .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215488,9 +232306,9 @@ it .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to restart +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to restart .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215515,11 +232333,11 @@ Revert a VM to a snapshot .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to revert to a snapshot +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to revert to a snapshot .IP \(bu 2 -\fBsnap_name\fP (\fI\%str\fP) \-\- Name/ID of snapshot to revert to +\fBsnap_name\fP (\fIstr\fP) \-\- Name/ID of snapshot to revert to .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215544,13 +232362,13 @@ Create a snapshot .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to take a snapshot of +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to take a snapshot of .IP \(bu 2 -\fBsnap_name\fP (\fI\%str\fP) \-\- Name of snapshot +\fBsnap_name\fP (\fIstr\fP) \-\- Name of snapshot .IP \(bu 2 -\fBdesc\fP (\fI\%str\fP) \-\- Description of snapshot +\fBdesc\fP (\fIstr\fP) \-\- Description of snapshot .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215577,13 +232395,13 @@ no name or if the ID is not found or invalid, an empty string will be returned .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose snapshots are inspected +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM whose snapshots are inspected .IP \(bu 2 -\fBsnap_id\fP (\fI\%str\fP) \-\- ID of the snapshot +\fBsnap_id\fP (\fIstr\fP) \-\- ID of the snapshot .IP \(bu 2 -\fBstrict\fP (\fI\%bool\fP) \-\- Raise an exception if a name cannot be found for the given \fBsnap_id\fP +\fBstrict\fP (\fIbool\fP) \-\- Raise an exception if a name cannot be found for the given \fBsnap_id\fP .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215627,13 +232445,13 @@ name, a list will be returned .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose snapshots are inspected +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM whose snapshots are inspected .IP \(bu 2 -\fBsnap_name\fP (\fI\%str\fP) \-\- Name of the snapshot +\fBsnap_name\fP (\fIstr\fP) \-\- Name of the snapshot .IP \(bu 2 -\fBstrict\fP (\fI\%bool\fP) \-\- Raise an exception if multiple snapshot IDs are found +\fBstrict\fP (\fIbool\fP) \-\- Raise an exception if multiple snapshot IDs are found .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215658,9 +232476,9 @@ Start a VM .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to start +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to start .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215685,9 +232503,9 @@ Status of a VM .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose status will be returned +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM whose status will be returned .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215712,11 +232530,11 @@ Stop a VM .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to stop +\fBname\fP (\fIstr\fP) \-\- Name/ID of VM to stop .IP \(bu 2 -\fBkill\fP (\fI\%bool\fP) \-\- Perform a hard shutdown +\fBkill\fP (\fIbool\fP) \-\- Perform a hard shutdown .IP \(bu 2 -\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +\fBrunas\fP (\fIstr\fP) \-\- The user that the prlctl command will be run as .UNINDENT .UNINDENT .sp @@ -215880,7 +232698,7 @@ salt \(aq*\(aq partition.get_id /dev/sda 1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.parted.list(device, unit=None) +.B salt.modules.parted.list_(device, unit=None) Prints partition information of given .sp CLI Examples: @@ -216079,7 +232897,7 @@ salt \(aq*\(aq partition.rm /dev/sda 5 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.parted.set(device, minor, flag, state) +.B salt.modules.parted.set_(device, minor, flag, state) Changes a flag on the partition with number . .sp A flag can be either "on" or "off" (make sure to use proper quoting, see @@ -216695,7 +233513,7 @@ salt \(aq*\(aq pdbedit.generate_nt_hash my_passwd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pdbedit.get(login, hashes=False) +.B salt.modules.pdbedit.get_user(login, hashes=False) Get user account details .INDENT 7.0 .TP @@ -216722,7 +233540,7 @@ salt \(aq*\(aq pdbedit.get kaylee .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pdbedit.list(verbose=True, hashes=False) +.B salt.modules.pdbedit.list_users(verbose=True, hashes=False) List user accounts .INDENT 7.0 .TP @@ -216886,7 +233704,7 @@ salt \(aq*\(aq pecl.install fuse .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pecl.list(channel=None) +.B salt.modules.pecl.list_(channel=None) List installed pecl extensions. .sp CLI Example: @@ -216945,6 +233763,557 @@ salt \(aq*\(aq pecl.update fuse .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.peeringdb module +.SS PeeringDB Module +.sp +New in version Fluorine. + +.sp +Execution module for the basic interaction with the +\fI\%PeeringDB\fP API. +.sp +While for GET operations (the functions prefixed by \fBget_\fP) the credentials +are optional, there are some specific details that are visible only to +authenticated users. Moreover, the credentials are required when adding or +updating information. That means, the module can equally work out of the box +without any further configuration with the limitations imposed by the PeeringDB +API. +.sp +For complete API documentation, please refer to \fI\%https://www.peeringdb.com/apidocs/\fP\&. +.sp +Configuration (in the opts or Pillar): +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +peeringdb: + username: salt + password: 5@1t +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_fac(**kwargs) +Return the details of the facility identified using the search +filters specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible facilities registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/netfac/netfac_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_fac id=1774 +salt \(aq*\(aq peeringdb.get_fac state=UT +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_ix(**kwargs) +Return the details of an IX (Internet Exchange) using the search filters +specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible IXs registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/ix/ix_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_ix id=1 +salt \(aq*\(aq peeringdb.get_ix city=\(aqMilwaukee\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_ixfac(**kwargs) +Return the details of an IX (Internet Exchange) facility using the search +filters specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible IX facilities registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/ixfac/ixfac_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_ixfac id=1 +salt \(aq*\(aq peeringdb.get_ixfac city=\(aqMilwaukee\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_ixlan(**kwargs) +Return the details of an IX (Internet Exchange) together with the networks +available in this location (and their details), using the search filters +specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible IX LAN facilities registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/ixlan/ixlan_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_ixlan id=780 +salt \(aq*\(aq peeringdb.get_ixlan city=\(aqMilwaukee\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_ixpfx(**kwargs) +Return the details of an IX (Internet Exchange) together with the PeeringDB +IDs of the networks available in this location, using the search filters +specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible IX LAN facilities registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/ixpfx/ixpfx_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_ixpfx id=780 +salt \(aq*\(aq peeringdb.get_ixpfx city=\(aqMilwaukee\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_net(**kwargs) +Return the details of a network identified using the search filters +specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible networks registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/net/net_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_net id=4224 +salt \(aq*\(aq peeringdb.get_net asn=13335 +salt \(aq*\(aq peeringdb.get_net city=\(aqSalt Lake City\(aq +salt \(aq*\(aq peeringdb.get_net name__startswith=GTT +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_netfac(**kwargs) +Return the list of facilities used by a particular network, given the \fBid\fP +or other filters specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible network facilities registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/netfac/netfac_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_netfac id=780 +salt \(aq*\(aq peeringdb.get_netfac city=\(aqMilwaukee\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_netixlan(**kwargs) +Return the IP addresses used by a particular network at all the IXs where it +is available. The network is selected either via the \fBid\fP argument or the +other filters specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible IP addresses, of all networks, at all IXs, registered in +PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/netixlan/netixlan_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_netixlan asn=13335 +salt \(aq*\(aq peeringdb.get_netixlan ipaddr4=185.1.114.25 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_org(**kwargs) +Return the details of an organisation together with the networks +available in this location, using the search filters specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible organisations registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/org/org_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_org id=2 +salt \(aq*\(aq peeringdb.get_org city=Duesseldorf +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.peeringdb.get_poc(**kwargs) +Return the details of a person of contact together using the search filters +specified in the query. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If no \fBid\fP or filter arguments are specified, it will return all the +possible contacts registered in PeeringDB. +.sp +The available filters are documented at: +\fI\%https://www.peeringdb.com/apidocs/#!/poc/poc_list\fP +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq peeringdb.get_poc id=6721 +salt \(aq*\(aq peeringdb.get_poc email__contains=\(aq@cloudflare.com\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.pf +.sp +Control the OpenBSD packet filter (PF). +.INDENT 0.0 +.TP +.B codeauthor +Jasper Lievisse Adriaanse <\fI\%j@jasper.la\fP> +.UNINDENT +.sp +New in version Fluorine. + +.INDENT 0.0 +.TP +.B salt.modules.pf.disable() +Disable the Packet Filter. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.disable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pf.enable() +Enable the Packet Filter. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.enable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pf.flush(modifier) +Flush the specified packet filter parameters. +.INDENT 7.0 +.TP +.B modifier: +Should be one of the following: +.INDENT 7.0 +.IP \(bu 2 +all +.IP \(bu 2 +info +.IP \(bu 2 +osfp +.IP \(bu 2 +rules +.IP \(bu 2 +sources +.IP \(bu 2 +states +.IP \(bu 2 +tables +.UNINDENT +.sp +Please refer to the OpenBSD \fI\%pfctl(8)\fP +documentation for a detailed explanation of each command. +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.flush states +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pf.load(file=u\(aq/etc/pf.conf\(aq, noop=False) +Load a ruleset from the specific file, overwriting the currently loaded ruleset. +.INDENT 7.0 +.TP +.B file: +Full path to the file containing the ruleset. +.TP +.B noop: +Don\(aqt actually load the rules, just parse them. +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.load /etc/pf.conf.d/lockdown.conf +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pf.loglevel(level) +Set the debug level which limits the severity of log messages printed by \fBpf(4)\fP\&. +.INDENT 7.0 +.TP +.B level: +Log level. Should be one of the following: emerg, alert, crit, err, warning, notice, +info or debug. +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.loglevel emerg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pf.show(modifier) +Show filter parameters. +.INDENT 7.0 +.TP +.B modifier: +Modifier to apply for filtering. Only a useful subset of what pfctl supports +can be used with Salt. +.INDENT 7.0 +.IP \(bu 2 +rules +.IP \(bu 2 +states +.IP \(bu 2 +tables +.UNINDENT +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.show rules +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pf.table(command, table, **kwargs) +Apply a command on the specified table. +.INDENT 7.0 +.TP +.B table: +Name of the table. +.TP +.B command: +Command to apply to the table. Supported commands are: +.INDENT 7.0 +.IP \(bu 2 +add +.IP \(bu 2 +delete +.IP \(bu 2 +expire +.IP \(bu 2 +flush +.IP \(bu 2 +kill +.IP \(bu 2 +replace +.IP \(bu 2 +show +.IP \(bu 2 +test +.IP \(bu 2 +zero +.UNINDENT +.sp +Please refer to the OpenBSD \fI\%pfctl(8)\fP +documentation for a detailed explanation of each command. +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pf.table expire table=spam_hosts number=300 +salt \(aq*\(aq pf.table add table=local_hosts addresses=\(aq["127.0.0.1", "::1"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.philips_hue module .sp Philips HUE lamps module for proxy. @@ -218023,7 +235392,7 @@ salt \(aq*\(aq pip.is_installed salt .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pip.list(prefix=None, bin_env=None, user=None, cwd=None, env_vars=None, **kwargs) +.B salt.modules.pip.list_(prefix=None, bin_env=None, user=None, cwd=None, env_vars=None, **kwargs) Filter list of installed apps from \fBfreeze\fP and check to see if \fBprefix\fP exists in the list of packages installed. .sp @@ -218051,7 +235420,7 @@ salt \(aq*\(aq pip.list salt .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pip.list_all_versions(pkg, bin_env=None, include_alpha=False, include_beta=False, include_rc=False, user=None, cwd=None, index_url=None) +.B salt.modules.pip.list_all_versions(pkg, bin_env=None, include_alpha=False, include_beta=False, include_rc=False, user=None, cwd=None, index_url=None, extra_index_url=None) New in version 2017.7.3. .sp @@ -218081,6 +235450,14 @@ The user under which to run pip .TP .B cwd Directory from which to run pip +.TP +.B index_url +Base URL of Python Package Index +.. versionadded:: Fluorine +.TP +.B extra_index_url +Additional URL of Python Package Index +.. versionadded:: Fluorine .UNINDENT .sp CLI Example: @@ -219130,7 +236507,7 @@ salt \(aq*\(aq pkg.check checksum=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.clean(jail=None, chroot=None, root=None) +.B salt.modules.pkgng.clean(jail=None, chroot=None, root=None, clean_all=False, dryrun=False) Cleans the local cache of fetched remote packages .sp CLI Example: @@ -219140,12 +236517,81 @@ CLI Example: .nf .ft C salt \(aq*\(aq pkg.clean +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B jail +Cleans the package cache in the specified jail +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C salt \(aq*\(aq pkg.clean jail= +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B chroot +Cleans the package cache in the specified chroot (ignored if \fBjail\fP +is specified) +.TP +.B root +Cleans the package cache in the specified root (ignored if \fBjail\fP +is specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C salt \(aq*\(aq pkg.clean chroot=/path/to/chroot .ft P .fi .UNINDENT .UNINDENT +.TP +.B clean_all +Clean all packages from the local cache (not just those that have been +superseded by newer versions). +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C + +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +salt \(aq*\(aq pkg.clean clean_all=True +.TP +.B dryrun +Dry\-run mode. This list of changes to the local cache is always +printed, but no changes are actually made. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.clean dryrun=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -219325,6 +236771,48 @@ salt \(aq*\(aq pkg.fetch depends=True .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pkgng.hold(name=None, pkgs=None, **kwargs) +Version\-lock packages +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is provided primarily for compatibilty with some +parts of \fBstates.pkg\fP\&. +Consider using Consider using \fI\%pkg.lock\fP instead. instead. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B name +The name of the package to be held. +.UNINDENT +.sp +Multiple Package Options: +.INDENT 7.0 +.TP +.B pkgs +A list of packages to hold. Must be passed as a python list. The +\fBname\fP parameter will be ignored if this option is passed. +.UNINDENT +.sp +Returns a dict containing the changes. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.hold +salt \(aq*\(aq pkg.hold pkgs=\(aq["foo", "bar"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pkgng.install(name=None, fromrepo=None, pkgs=None, sources=None, jail=None, chroot=None, root=None, orphan=False, force=False, glob=False, local=False, dryrun=False, quiet=False, reinstall_requires=False, regex=False, pcre=False, batch=False, **kwargs) Install package(s) from a repository .INDENT 7.0 @@ -219559,6 +237047,75 @@ salt \(aq*\(aq pkg.latest_version chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pkgng.list_locked(**kwargs) +Query the package database those packages which are +locked against reinstallation, modification or deletion. +.sp +Returns returns a list of package names with version strings +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_locked +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B jail +List locked packages within the specified jail +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_locked jail= +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B chroot +List locked packages within the specified chroot (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_locked chroot=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B root +List locked packages within the specified root (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_locked root=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pkgng.list_pkgs(versions_as_list=False, jail=None, chroot=None, root=None, with_origin=False, **kwargs) List the packages currently installed as a dict: .INDENT 7.0 @@ -219609,6 +237166,211 @@ salt \(aq*\(aq pkg.list_pkgs chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pkgng.list_upgrades(refresh=True, **kwargs) +List those packages for which an upgrade is available +.sp +The \fBfromrepo\fP argument is also supported, as used in pkg states. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_upgrades +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B jail +List upgrades within the specified jail +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_upgrades jail= +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B chroot +List upgrades within the specified chroot (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_upgrades chroot=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B root +List upgrades within the specified root (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.list_upgrades root=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pkgng.lock(name, **kwargs) +Lock the named package against reinstallation, modification or deletion. +.sp +Returns True if the named package was successfully locked. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.lock +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B jail +Lock packages within the specified jail +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.lock jail= +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B chroot +Lock packages within the specified chroot (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.lock chroot=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B root +Lock packages within the specified root (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.lock root=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pkgng.locked(name, **kwargs) +Query the package database to determine if the named package +is locked against reinstallation, modification or deletion. +.sp +Returns True if the named package is locked, False otherwise. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.locked +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B jail +Test if a package is locked within the specified jail +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.locked jail= +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B chroot +Test if a package is locked within the specified chroot (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.locked chroot=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B root +Test if a package is locked within the specified root (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.locked root=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pkgng.parse_config(file_name=u\(aq/usr/local/etc/pkg.conf\(aq) Return dict of uncommented global variables. .sp @@ -220214,6 +237976,116 @@ salt \(aq*\(aq pkg.stats chroot=/path/to/chroot remote=True .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pkgng.unhold(name=None, pkgs=None, **kwargs) +Remove version locks +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This function is provided primarily for compatibilty with some parts of +\fBstates.pkg\fP\&. Consider using +\fI\%pkg.unlock\fP instead. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B name +The name of the package to be unheld +.UNINDENT +.sp +Multiple Package Options: +.INDENT 7.0 +.TP +.B pkgs +A list of packages to unhold. Must be passed as a python list. The +\fBname\fP parameter will be ignored if this option is passed. +.UNINDENT +.sp +Returns a dict containing the changes. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.unhold +salt \(aq*\(aq pkg.unhold pkgs=\(aq["foo", "bar"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pkgng.unlock(name, **kwargs) +Unlock the named package against reinstallation, modification or deletion. +.sp +Returns True if the named package was successfully unlocked. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.unlock +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B jail +Unlock packages within the specified jail +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.unlock jail= +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B chroot +Unlock packages within the specified chroot (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.unlock chroot=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B root +Unlock packages within the specified root (ignored if \fBjail\fP is +specified) +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.unlock root=/path/to/chroot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pkgng.update_package_site(new_url) Updates remote package repo URL, PACKAGESITE var to be exact. .sp @@ -221435,7 +239307,7 @@ Name of the directory to check .UNINDENT .INDENT 0.0 .TP -.B salt.modules.postgres.datadir_init(name, auth=u\(aqpassword\(aq, user=None, password=None, encoding=u\(aqUTF8\(aq, locale=None, runas=None) +.B salt.modules.postgres.datadir_init(name, auth=u\(aqpassword\(aq, user=None, password=None, encoding=u\(aqUTF8\(aq, locale=None, waldir=None, checksums=False, runas=None) New in version 2016.3.0. .sp @@ -221471,6 +239343,26 @@ The default encoding for new databases .TP .B locale The default locale for new databases +.TP +.B waldir +The transaction log (WAL) directory (default is to keep WAL +inside the data directory) +.sp +New in version Fluorine. + +.TP +.B checksums +If True, the cluster will be created with data page checksums. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Data page checksums are supported since PostgreSQL 9.3. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .TP .B runas The system user the operation should be performed on behalf of @@ -221616,7 +239508,7 @@ salt \(aq*\(aq postgres.get_installed_extension plpgsql .UNINDENT .INDENT 0.0 .TP -.B salt.modules.postgres.group_create(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createuser=None, createroles=None, encrypted=None, login=None, inherit=None, superuser=None, replication=None, rolepassword=None, groups=None, runas=None) +.B salt.modules.postgres.group_create(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createroles=None, encrypted=None, login=None, inherit=None, superuser=None, replication=None, rolepassword=None, groups=None, runas=None) Creates a Postgres group. A group is postgres is similar to a user, but cannot login. .sp @@ -221653,7 +239545,7 @@ salt \(aq*\(aq postgres.group_remove \(aqgroupname\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.postgres.group_update(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createroles=None, createuser=None, encrypted=None, inherit=None, login=None, superuser=None, replication=None, rolepassword=None, groups=None, runas=None) +.B salt.modules.postgres.group_update(groupname, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createroles=None, encrypted=None, inherit=None, login=None, superuser=None, replication=None, rolepassword=None, groups=None, runas=None) Updates a postgres group .sp CLI Examples: @@ -222637,7 +240529,7 @@ New in version 2015.8.0. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.postgres.user_create(username, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createuser=None, createroles=None, inherit=None, login=None, connlimit=None, encrypted=None, superuser=None, replication=None, rolepassword=None, valid_until=None, groups=None, runas=None) +.B salt.modules.postgres.user_create(username, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createroles=None, inherit=None, login=None, connlimit=None, encrypted=None, superuser=None, replication=None, rolepassword=None, valid_until=None, groups=None, runas=None) Creates a Postgres user. .sp CLI Examples: @@ -222709,7 +240601,7 @@ salt \(aq*\(aq postgres.user_remove \(aqusername\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.postgres.user_update(username, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createuser=None, createroles=None, encrypted=None, superuser=None, inherit=None, login=None, connlimit=None, replication=None, rolepassword=None, valid_until=None, groups=None, runas=None) +.B salt.modules.postgres.user_update(username, user=None, host=None, port=None, maintenance_db=None, password=None, createdb=None, createroles=None, encrypted=None, superuser=None, inherit=None, login=None, connlimit=None, replication=None, rolepassword=None, valid_until=None, groups=None, runas=None) Updates a Postgres user. .sp CLI Examples: @@ -223869,7 +241761,7 @@ salt \(aq*\(aq ps.virtual_memory Publish a command from a minion to a target .INDENT 0.0 .TP -.B salt.modules.publish.full_data(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5, expr_form=None) +.B salt.modules.publish.full_data(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5) Return the full data about the publication, this is invoked in the same way as the publish function .sp @@ -223906,7 +241798,7 @@ salt \(aq*\(aq publish.full_data test.kwarg arg=\(aqcheese=spam\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.publish.publish(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5, via_master=None, expr_form=None) +.B salt.modules.publish.publish(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5, via_master=None) Publish a command from the minion out to other minions. .sp Publications need to be enabled on the Salt master and the minion @@ -225094,6 +242986,346 @@ salt \(aq*\(aq purefa.volume_extend foo 10T .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.purefb +.sp +Management of Pure Storage FlashBlade +.SS Installation Prerequisites +.INDENT 0.0 +.IP \(bu 2 +You will need the \fBpurity_fb\fP python package in your python installation +path that is running salt. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +pip install purity_fb +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +Configure Pure Storage FlashBlade authentication. Use one of the following +three methods. +.INDENT 2.0 +.IP 1. 3 +From the minion config +.UNINDENT +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +pure_tags: + fb: + san_ip: management vip or hostname for the FlashBlade + api_token: A valid api token for the FlashBlade being managed +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 2.0 +.IP 2. 3 +From environment (PUREFB_IP and PUREFB_API) +.IP 3. 3 +From the pillar (PUREFB_IP and PUREFB_API) +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B maintainer +Simon Dodsley (\fI\%simon@purestorage.com\fP) +.TP +.B maturity +new +.TP +.B requires +purestorage +.TP +.B platform +all +.UNINDENT +.sp +New in version Fluorine. + +.INDENT 0.0 +.TP +.B salt.modules.purefb.fs_create(name, size=None, proto=u\(aqNFS\(aq, nfs_rules=u\(aq*(rw, no_root_squash)\(aq, snapshot=False) +Create a filesystem on a Pure Storage FlashBlade. +.sp +Will return False if filesystem already exists. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem (truncated to 63 characters) +.TP +.B proto +string +(Optional) Sharing protocol (NFS, CIFS or HTTP). If not specified default is NFS +.TP +.B snapshot: boolean +(Optional) Are snapshots enabled on the filesystem. Default is False +.TP +.B nfs_rules +string +(Optional) export rules for NFS. If not specified default is +\fB*(rw,no_root_squash)\fP\&. Refer to Pure Storage documentation for +formatting rules. +.TP +.B size +string +if specified capacity of filesystem. If not specified default to 32G. +Refer to Pure Storage documentation for formatting rules. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.fs_create foo proto=CIFS +salt \(aq*\(aq purefb.fs_create foo size=10T +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.fs_delete(name, eradicate=False) +Delete a share on a Pure Storage FlashBlade. +.sp +Will return False if filesystem doesn\(aqt exist or is already in a deleted state. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem +.TP +.B eradicate +boolean +(Optional) Eradicate filesystem after deletion if True. Default is False +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.fs_delete foo eradicate=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.fs_eradicate(name) +Eradicate a deleted filesystem on a Pure Storage FlashBlade. +.sp +Will return False is filesystem is not in a deleted state. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.fs_eradicate foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.fs_extend(name, size) +Resize an existing filesystem on a Pure Storage FlashBlade. +.sp +Will return False if new size is less than or equal to existing size. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem +.TP +.B size +string +New capacity of filesystem. +Refer to Pure Storage documentation for formatting rules. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.fs_extend foo 10T +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.fs_update(name, rules, snapshot=False) +Update filesystem on a Pure Storage FlashBlade. +.sp +Allows for change of NFS export rules and enabling/disabled +of snapshotting capability. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem +.TP +.B rules +string +NFS export rules for filesystem +Refer to Pure Storage documentation for formatting rules. +.TP +.B snapshot: boolean +(Optional) Enable/Disable snapshots on the filesystem. Default is False +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.fs_nfs_update foo rules=\(aq10.234.112.23(ro), 10.234.112.24(rw)\(aq snapshot=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.snap_create(name, suffix=None) +Create a filesystem snapshot on a Pure Storage FlashBlade. +.sp +Will return False if filesystem selected to snap does not exist. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem to snapshot +.TP +.B suffix +string +if specificed forces snapshot name suffix. If not specified defaults to timestamp. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.snap_create foo +salt \(aq*\(aq purefb.snap_create foo suffix=bar +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.snap_delete(name, suffix=None, eradicate=False) +Delete a filesystem snapshot on a Pure Storage FlashBlade. +.sp +Will return False if selected snapshot does not exist. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem +.TP +.B suffix +string +name of snapshot +.TP +.B eradicate +boolean +Eradicate snapshot after deletion if True. Default is False +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.snap_delete foo suffix=snap eradicate=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.purefb.snap_eradicate(name, suffix=None) +Eradicate a deleted filesystem snapshot on a Pure Storage FlashBlade. +.sp +Will return False if snapshot is not in a deleted state. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B name +string +name of filesystem +.TP +.B suffix +string +name of snapshot +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq purefb.snap_eradicate foo suffix=snap +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.pushbullet module .sp Module for sending messages to Pushbullet (\fI\%https://www.pushbullet.com\fP) @@ -225865,7 +244097,7 @@ salt \(aq*\(aq pyenv.is_installed .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pyenv.list(runas=None) +.B salt.modules.pyenv.list_(runas=None) List the installable versions of python. .sp CLI Example: @@ -226150,7 +244382,7 @@ salt \(aq*\(aq quota.report /media/data .UNINDENT .INDENT 0.0 .TP -.B salt.modules.quota.set(device, **kwargs) +.B salt.modules.quota.set_(device, **kwargs) Calls out to setquota, for a specific user or group .sp CLI Example: @@ -226786,7 +245018,7 @@ salt \(aq*\(aq rabbitmq.vhost_exists rabbit_host Publish a command from a minion to a target .INDENT 0.0 .TP -.B salt.modules.raet_publish.full_data(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5, expr_form=None) +.B salt.modules.raet_publish.full_data(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5) Return the full data about the publication, this is invoked in the same way as the publish function .sp @@ -226823,7 +245055,7 @@ salt \(aq*\(aq publish.full_data test.kwarg arg=\(aqcheese=spam\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.raet_publish.publish(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5, expr_form=None) +.B salt.modules.raet_publish.publish(tgt, fun, arg=None, tgt_type=u\(aqglob\(aq, returner=u\(aq\(aq, timeout=5) Publish a command from the minion out to other minions. .sp Publications need to be enabled on the Salt master and the minion @@ -227818,7 +246050,7 @@ Install a ruby implementation. .TP .B ruby The version of Ruby to install, should match one of the -versions listed by \fI\%rbenv.list\fP +versions listed by \fBrbenv.list\fP .TP .B runas The user under which to run rbenv. If not specified, then rbenv will be @@ -227870,7 +246102,7 @@ salt \(aq*\(aq rbenv.is_installed .UNINDENT .INDENT 0.0 .TP -.B salt.modules.rbenv.list(runas=None) +.B salt.modules.rbenv.list_(runas=None) List the installable versions of ruby .INDENT 7.0 .TP @@ -229039,7 +247271,7 @@ the change until the system restarts. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -229068,7 +247300,7 @@ Delete a registry key to include all subkeys and value/data pairs. .INDENT 7.0 .TP .B Parameters -\fBhive\fP (\fI\%str\fP) \-\- +\fBhive\fP (\fIstr\fP) \-\- .sp The name of the hive. Can be one of the following .INDENT 7.0 @@ -229107,7 +247339,7 @@ those that failed to delete. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -229137,7 +247369,7 @@ Delete a registry value entry or the default value for a key. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBhive\fP (\fI\%str\fP) \-\- +\fBhive\fP (\fIstr\fP) \-\- .sp The name of the hive. Can be one of the following .INDENT 2.0 @@ -229158,12 +247390,12 @@ HKEY_CURRENT_CONFIG or HKCC .UNINDENT .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The key (looks like a path) to the value name. +\fBkey\fP (\fIstr\fP) \-\- The key (looks like a path) to the value name. .IP \(bu 2 -\fBvname\fP (\fI\%str\fP) \-\- The value name. These are the individual name/data pairs under the +\fBvname\fP (\fIstr\fP) \-\- The value name. These are the individual name/data pairs under the key. If not passed, the key (Default) value will be deleted. .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Deletes the 32bit portion of the registry on 64bit installations. On +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Deletes the 32bit portion of the registry on 64bit installations. On 32bit machines this is ignored. .UNINDENT .TP @@ -229171,7 +247403,7 @@ key. If not passed, the key (Default) value will be deleted. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -229202,10 +247434,10 @@ New in version 2018.3.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- The full path of the \fBREG\fP file. This can be either a local file +\fBsource\fP (\fIstr\fP) \-\- The full path of the \fBREG\fP file. This can be either a local file path or a URL type supported by salt (e.g. \fBsalt://salt_master_path\fP) .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- If the value of this parameter is \fBTrue\fP then the \fBREG\fP file +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- If the value of this parameter is \fBTrue\fP then the \fBREG\fP file will be imported into the Windows 32 bit registry. Otherwise the Windows 64 bit registry will be used. .UNINDENT @@ -229214,12 +247446,12 @@ Windows 64 bit registry will be used. True if successful, otherwise an error is raised .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises .INDENT 7.0 .IP \(bu 2 -\fI\%ValueError\fP \-\- If the value of \fBsource\fP is an invalid path or otherwise +\fBValueError\fP \-\- If the value of \fBsource\fP is an invalid path or otherwise causes \fBcp.cache_file\fP to return \fBFalse\fP .IP \(bu 2 \fBCommandExecutionError\fP \-\- If \fBreg.exe\fP exits with a non\-0 exit code @@ -229252,18 +247484,18 @@ value/data pairs. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBhive\fP (\fI\%str\fP) \-\- The hive to connect to +\fBhive\fP (\fIstr\fP) \-\- The hive to connect to .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The key to check +\fBkey\fP (\fIstr\fP) \-\- The key to check .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Look in the 32bit portion of the registry +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Look in the 32bit portion of the registry .UNINDENT .TP .B Returns True if exists, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -229291,7 +247523,7 @@ Enumerates the subkeys in a registry key or hive. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBhive\fP (\fI\%str\fP) \-\- +\fBhive\fP (\fIstr\fP) \-\- .sp The name of the hive. Can be one of the following: .INDENT 2.0 @@ -229312,10 +247544,10 @@ HKEY_CURRENT_CONFIG or HKCC .UNINDENT .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The key (looks like a path) to the value name. If a key is not +\fBkey\fP (\fIstr\fP) \-\- The key (looks like a path) to the value name. If a key is not passed, the keys under the hive will be returned. .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Accesses the 32bit portion of the registry on 64 bit installations. +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Accesses the 32bit portion of the registry on 64 bit installations. On 32bit machines this is ignored. .UNINDENT .TP @@ -229323,7 +247555,7 @@ On 32bit machines this is ignored. A list of keys/subkeys under the hive or key. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -229351,7 +247583,7 @@ Enumerates the values in a registry key or hive. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBhive\fP (\fI\%str\fP) \-\- +\fBhive\fP (\fIstr\fP) \-\- .sp The name of the hive. Can be one of the following: .INDENT 2.0 @@ -229372,20 +247604,20 @@ HKEY_CURRENT_CONFIG or HKCC .UNINDENT .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The key (looks like a path) to the value name. If a key is not +\fBkey\fP (\fIstr\fP) \-\- The key (looks like a path) to the value name. If a key is not passed, the values under the hive will be returned. .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Accesses the 32bit portion of the registry on 64 bit installations. +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Accesses the 32bit portion of the registry on 64 bit installations. On 32bit machines this is ignored. .IP \(bu 2 -\fBinclude_default\fP (\fI\%bool\fP) \-\- Toggle whether to include the \(aq(Default)\(aq value. +\fBinclude_default\fP (\fIbool\fP) \-\- Toggle whether to include the \(aq(Default)\(aq value. .UNINDENT .TP .B Returns A list of values under the hive or key. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -229414,7 +247646,7 @@ default value, don\(aqt pass \fBvname\fP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBhive\fP (\fI\%str\fP) \-\- +\fBhive\fP (\fIstr\fP) \-\- .sp The name of the hive. Can be one of the following: .INDENT 2.0 @@ -229431,12 +247663,12 @@ HKEY_CURRENT_CONFIG or HKCC .UNINDENT .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The key (looks like a path) to the value name. +\fBkey\fP (\fIstr\fP) \-\- The key (looks like a path) to the value name. .IP \(bu 2 -\fBvname\fP (\fI\%str\fP) \-\- The value name. These are the individual name/data pairs under the +\fBvname\fP (\fIstr\fP) \-\- The value name. These are the individual name/data pairs under the key. If not passed, the key (Default) value will be returned. .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Accesses the 32bit portion of the registry on 64bit installations. +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Accesses the 32bit portion of the registry on 64bit installations. On 32bit machines this is ignored. .UNINDENT .TP @@ -229460,7 +247692,7 @@ Returns none if first unnamed value is empty. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -229510,7 +247742,7 @@ specified key .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBhive\fP (\fI\%str\fP) \-\- +\fBhive\fP (\fIstr\fP) \-\- .sp The name of the hive. Can be one of the following .INDENT 2.0 @@ -229531,12 +247763,12 @@ HKEY_CURRENT_CONFIG or HKCC .UNINDENT .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The key (looks like a path) to the value name. +\fBkey\fP (\fIstr\fP) \-\- The key (looks like a path) to the value name. .IP \(bu 2 -\fBvname\fP (\fI\%str\fP) \-\- The value name. These are the individual name/data pairs under the +\fBvname\fP (\fIstr\fP) \-\- The value name. These are the individual name/data pairs under the key. If not passed, the key (Default) value will be set. .IP \(bu 2 -\fBvdata\fP (\fI\%str\fP\fI, \fP\fI\%int\fP\fI, \fP\fI\%list\fP\fI, \fP\fI\%bytes\fP) \-\- +\fBvdata\fP (\fIstr\fP\fI, \fP\fIint\fP\fI, \fP\fIlist\fP\fI, \fP\fIbytes\fP) \-\- .sp The value you\(aqd like to set. If a value name (vname) is passed, this will be the data for that value name. If not, this will be the @@ -229588,13 +247820,13 @@ will be created with no associated item/value pairs. .UNINDENT .IP \(bu 2 -\fBvtype\fP (\fI\%str\fP) \-\- The value type. The possible values of the vtype parameter are +\fBvtype\fP (\fIstr\fP) \-\- The value type. The possible values of the vtype parameter are indicated above in the description of the vdata parameter. .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Sets the 32bit portion of the registry on 64bit installations. On +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Sets the 32bit portion of the registry on 64bit installations. On 32bit machines this is ignored. .IP \(bu 2 -\fBvolatile\fP (\fI\%bool\fP) \-\- When this parameter has a value of True, the registry key will be +\fBvolatile\fP (\fIbool\fP) \-\- When this parameter has a value of True, the registry key will be made volatile (i.e. it will not persist beyond a system reset or shutdown). This parameter only has an effect when a key is being created and at no other time. @@ -229604,7 +247836,7 @@ created and at no other time. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -229808,7 +248040,7 @@ salt \(aq*\(aq service.get_all .UNINDENT .INDENT 0.0 .TP -.B salt.modules.rest_service.list() +.B salt.modules.rest_service.list_() Return a list of all available services. .sp CLI Example: @@ -229888,9 +248120,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Not implemented +\fBsig\fP (\fIstr\fP) \-\- Not implemented .UNINDENT .TP .B Returns @@ -229898,7 +248130,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -229949,7 +248181,7 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP -.B salt.modules.restartcheck.restartcheck(ignorelist=None, blacklist=None, excludepid=None, verbose=True) +.B salt.modules.restartcheck.restartcheck(ignorelist=None, blacklist=None, excludepid=None, **kwargs) Analyzes files openeded by running processes and seeks for packages which need to be restarted. .INDENT 7.0 .TP @@ -229963,12 +248195,17 @@ Analyzes files openeded by running processes and seeks for packages which need t \fBexcludepid\fP \-\- string or list of process IDs to be ignored .IP \(bu 2 \fBverbose\fP \-\- boolean, enables extensive output +.IP \(bu 2 +\fBtimeout\fP \-\- int, timeout in minute .UNINDENT .TP .B Returns -True if no packages for restart found. -False on failure. -String with checkrestart output if some package seems to need to be restarted. +{ \(aqresult\(aq: False, \(aqcomment\(aq: \(aq\(aq } +String with checkrestart output if some package seems to need to be restarted or +if no packages need restarting. +.TP +.B Return type +Dict on error .UNINDENT .sp New in version 2015.8.3. @@ -230447,7 +248684,7 @@ salt \(aq*\(aq service.missing sshd limit=sysvinit .UNINDENT .INDENT 0.0 .TP -.B salt.modules.rh_service.reload(name) +.B salt.modules.rh_service.reload_(name) Reload the named service .sp CLI Example: @@ -230510,9 +248747,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -230520,7 +248757,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -230890,7 +249127,7 @@ salt \(aq*\(aq lowpkg.file_list .UNINDENT .INDENT 0.0 .TP -.B salt.modules.rpm.info(*packages, **attr) +.B salt.modules.rpm.info(*packages, **kwargs) Return a detailed package(s) summary information. If no packages specified, all packages will be returned. .INDENT 7.0 @@ -230910,6 +249147,8 @@ version, vendor, release, build_date, build_date_time_t, install_date, install_d build_host, group, source_rpm, arch, epoch, size, license, signature, packager, url, summary, description. .UNINDENT +.IP \(bu 2 +\fBall_versions\fP \-\- Return information for all installed versions of the packages .UNINDENT .TP .B Returns @@ -230925,6 +249164,7 @@ CLI example: salt \(aq*\(aq lowpkg.info apache2 bash salt \(aq*\(aq lowpkg.info apache2 bash attr=version salt \(aq*\(aq lowpkg.info apache2 bash attr=version,build_date_iso,size +salt \(aq*\(aq lowpkg.info apache2 bash attr=version,build_date_iso,size all_versions=True .ft P .fi .UNINDENT @@ -231404,10 +249644,9 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq rsync.rsync {src} {dst} {delete=True} {update=True} {passwordfile=/etc/pass.crt} {exclude=xx} {rsh} -salt \(aq*\(aq rsync.rsync {src} {dst} {delete=True} {excludefrom=/xx.ini} {rsh} - -salt \(aq*\(aq rsync.rsync {src} {dst} {delete=True} {excludefrom=/xx.ini} additional_opts=\(aq["\-\-partial", "\-\-bwlimit=5000"]\(aq +salt \(aq*\(aq rsync.rsync /path/to/src /path/to/dest delete=True update=True passwordfile=/etc/pass.crt exclude=exclude/dir +salt \(aq*\(aq rsync.rsync /path/to/src delete=True excludefrom=/xx.ini +salt \(aq*\(aq rsync.rsync /path/to/src delete=True exclude=\(aq[exclude1/dir,exclude2/dir]\(aq additional_opts=\(aq["\-\-partial", "\-\-bwlimit=5000"]\(aq .ft P .fi .UNINDENT @@ -231757,7 +249996,7 @@ salt \(aq*\(aq runit.missing .UNINDENT .INDENT 0.0 .TP -.B salt.modules.runit.reload(name) +.B salt.modules.runit.reload_(name) Reload service .INDENT 7.0 .TP @@ -232235,7 +250474,7 @@ salt \(aq*\(aq rvm.is_installed .UNINDENT .INDENT 0.0 .TP -.B salt.modules.rvm.list(runas=None) +.B salt.modules.rvm.list_(runas=None) List all rvm\-installed rubies .INDENT 7.0 .TP @@ -232760,7 +250999,7 @@ salt \(aq*\(aq s6.missing foo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.s6.reload(name) +.B salt.modules.s6.reload_(name) Send a HUP to service via s6 .sp CLI Example: @@ -233061,7 +251300,7 @@ Nested states will also be tested .INDENT 7.0 .TP .B Parameters -\fBstate\fP (\fI\%str\fP) \-\- the name of a user defined state +\fBstate\fP (\fIstr\fP) \-\- the name of a user defined state .UNINDENT .sp CLI Example: @@ -233471,6 +251710,23 @@ salt \(aq*\(aq saltutil.refresh_grains .UNINDENT .INDENT 0.0 .TP +.B salt.modules.saltutil.refresh_matchers() +Signal the minion to refresh its matchers. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq saltutil.refresh_matchers +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.saltutil.refresh_modules(**kwargs) Signal the minion to refresh the module and grain data .sp @@ -233908,6 +252164,50 @@ salt \(aq*\(aq saltutil.sync_log_handlers saltenv=base,dev .UNINDENT .INDENT 0.0 .TP +.B salt.modules.saltutil.sync_matchers(saltenv=None, refresh=False, extmod_whitelist=None, extmod_blacklist=None) +New in version Flourine. + +.sp +Sync engine modules from \fBsalt://_matchers\fP to the minion +.INDENT 7.0 +.TP +.B saltenv +The fileserver environment from which to sync. To sync from more than +one environment, pass a comma\-separated list. +.sp +If not passed, then all environments configured in the top files will be checked for engines to sync. If no top files are +found, then the \fBbase\fP environment will be synced. +.TP +.B refresh +True +If \fBTrue\fP, refresh the available execution modules on the minion. +This refresh will be performed even if no new matcher modules are synced. +Set to \fBFalse\fP to prevent this refresh. +.TP +.B extmod_whitelist +None +comma\-separated list of modules to sync +.TP +.B extmod_blacklist +None +comma\-separated list of modules to blacklist based on type +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq saltutil.sync_matchers +salt \(aq*\(aq saltutil.sync_matchers saltenv=base,dev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.saltutil.sync_modules(saltenv=None, refresh=True, extmod_whitelist=None, extmod_blacklist=None) New in version 0.10.0. @@ -234295,6 +252595,51 @@ salt \(aq*\(aq saltutil.sync_sdb saltenv=base,dev .UNINDENT .INDENT 0.0 .TP +.B salt.modules.saltutil.sync_serializers(saltenv=None, refresh=True, extmod_whitelist=None, extmod_blacklist=None) +New in version Fluorine. + +.sp +Sync serializers from \fBsalt://_serializers\fP to the minion +.INDENT 7.0 +.TP +.B saltenv +The fileserver environment from which to sync. To sync from more than +one environment, pass a comma\-separated list. +.sp +If not passed, then all environments configured in the top files will be checked for serializer modules to sync. If no top +files are found, then the \fBbase\fP environment will be synced. +.TP +.B refresh +True +If \fBTrue\fP, refresh the available execution modules on the minion. +This refresh will be performed even if no new serializer modules are +synced. Set to \fBFalse\fP to prevent this refresh. +.TP +.B extmod_whitelist +None +comma\-seperated list of modules to sync +.TP +.B extmod_blacklist +None +comma\-seperated list of modules to blacklist based on type +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq saltutil.sync_serializers +salt \(aq*\(aq saltutil.sync_serializers saltenv=dev +salt \(aq*\(aq saltutil.sync_serializers saltenv=base,dev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.saltutil.sync_states(saltenv=None, refresh=True, extmod_whitelist=None, extmod_blacklist=None) New in version 0.10.0. @@ -234702,7 +253047,7 @@ salt \(aq*\(aq schedule.is_enabled name=job_name .UNINDENT .INDENT 0.0 .TP -.B salt.modules.schedule.list(show_all=False, show_disabled=True, where=None, return_yaml=True) +.B salt.modules.schedule.list_(show_all=False, show_disabled=True, where=None, return_yaml=True) List the jobs currently scheduled on the minion .sp CLI Example: @@ -234801,7 +253146,7 @@ salt \(aq*\(aq schedule.purge .UNINDENT .INDENT 0.0 .TP -.B salt.modules.schedule.reload() +.B salt.modules.schedule.reload_() Reload saved scheduled jobs on the minion .sp CLI Example: @@ -234896,12 +253241,180 @@ salt \(aq*\(aq schedule.skip_job job time .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.scp module +.SS SCP Module +.sp +New in version Fluorine. + +.sp +Module to copy files via \fI\%SCP\fP +.INDENT 0.0 +.TP +.B salt.modules.scp_mod.get(remote_path, local_path=u\(aq\(aq, recursive=False, preserve_times=False, **kwargs) +Transfer files and directories from remote host to the localhost of the +Minion. +.INDENT 7.0 +.TP +.B remote_path +Path to retrieve from remote host. Since this is evaluated by scp on the +remote host, shell wildcards and environment variables may be used. +.TP +.B recursive: \fBFalse\fP +Transfer files and directories recursively. +.TP +.B preserve_times: \fBFalse\fP +Preserve \fBmtime\fP and \fBatime\fP of transferred files and directories. +.TP +.B hostname +The hostname of the remote device. +.TP +.B port: \fB22\fP +The port of the remote device. +.TP +.B username +The username required for SSH authentication on the device. +.TP +.B password +Used for password authentication. It is also used for private key +decryption if \fBpassphrase\fP is not given. +.TP +.B passphrase +Used for decrypting private keys. +.TP +.B pkey +An optional private key to use for authentication. +.TP +.B key_filename +The filename, or list of filenames, of optional private key(s) and/or +certificates to try for authentication. +.TP +.B timeout +An optional timeout (in seconds) for the TCP connect. +.TP +.B socket_timeout: \fB10\fP +The channel socket timeout in seconds. +.TP +.B buff_size: \fB16384\fP +The size of the SCP send buffer. +.TP +.B allow_agent: \fBTrue\fP +Set to \fBFalse\fP to disable connecting to the SSH agent. +.TP +.B look_for_keys: \fBTrue\fP +Set to \fBFalse\fP to disable searching for discoverable private key +files in \fB~/.ssh/\fP +.TP +.B banner_timeout +An optional timeout (in seconds) to wait for the SSH banner to be +presented. +.TP +.B auth_timeout +An optional timeout (in seconds) to wait for an authentication +response. +.TP +.B auto_add_policy: \fBFalse\fP +Automatically add the host to the \fBknown_hosts\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq scp.get /var/tmp/file /tmp/file hostname=10.10.10.1 auto_add_policy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.scp_mod.put(files, remote_path=None, recursive=False, preserve_times=False, saltenv=u\(aqbase\(aq, **kwargs) +Transfer files and directories to remote host. +.INDENT 7.0 +.TP +.B files +A single path or a list of paths to be transferred. +.TP +.B remote_path +The path on the remote device where to store the files. +.TP +.B recursive: \fBTrue\fP +Transfer files and directories recursively. +.TP +.B preserve_times: \fBFalse\fP +Preserve \fBmtime\fP and \fBatime\fP of transferred files and directories. +.TP +.B hostname +The hostname of the remote device. +.TP +.B port: \fB22\fP +The port of the remote device. +.TP +.B username +The username required for SSH authentication on the device. +.TP +.B password +Used for password authentication. It is also used for private key +decryption if \fBpassphrase\fP is not given. +.TP +.B passphrase +Used for decrypting private keys. +.TP +.B pkey +An optional private key to use for authentication. +.TP +.B key_filename +The filename, or list of filenames, of optional private key(s) and/or +certificates to try for authentication. +.TP +.B timeout +An optional timeout (in seconds) for the TCP connect. +.TP +.B socket_timeout: \fB10\fP +The channel socket timeout in seconds. +.TP +.B buff_size: \fB16384\fP +The size of the SCP send buffer. +.TP +.B allow_agent: \fBTrue\fP +Set to \fBFalse\fP to disable connecting to the SSH agent. +.TP +.B look_for_keys: \fBTrue\fP +Set to \fBFalse\fP to disable searching for discoverable private key +files in \fB~/.ssh/\fP +.TP +.B banner_timeout +An optional timeout (in seconds) to wait for the SSH banner to be +presented. +.TP +.B auth_timeout +An optional timeout (in seconds) to wait for an authentication +response. +.TP +.B auto_add_policy: \fBFalse\fP +Automatically add the host to the \fBknown_hosts\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq scp.put /path/to/file /var/tmp/file hostname=server1 auto_add_policy=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.scsi .sp SCSI administration module .INDENT 0.0 .TP -.B salt.modules.scsi.ls(get_size=True) +.B salt.modules.scsi.ls_(get_size=True) List SCSI devices, with details .sp CLI Examples: @@ -235033,7 +253546,7 @@ surround the call with single quotes. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.sdb.set(uri, value) +.B salt.modules.sdb.set_(uri, value) Set a value in a db, using a uri in the form of \fBsdb:///\fP\&. If the uri provided does not start with \fBsdb://\fP or the value is not successfully set, return \fBFalse\fP\&. @@ -235055,7 +253568,7 @@ salt \(aq*\(aq sdb.set sdb://mymemcached/foo bar Virtual machine image management tools .INDENT 0.0 .TP -.B salt.modules.seed.apply(path, id_=None, config=None, approve_key=True, install=True, prep_install=False, pub_key=None, priv_key=None, mount_point=None) +.B salt.modules.seed.apply_(path, id_=None, config=None, approve_key=True, install=True, prep_install=False, pub_key=None, priv_key=None, mount_point=None) Seed a location (disk image, directory, or block device) with the minion config, approve the minion\(aqs key, and/or install salt\-minion. .sp @@ -235161,15 +253674,28 @@ proper packages are installed. New in version 2017.7.0. .sp -Sets or deletes the SELinux policy for a given filespec and other -optional parameters. +Adds or deletes the SELinux policy for a given filespec and other optional parameters. .sp Returns the result of the call to semanage. .sp Note that you don\(aqt have to remove an entry before setting a new one for a given filespec and filetype, as adding one with semanage automatically overwrites a previously configured SELinux context. +.sp +\fBWARNING:\fP .INDENT 7.0 +.INDENT 3.5 +Use \fI\%selinux.fcontext_add_policy()\fP, +or \fI\%selinux.fcontext_delete_policy()\fP\&. +.UNINDENT +.UNINDENT +.sp +Deprecated since version Fluorine. + +.INDENT 7.0 +.TP +.B action +The action to perform. Either \fBadd\fP or \fBdelete\fP\&. .TP .B name filespec of the file or directory. Regex syntax is allowed. @@ -235204,6 +253730,52 @@ salt \(aq*\(aq selinux.fcontext_add_or_delete_policy add my\-policy .UNINDENT .INDENT 0.0 .TP +.B salt.modules.selinux.fcontext_add_policy(name, filetype=None, sel_type=None, sel_user=None, sel_level=None) +New in version Fluorine. + +.sp +Adds the SELinux policy for a given filespec and other optional parameters. +.sp +Returns the result of the call to semanage. +.sp +Note that you don\(aqt have to remove an entry before setting a new +one for a given filespec and filetype, as adding one with semanage +automatically overwrites a previously configured SELinux context. +.INDENT 7.0 +.TP +.B name +filespec of the file or directory. Regex syntax is allowed. +.TP +.B file_type +The SELinux filetype specification. Use one of [a, f, d, c, b, +s, l, p]. See also \fBman semanage\-fcontext\fP\&. Defaults to \(aqa\(aq +(all files). +.TP +.B sel_type +SELinux context type. There are many. +.TP +.B sel_user +SELinux user. Use \fBsemanage login \-l\fP to determine which ones +are available to you. +.TP +.B sel_level +The MLS range of the SELinux context. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq selinux.fcontext_add_policy my\-policy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.selinux.fcontext_apply_policy(name, recursive=False) New in version 2017.7.0. @@ -235234,6 +253806,52 @@ salt \(aq*\(aq selinux.fcontext_apply_policy my\-policy .UNINDENT .INDENT 0.0 .TP +.B salt.modules.selinux.fcontext_delete_policy(name, filetype=None, sel_type=None, sel_user=None, sel_level=None) +New in version Fluorine. + +.sp +Deletes the SELinux policy for a given filespec and other optional parameters. +.sp +Returns the result of the call to semanage. +.sp +Note that you don\(aqt have to remove an entry before setting a new +one for a given filespec and filetype, as adding one with semanage +automatically overwrites a previously configured SELinux context. +.INDENT 7.0 +.TP +.B name +filespec of the file or directory. Regex syntax is allowed. +.TP +.B file_type +The SELinux filetype specification. Use one of [a, f, d, c, b, +s, l, p]. See also \fBman semanage\-fcontext\fP\&. Defaults to \(aqa\(aq +(all files). +.TP +.B sel_type +SELinux context type. There are many. +.TP +.B sel_user +SELinux user. Use \fBsemanage login \-l\fP to determine which ones +are available to you. +.TP +.B sel_level +The MLS range of the SELinux context. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq selinux.fcontext_delete_policy my\-policy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.selinux.fcontext_get_policy(name, filetype=None, sel_type=None, sel_user=None, sel_level=None) New in version 2017.7.0. @@ -235442,6 +254060,126 @@ salt \(aq*\(aq selinux.list_semod .sp New in version 2016.3.0. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.selinux.port_add_policy(name, sel_type=None, protocol=None, port=None, sel_range=None) +New in version Fluorine. + +.sp +Adds the SELinux policy for a given protocol and port. +.sp +Returns the result of the call to semanage. +.INDENT 7.0 +.TP +.B name +The protocol and port spec. Can be formatted as \fB(tcp|udp)/(port|port\-range)\fP\&. +.TP +.B sel_type +The SELinux Type. Required. +.TP +.B protocol +The protocol for the port, \fBtcp\fP or \fBudp\fP\&. Required if name is not formatted. +.TP +.B port +The port or port range. Required if name is not formatted. +.TP +.B sel_range +The SELinux MLS/MCS Security Range. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq selinux.port_add_policy add tcp/8080 http_port_t +salt \(aq*\(aq selinux.port_add_policy add foobar http_port_t protocol=tcp port=8091 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.selinux.port_delete_policy(name, protocol=None, port=None) +New in version Fluorine. + +.sp +Deletes the SELinux policy for a given protocol and port. +.sp +Returns the result of the call to semanage. +.INDENT 7.0 +.TP +.B name +The protocol and port spec. Can be formatted as \fB(tcp|udp)/(port|port\-range)\fP\&. +.TP +.B protocol +The protocol for the port, \fBtcp\fP or \fBudp\fP\&. Required if name is not formatted. +.TP +.B port +The port or port range. Required if name is not formatted. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq selinux.port_delete_policy tcp/8080 +salt \(aq*\(aq selinux.port_delete_policy foobar protocol=tcp port=8091 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.selinux.port_get_policy(name, sel_type=None, protocol=None, port=None) +New in version Fluorine. + +.sp +Returns the current entry in the SELinux policy list as a +dictionary. Returns None if no exact match was found. +.sp +Returned keys are: +.INDENT 7.0 +.IP \(bu 2 +sel_type (the selinux type) +.IP \(bu 2 +proto (the protocol) +.IP \(bu 2 +port (the port(s) and/or port range(s)) +.UNINDENT +.INDENT 7.0 +.TP +.B name +The protocol and port spec. Can be formatted as \fB(tcp|udp)/(port|port\-range)\fP\&. +.TP +.B sel_type +The SELinux Type. +.TP +.B protocol +The protocol for the port, \fBtcp\fP or \fBudp\fP\&. Required if name is not formatted. +.TP +.B port +The port or port range. Required if name is not formatted. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq selinux.port_get_policy tcp/80 +salt \(aq*\(aq selinux.port_get_policy foobar protocol=tcp port=80 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -236421,6 +255159,41 @@ salt \(aq*\(aq slsutil.merge \(aq{foo: Foo}\(aq \(aq{bar: Bar}\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.slsutil.merge_all(lst, strategy=u\(aqsmart\(aq, renderer=u\(aqyaml\(aq, merge_lists=False) +New in version Fluorine. + +.sp +Merge a list of objects into each other in order +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBlst\fP (\fIIterable\fP) \-\- List of objects to be merged. +.IP \(bu 2 +\fBstrategy\fP (\fIString\fP) \-\- Merge strategy. See utils.dictupdate. +.IP \(bu 2 +\fBrenderer\fP (\fIString\fP) \-\- Renderer type. Used to determine strategy when strategy is \(aqsmart\(aq. +.IP \(bu 2 +\fBmerge_lists\fP (\fIBool\fP) \-\- Defines whether to merge embedded object lists. +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ salt\-call \-\-output=txt slsutil.merge_all \(aq[{foo: Foo}, {foo: Bar}]\(aq +local: {u\(aqfoo\(aq: u\(aqBar\(aq} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.slsutil.renderer(path=None, string=None, default_renderer=u\(aqjinja|yaml\(aq, **kwargs) Parse a string or file through Salt\(aqs renderer system .sp @@ -236627,6 +255400,14 @@ salt \(aq*\(aq imgadm.delete e42f8c84\-bbea\-11e2\-b920\-078fab2aab1f .fi .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_imgadm.docker_to_uuid(uuid) +Get the image uuid from an imported docker image +.sp +New in version Fluorine. + .UNINDENT .INDENT 0.0 .TP @@ -236646,6 +255427,7 @@ CLI Example: .nf .ft C salt \(aq*\(aq imgadm.get e42f8c84\-bbea\-11e2\-b920\-078fab2aab1f +salt \(aq*\(aq imgadm.get plexinc/pms\-docker:plexpass .ft P .fi .UNINDENT @@ -236653,7 +255435,7 @@ salt \(aq*\(aq imgadm.get e42f8c84\-bbea\-11e2\-b920\-078fab2aab1f .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smartos_imgadm.import(uuid, verbose=False) +.B salt.modules.smartos_imgadm.import_image(uuid, verbose=False) Import an image from the repository .INDENT 7.0 .TP @@ -236680,7 +255462,7 @@ salt \(aq*\(aq imgadm.import e42f8c84\-bbea\-11e2\-b920\-078fab2aab1f [verbose=T .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smartos_imgadm.list(verbose=False) +.B salt.modules.smartos_imgadm.list_installed(verbose=False) Return a list of installed images .INDENT 7.0 .TP @@ -236688,6 +255470,9 @@ Return a list of installed images boolean (False) toggle verbose output .UNINDENT +.sp +Changed in version Fluorine: Docker images are now also listed + .sp CLI Example: .INDENT 7.0 @@ -236695,7 +255480,9 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq imgadm.list [verbose=True] +salt \(aq*\(aq imgadm.list +salt \(aq*\(aq imgadm.list docker=True +salt \(aq*\(aq imgadm.list verbose=True .ft P .fi .UNINDENT @@ -236719,6 +255506,7 @@ CLI Example: .nf .ft C salt \(aq*\(aq imgadm.show e42f8c84\-bbea\-11e2\-b920\-078fab2aab1f +salt \(aq*\(aq imgadm.show plexinc/pms\-docker:plexpass .ft P .fi .UNINDENT @@ -236726,7 +255514,90 @@ salt \(aq*\(aq imgadm.show e42f8c84\-bbea\-11e2\-b920\-078fab2aab1f .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smartos_imgadm.update(uuid=u\(aq\(aq) +.B salt.modules.smartos_imgadm.source_add(source, source_type=u\(aqimgapi\(aq) +Add a new source +.INDENT 7.0 +.TP +.B source +string +source url to add +.TP +.B source_trype +string (imgapi) +source type, either imgapi or docker +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq imgadm.source_add https://updates.joyent.com +salt \(aq*\(aq imgadm.source_add https://docker.io docker +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_imgadm.source_delete(source) +Delete a source +.INDENT 7.0 +.TP +.B source +string +source url to delete +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq imgadm.source_delete https://updates.joyent.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_imgadm.sources(verbose=False) +Return a list of available sources +.INDENT 7.0 +.TP +.B verbose +boolean (False) +toggle verbose output +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq imgadm.sources +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_imgadm.update_installed(uuid=u\(aq\(aq) Gather info on unknown image(s) (locally installed) .INDENT 7.0 .TP @@ -236884,7 +255755,7 @@ salt \(aq*\(aq nictagadm.exists admin .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smartos_nictagadm.list(include_etherstubs=True) +.B salt.modules.smartos_nictagadm.list_nictags(include_etherstubs=True) List all nictags .INDENT 7.0 .TP @@ -237366,7 +256237,7 @@ salt \(aq*\(aq vmadm.info nacl vnc key=alias .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smartos_vmadm.list(search=None, sort=None, order=u\(aquuid, type, ram, state, alias\(aq, keyed=True) +.B salt.modules.smartos_vmadm.list_vms(search=None, sort=None, order=u\(aquuid, type, ram, state, alias\(aq, keyed=True) Return a list of VMs .INDENT 7.0 .TP @@ -238339,7 +257210,7 @@ salt \(aq*\(aq service.missing net\-snmp .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smf.reload(name) +.B salt.modules.smf.reload_(name) Reload the named service .sp CLI Example: @@ -238402,9 +257273,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Not implemented +\fBsig\fP (\fIstr\fP) \-\- Not implemented .UNINDENT .TP .B Returns @@ -238412,7 +257283,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -238507,7 +257378,7 @@ another\-smtp\-login: .UNINDENT .INDENT 0.0 .TP -.B salt.modules.smtp.send_msg(recipient, message, subject=u\(aqMessage from Salt\(aq, sender=None, server=None, use_ssl=u\(aqTrue\(aq, username=None, password=None, profile=None) +.B salt.modules.smtp.send_msg(recipient, message, subject=u\(aqMessage from Salt\(aq, sender=None, server=None, use_ssl=u\(aqTrue\(aq, username=None, password=None, profile=None, attachments=None) Send a message to an SMTP recipient. Designed for use in states. .sp CLI Examples: @@ -238516,8 +257387,9 @@ CLI Examples: .sp .nf .ft C -smtp.send_msg \(aqadmin@example.com\(aq \(aqThis is a salt module test\(aq profile=\(aqmy\-smtp\-account\(aq -smtp.send_msg \(aqadmin@example.com\(aq \(aqThis is a salt module test\(aq username=\(aqmyuser\(aq password=\(aqverybadpass\(aq sender="admin@example.com\(aq server=\(aqsmtp.domain.com\(aq +salt \(aq*\(aq smtp.send_msg \(aqadmin@example.com\(aq \(aqThis is a salt module test\(aq profile=\(aqmy\-smtp\-account\(aq +salt \(aq*\(aq smtp.send_msg \(aqadmin@example.com\(aq \(aqThis is a salt module test\(aq username=\(aqmyuser\(aq password=\(aqverybadpass\(aq sender=\(aqadmin@example.com\(aq server=\(aqsmtp.domain.com\(aq +salt \(aq*\(aq smtp.send_msg \(aqadmin@example.com\(aq \(aqThis is a salt module test\(aq username=\(aqmyuser\(aq password=\(aqverybadpass\(aq sender=\(aqadmin@example.com\(aq server=\(aqsmtp.domain.com\(aq attachments="[\(aq/var/log/messages\(aq]" .ft P .fi .UNINDENT @@ -238637,7 +257509,7 @@ salt \(aq*\(aq fmadm.healthy .UNINDENT .INDENT 0.0 .TP -.B salt.modules.solaris_fmadm.list(after=None, before=None) +.B salt.modules.solaris_fmadm.list_records(after=None, before=None) Display fault management logs .INDENT 7.0 .TP @@ -239577,14 +258449,21 @@ providers: .UNINDENT .INDENT 0.0 .TP -.B salt.modules.solarisips.available_version(name, **kwargs) +.B salt.modules.solarisips.available_version(*names, **kwargs) This function is an alias of \fBlatest_version\fP\&. .INDENT 7.0 .INDENT 3.5 -The available version of the package in the repository. -In case of multiple matches, it returns list of all matched packages. -Accepts full or partial FMRI. +The available version of packages in the repository. +Accepts full or partial FMRI. Partial FMRI is returned if the full FMRI +could not be resolved. +.sp +If the latest version of a given package is already installed, an empty +string will be returned for that package. +.sp Please use pkg.latest_version as pkg.available_version is being deprecated. +.sp +Changed in version Fluorine: Support for multiple package names added. + .sp CLI Example: .INDENT 0.0 @@ -239592,7 +258471,9 @@ CLI Example: .sp .nf .ft C +salt \(aq*\(aq pkg.latest_version bash salt \(aq*\(aq pkg.latest_version pkg://solaris/entire +salt \(aq*\(aq pkg.latest_version postfix sendmail .ft P .fi .UNINDENT @@ -239680,11 +258561,18 @@ salt \(aq*\(aq pkg.is_installed bash .UNINDENT .INDENT 0.0 .TP -.B salt.modules.solarisips.latest_version(name, **kwargs) -The available version of the package in the repository. -In case of multiple matches, it returns list of all matched packages. -Accepts full or partial FMRI. +.B salt.modules.solarisips.latest_version(*names, **kwargs) +The available version of packages in the repository. +Accepts full or partial FMRI. Partial FMRI is returned if the full FMRI +could not be resolved. +.sp +If the latest version of a given package is already installed, an empty +string will be returned for that package. +.sp Please use pkg.latest_version as pkg.available_version is being deprecated. +.sp +Changed in version Fluorine: Support for multiple package names added. + .sp CLI Example: .INDENT 7.0 @@ -239692,7 +258580,9 @@ CLI Example: .sp .nf .ft C +salt \(aq*\(aq pkg.latest_version bash salt \(aq*\(aq pkg.latest_version pkg://solaris/entire +salt \(aq*\(aq pkg.latest_version postfix sendmail .ft P .fi .UNINDENT @@ -239945,6 +258835,7 @@ salt \(aq*\(aq pkg.upgrade_available apache\-22 .B salt.modules.solarisips.version(*names, **kwargs) Common interface for obtaining the version of installed packages. Accepts full or partial FMRI. If called using pkg_resource, full FMRI is required. +Partial FMRI is returned if the package is not installed. .sp CLI Example: .INDENT 7.0 @@ -241742,7 +260633,7 @@ splunk_search.get \(aqmy search name\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.splunk_search.list(profile=u\(aqsplunk\(aq) +.B salt.modules.splunk_search.list_(profile=u\(aqsplunk\(aq) List splunk searches (names only) .INDENT 7.0 .TP @@ -242494,7 +261385,7 @@ salt \(aq*\(aq service.get_all .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ssh_service.list() +.B salt.modules.ssh_service.list_() Return a list of all available services. .sp CLI Example: @@ -242561,9 +261452,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Not implemented +\fBsig\fP (\fIstr\fP) \-\- Not implemented .UNINDENT .TP .B Returns @@ -242571,7 +261462,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -243154,7 +262045,7 @@ highdata and won\(aqt hit the fileserver except for \fBsalt://\fP links in the states themselves. .INDENT 0.0 .TP -.B salt.modules.state.apply(mods=None, **kwargs) +.B salt.modules.state.apply_(mods=None, **kwargs) New in version 2015.5.0. .sp @@ -243181,6 +262072,14 @@ states configured in top.sls: .TP .B test Run states in test\-only (dry\-run) mode +.TP +.B mock +The mock option allows for the state run to execute without actually +calling any states. This then returns a mocked return which will show +the requisite ordering as well as fully validate the state run. +.sp +New in version 2015.8.4. + .TP .B pillar Custom Pillar values, passed as a dictionary of key\-value pairs @@ -243189,7 +262088,7 @@ Custom Pillar values, passed as a dictionary of key\-value pairs .sp .nf .ft C -salt \(aq*\(aq state.apply test pillar=\(aq{"foo": "bar"}\(aq +salt \(aq*\(aq state.apply stuff pillar=\(aq{"foo": "bar"}\(aq .ft P .fi .UNINDENT @@ -243255,11 +262154,11 @@ To apply individual SLS files, pass them as a comma\-separated list: .sp .nf .ft C -# Run the states configured in salt://test.sls (or salt://test/init.sls) -salt \(aq*\(aq state.apply test -# Run the states configured in salt://test.sls (or salt://test/init.sls) +# Run the states configured in salt://stuff.sls (or salt://stuff/init.sls) +salt \(aq*\(aq state.apply stuff +# Run the states configured in salt://stuff.sls (or salt://stuff/init.sls) # and salt://pkgs.sls (or salt://pkgs/init.sls). -salt \(aq*\(aq state.apply test,pkgs +salt \(aq*\(aq state.apply stuff,pkgs .ft P .fi .UNINDENT @@ -243271,6 +262170,14 @@ individual SLS files: .TP .B test Run states in test\-only (dry\-run) mode +.TP +.B mock +The mock option allows for the state run to execute without actually +calling any states. This then returns a mocked return which will show +the requisite ordering as well as fully validate the state run. +.sp +New in version 2015.8.4. + .TP .B pillar Custom Pillar values, passed as a dictionary of key\-value pairs @@ -243279,7 +262186,7 @@ Custom Pillar values, passed as a dictionary of key\-value pairs .sp .nf .ft C -salt \(aq*\(aq state.apply test pillar=\(aq{"foo": "bar"}\(aq +salt \(aq*\(aq state.apply stuff pillar=\(aq{"foo": "bar"}\(aq .ft P .fi .UNINDENT @@ -243345,7 +262252,7 @@ different pillars, file_roots, etc. .sp .nf .ft C -salt \(aq*\(aq state.apply test localconfig=/path/to/minion.yml +salt \(aq*\(aq state.apply stuff localconfig=/path/to/minion.yml .ft P .fi .UNINDENT @@ -243359,8 +262266,8 @@ running the SLS files: .sp .nf .ft C -salt \(aq*\(aq state.apply test sync_mods=states,modules -salt \(aq*\(aq state.apply test sync_mods=all +salt \(aq*\(aq state.apply stuff sync_mods=states,modules +salt \(aq*\(aq state.apply stuff sync_mods=all .ft P .fi .UNINDENT @@ -243505,6 +262412,9 @@ Watch Salt\(aqs event bus and block until the given tag is matched .sp New in version 2016.3.0. +.sp +Changed in version Fluorine: \fBtagmatch\fP can now be either a glob or regular expression. + .sp This is useful for utilizing Salt\(aqs event bus from shell scripts or for taking simple actions directly from the CLI. @@ -243516,7 +262426,7 @@ Enable debug logging to see ignored events. .INDENT 7.0 .IP \(bu 2 \fBtagmatch\fP \-\- the event is written to stdout for each tag that matches -this pattern; uses the same matching semantics as Salt\(aqs Reactor. +this glob or regular expression. .IP \(bu 2 \fBcount\fP \-\- this number is decremented for each event that matches the \fBtagmatch\fP parameter; pass \fB\-1\fP to listen forever. @@ -243588,7 +262498,7 @@ Custom Pillar values, passed as a dictionary of key\-value pairs .sp .nf .ft C -salt \(aq*\(aq state.apply test pillar=\(aq{"foo": "bar"}\(aq +salt \(aq*\(aq state.highstate stuff pillar=\(aq{"foo": "bar"}\(aq .ft P .fi .UNINDENT @@ -243695,6 +262605,34 @@ salt \(aq*\(aq state.highstate pillar="{foo: \(aqFoo!\(aq, bar: \(aqBar!\(aq}" .UNINDENT .INDENT 0.0 .TP +.B salt.modules.state.id_exists(ids, mods, test=None, queue=False, **kwargs) +Tests for the existence of a specific ID or list of IDs within the +specified SLS file(s). Similar to \fI\%state.sls_exists\fP, returns True or False. The default +environment is base\(ga\(ga, use \fBsaltenv\fP to specify a different environment. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B saltenv +Specify a salt fileserver environment from which to look for the SLS files +specified in the \fBmods\fP argument +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq state.id_exists create_myfile,update_template filestate saltenv=dev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.state.list_disabled() List the states which are currently disabled .sp @@ -243829,8 +262767,8 @@ New in version 2015.5.0. .sp Request that the local admin execute a state run via -\fIsalt\-call state.run_request\fP -All arguments match state.apply +\fIsalt\-call state.run_request\fP\&. +All arguments match those of state.apply. .sp CLI Example: .INDENT 7.0 @@ -243839,8 +262777,8 @@ CLI Example: .nf .ft C salt \(aq*\(aq state.request -salt \(aq*\(aq state.request test -salt \(aq*\(aq state.request test,pkgs +salt \(aq*\(aq state.request stuff +salt \(aq*\(aq state.request stuff,pkgs .ft P .fi .UNINDENT @@ -243956,7 +262894,7 @@ Custom Pillar values, passed as a dictionary of key\-value pairs .sp .nf .ft C -salt \(aq*\(aq state.show_low_sls test pillar=\(aq{"foo": "bar"}\(aq +salt \(aq*\(aq state.show_low_sls stuff pillar=\(aq{"foo": "bar"}\(aq .ft P .fi .UNINDENT @@ -244062,6 +263000,26 @@ salt \(aq*\(aq state.show_state_usage .fi .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.state.show_states(queue=False, **kwargs) +Returns the list of states that will be applied on highstate. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq state.show_states +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .INDENT 0.0 .TP @@ -244119,7 +263077,7 @@ Custom Pillar values, passed as a dictionary of key\-value pairs .sp .nf .ft C -salt \(aq*\(aq state.apply test pillar=\(aq{"foo": "bar"}\(aq +salt \(aq*\(aq state.sls stuff pillar=\(aq{"foo": "bar"}\(aq .ft P .fi .UNINDENT @@ -244233,8 +263191,8 @@ running the SLS files: .sp .nf .ft C -salt \(aq*\(aq state.sls test sync_mods=states,modules -salt \(aq*\(aq state.sls test sync_mods=all +salt \(aq*\(aq state.sls stuff sync_mods=states,modules +salt \(aq*\(aq state.sls stuff sync_mods=all .ft P .fi .UNINDENT @@ -244261,6 +263219,35 @@ salt \(aq*\(aq state.sls myslsfile pillar="{foo: \(aqFoo!\(aq, bar: \(aqBar!\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.state.sls_exists(mods, test=None, queue=False, **kwargs) +Tests for the existance the of a specific SLS or list of SLS files on the +master. Similar to \fI\%state.show_sls\fP, +rather than returning state details, returns True or False. The default +environment is \fBbase\fP, use \fBsaltenv\fP to specify a different environment. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B saltenv +Specify a salt fileserver environment from which to look for the SLS files +specified in the \fBmods\fP argument +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq state.sls_exists core,edit.vim saltenv=dev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.state.sls_id(id_, mods, test=None, queue=False, **kwargs) Call a single ID from the named module(s) and handle all requisites .sp @@ -244832,7 +263819,7 @@ salt \(aq*\(aq status.proxy_reconnect rest_sample .UNINDENT .INDENT 0.0 .TP -.B salt.modules.status.time(format=u\(aq%A, %d. %B %Y %I:%M%p\(aq) +.B salt.modules.status.time_(format=u\(aq%A, %d. %B %Y %I:%M%p\(aq) New in version 2016.3.0. .sp @@ -247287,7 +266274,7 @@ salt \(aq*\(aq syslog_ng.modules /home/user/install/syslog\-ng/sbin .UNINDENT .INDENT 0.0 .TP -.B salt.modules.syslog_ng.reload(name) +.B salt.modules.syslog_ng.reload_(name) Reloads syslog\-ng. This function is intended to be used from states. .sp If \fI\%syslog_ng.set_config_file\fP, is called before, this function @@ -248274,7 +267261,7 @@ salt \(aq*\(aq sysrc.remove name=sshd_enable .UNINDENT .INDENT 0.0 .TP -.B salt.modules.sysrc.set(name, value, **kwargs) +.B salt.modules.sysrc.set_(name, value, **kwargs) Set system rc configuration variables .sp CLI Example: @@ -248320,7 +267307,7 @@ return False. Value of PRETTY_HOSTNAME if this does not exist False. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -248354,12 +267341,38 @@ salt \(aq*\(aq network.get_hostname .UNINDENT .INDENT 0.0 .TP +.B salt.modules.system.get_reboot_required_witnessed() +Determine if at any time during the current boot session the salt minion +witnessed an event indicating that a reboot is required. +.INDENT 7.0 +.TP +.B Returns +\fBTrue\fP if the a reboot request was witnessed, \fBFalse\fP otherwise +.TP +.B Return type +bool +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_reboot_required_witnessed +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.system.get_system_date(utc_offset=None) Get the system date .INDENT 7.0 .TP .B Parameters -\fButc_offset\fP (\fI\%str\fP) \-\- The utc offset in 4 digit (+0600) format with an +\fButc_offset\fP (\fIstr\fP) \-\- The utc offset in 4 digit (+0600) format with an optional sign (+/\-). Will default to None which will use the local timezone. To set the time based off of UTC use "\(aq+0000\(aq". Note: if being passed through the command line will need to be quoted twice to @@ -248369,7 +267382,7 @@ allow negative offsets. Returns the system date. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -248391,7 +267404,7 @@ Get the system date/time. .INDENT 7.0 .TP .B Parameters -\fButc_offset\fP (\fI\%str\fP) \-\- The utc offset in 4 digit (+0600) format with an +\fButc_offset\fP (\fIstr\fP) \-\- The utc offset in 4 digit (+0600) format with an optional sign (+/\-). Will default to None which will use the local timezone. To set the time based off of UTC use "\(aq+0000\(aq". Note: if being passed through the command line will need to be quoted twice to @@ -248401,7 +267414,7 @@ allow negative offsets. Returns the system time in YYYY\-MM\-DD hh:mm:ss format. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -248423,7 +267436,7 @@ Get the system time. .INDENT 7.0 .TP .B Parameters -\fButc_offset\fP (\fI\%str\fP) \-\- The utc offset in 4 digit (+0600) format with an +\fButc_offset\fP (\fIstr\fP) \-\- The utc offset in 4 digit (+0600) format with an optional sign (+/\-). Will default to None which will use the local timezone. To set the time based off of UTC use "\(aq+0000\(aq". Note: if being passed through the command line will need to be quoted twice to @@ -248433,7 +267446,7 @@ allow negative offsets. Returns the system time in HH:MM:SS AM/PM format. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -248540,7 +267553,7 @@ it is unable to create or modify this file returns False. .INDENT 7.0 .TP .B Parameters -\fBdesc\fP (\fI\%str\fP) \-\- The computer description +\fBdesc\fP (\fIstr\fP) \-\- The computer description .TP .B Returns False on failure. True if successful. @@ -248577,12 +267590,37 @@ salt \(aq*\(aq system.set_computer_name master.saltstack.com .UNINDENT .INDENT 0.0 .TP +.B salt.modules.system.set_reboot_required_witnessed() +This function is used to remember that an event indicating that a reboot is +required was witnessed. This function writes to a temporary filesystem so +the event gets cleared upon reboot. +.INDENT 7.0 +.TP +.B Returns +\fBTrue\fP if successful, otherwise \fBFalse\fP +.TP +.B Return type +bool +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.set_reboot_required_witnessed +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.system.set_system_date(newdate, utc_offset=None) Set the system date. Use format for the date. .INDENT 7.0 .TP .B Parameters -\fBnewdate\fP (\fI\%str\fP) \-\- +\fBnewdate\fP (\fIstr\fP) \-\- .sp The date to set. Can be any of the following formats: .INDENT 7.0 @@ -248630,19 +267668,19 @@ Updates hardware clock, if present, in addition to software .B Parameters .INDENT 7.0 .IP \(bu 2 -\fByears\fP (\fI\%int\fP) \-\- Years digit, ie: 2015 +\fByears\fP (\fIint\fP) \-\- Years digit, ie: 2015 .IP \(bu 2 -\fBmonths\fP (\fI\%int\fP) \-\- Months digit: 1 \- 12 +\fBmonths\fP (\fIint\fP) \-\- Months digit: 1 \- 12 .IP \(bu 2 -\fBdays\fP (\fI\%int\fP) \-\- Days digit: 1 \- 31 +\fBdays\fP (\fIint\fP) \-\- Days digit: 1 \- 31 .IP \(bu 2 -\fBhours\fP (\fI\%int\fP) \-\- Hours digit: 0 \- 23 +\fBhours\fP (\fIint\fP) \-\- Hours digit: 0 \- 23 .IP \(bu 2 -\fBminutes\fP (\fI\%int\fP) \-\- Minutes digit: 0 \- 59 +\fBminutes\fP (\fIint\fP) \-\- Minutes digit: 0 \- 59 .IP \(bu 2 -\fBseconds\fP (\fI\%int\fP) \-\- Seconds digit: 0 \- 59 +\fBseconds\fP (\fIint\fP) \-\- Seconds digit: 0 \- 59 .IP \(bu 2 -\fButc_offset\fP (\fI\%str\fP) \-\- The utc offset in 4 digit (+0600) format with an +\fButc_offset\fP (\fIstr\fP) \-\- The utc offset in 4 digit (+0600) format with an optional sign (+/\-). Will default to None which will use the local timezone. To set the time based off of UTC use "\(aq+0000\(aq". Note: if being passed through the command line will need to be quoted twice to @@ -248653,7 +267691,7 @@ allow negative offsets. True if successful. Otherwise False. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -248677,7 +267715,7 @@ Set the system time. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBnewtime\fP (\fI\%str\fP) \-\- +\fBnewtime\fP (\fIstr\fP) \-\- .sp The time to set. Can be any of the following formats. \- HH:MM:SS AM/PM @@ -248691,7 +267729,7 @@ Therefore the argument must be passed in as a string. Meaning you may have to quote the text twice from the command line. .IP \(bu 2 -\fButc_offset\fP (\fI\%str\fP) \-\- The utc offset in 4 digit (+0600) format with an +\fButc_offset\fP (\fIstr\fP) \-\- The utc offset in 4 digit (+0600) format with an optional sign (+/\-). Will default to None which will use the local timezone. To set the time based off of UTC use "\(aq+0000\(aq". Note: if being passed through the command line will need to be quoted twice to @@ -248702,7 +267740,7 @@ allow negative offsets. Returns True if successful. Otherwise False. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -249224,7 +268262,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.systemd.reload(name, no_block=False, unmask=False, unmask_runtime=False) +.B salt.modules.systemd.reload_(name, no_block=False, unmask=False, unmask_runtime=False) Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to isolate commands run by this function from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to avoid a race condition in cases where @@ -249410,9 +268448,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Not implemented +\fBsig\fP (\fIstr\fP) \-\- Not implemented .UNINDENT .TP .B Returns @@ -249420,7 +268458,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -249492,7 +268530,7 @@ salt \(aq*\(aq service.systemctl_reload .UNINDENT .INDENT 0.0 .TP -.B salt.modules.systemd.unmask(name, runtime=False) +.B salt.modules.systemd.unmask_(name, runtime=False) New in version 2015.5.0. .sp @@ -249971,7 +269009,7 @@ salt \(aq*\(aq test.exception \(aqOh noes!\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.test.false() +.B salt.modules.test.false_() Always return False .sp CLI Example: @@ -250172,6 +269210,29 @@ salt \(aq*\(aq test.providers .UNINDENT .INDENT 0.0 .TP +.B salt.modules.test.raise_exception(name, *args, **kwargs) +Raise an exception. Built\-in exceptions and those in \fBsalt.exceptions\fP +can be raised by this test function. If no matching exception is found, +then no exception will be raised and this function will return \fBFalse\fP\&. +.sp +This function is designed to test Salt\(aqs exception and return code +handling. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq test.raise_exception TypeError "An integer is required" +salt \(aq*\(aq test.raise_exception salt.exceptions.CommandExecutionError "Something went wrong" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.test.rand_sleep(max=60) Sleep for a random number of seconds, used to test long\-running commands and minions returning at differing intervals @@ -250269,7 +269330,7 @@ salt \(aq*\(aq test.stack .UNINDENT .INDENT 0.0 .TP -.B salt.modules.test.true() +.B salt.modules.test.true_() Always return True .sp CLI Example: @@ -250286,7 +269347,7 @@ salt \(aq*\(aq test.true .UNINDENT .INDENT 0.0 .TP -.B salt.modules.test.try(module, return_try_exception=False, **kwargs) +.B salt.modules.test.try_(module, return_try_exception=False, **kwargs) Try to run a module command. On an exception return None. If \fIreturn_try_exception\fP is set True return the exception. This can be helpful in templates where running a module might fail as expected. @@ -251361,12 +270422,15 @@ salt \(aq*\(aq tls.cert_base_path .UNINDENT .INDENT 0.0 .TP -.B salt.modules.tls.cert_info(cert_path, digest=u\(aqsha256\(aq) +.B salt.modules.tls.cert_info(cert, digest=u\(aqsha256\(aq) Return information for a particular certificate .INDENT 7.0 .TP -.B cert_path -path to the cert file +.B cert +path to the certifiate PEM file or string +.sp +Changed in version 2018.3.4. + .TP .B digest what digest to use for fingerprinting @@ -252065,6 +271129,37 @@ salt \(aq*\(aq tls.get_ca_signed_key test_ca CN=localhost .UNINDENT .INDENT 0.0 .TP +.B salt.modules.tls.get_expiration_date(cert, date_format=u\(aq%Y\-%m\-%d\(aq) +New in version Fluorine. + +.sp +Get a certificate\(aqs expiration date +.INDENT 7.0 +.TP +.B cert +Full path to the certificate +.TP +.B date_format +By default this will return the expiration date in YYYY\-MM\-DD format, +use this to specify a different strftime format string. Note that the +expiration time will be in UTC. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq tls.get_expiration_date /path/to/foo.crt +salt \(aq*\(aq tls.get_expiration_date /path/to/foo.crt date_format=\(aq%d/%m/%Y\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.tls.get_extensions(cert_type) Fetch X509 and CSR extension definitions from tls:extensions: (common|server|client) or set them to standard defaults. @@ -252486,7 +271581,7 @@ salt \(aq*\(aq tomcat.passwd secret tomcat sha1 \(aqProtected Realm\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.tomcat.reload(app, url=u\(aqhttp://localhost:8080/manager\(aq, timeout=180) +.B salt.modules.tomcat.reload_(app, url=u\(aqhttp://localhost:8080/manager\(aq, timeout=180) Reload the webapp .INDENT 7.0 .TP @@ -252912,25 +272007,6 @@ salt \(aq*\(aq trafficserver.match_metric regex .UNINDENT .INDENT 0.0 .TP -.B salt.modules.trafficserver.match_var(regex) -Display the current values of all performance statistics or configuration -variables whose names match the given regular expression. -.sp -Deprecated since version Fluorine: Use \fBmatch_metric\fP or \fBmatch_config\fP instead. - -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq trafficserver.match_var regex -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.trafficserver.offline(path) Mark a cache storage device as offline. The storage is identified by a path which must match exactly a path specified in storage.config. This removes @@ -252987,25 +272063,6 @@ salt \(aq*\(aq trafficserver.read_metric proxy.process.http.tcp_hit_count_stat .UNINDENT .INDENT 0.0 .TP -.B salt.modules.trafficserver.read_var(*args) -Read variable definitions from the traffic_line command. -.sp -Deprecated since version Fluorine: Use \fBread_metric\fP or \fBread_config\fP instead. Note that this -function does not work for Traffic Server versions >= 7.0. - -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq trafficserver.read_var proxy.process.http.tcp_hit_count_stat -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.trafficserver.refresh() Initiate a Traffic Server configuration file reread. Use this command to update the running configuration after any configuration file modification. @@ -253089,26 +272146,6 @@ salt \(aq*\(aq trafficserver.set_config proxy.config.http.keep_alive_post_out 0 .fi .UNINDENT .UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.trafficserver.set_var(variable, value) -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C - -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Deprecated since version Fluorine: Use \fBset_config\fP instead. Note that this function does -not work for Traffic Server versions >= 7.0. -.sp -salt \(aq*\(aq trafficserver.set_var proxy.config.http.server_ports - .UNINDENT .INDENT 0.0 .TP @@ -253261,7 +272298,7 @@ salt \(aq*\(aq tuned.active .UNINDENT .INDENT 0.0 .TP -.B salt.modules.tuned.list() +.B salt.modules.tuned.list_() List the profiles available .sp CLI Example: @@ -253719,7 +272756,7 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.upstart.reload(name) +.B salt.modules.upstart.reload_(name) Reload the named service .sp CLI Example: @@ -253782,9 +272819,9 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Signature to use to find the service via ps +\fBsig\fP (\fIstr\fP) \-\- Signature to use to find the service via ps .UNINDENT .TP .B Returns @@ -253792,7 +272829,7 @@ True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -254899,13 +273936,21 @@ Add this segment to the master configuration file, or vault: url: https://vault.service.domain:8200 verify: /etc/ssl/certs/ca\-certificates.crt + role_name: minion_role auth: - method: token - token: 11111111\-2222\-3333\-4444\-555555555555 + method: approle + role_id: 11111111\-2222\-3333\-4444\-1111111111111 + secret_id: 11111111\-1111\-1111\-1111\-1111111111111 policies: \- saltstack/minions \- saltstack/minion/{minion} .. more policies + keys: + \- n63/TbrQuL3xaIW7ZZpuXj/tIfnK1/MbVxO4vT3wYD2A + \- S9OwCvMRhErEA4NVVELYBs6w/Me6+urgUr24xGK44Uy3 + \- F1j4b7JKq850NS6Kboiy5laJ0xY8dWJvB3fcwA+SraYl + \- 1cYtvjKJNDVam9c7HNqJUfINk4PYyAXIpjkpN/sIuzPv + \- 3pPK5X6vGtwLhNOFv1U2elahECz3HpRUfNXJFYLw6lid .ft P .fi .UNINDENT @@ -254922,11 +273967,28 @@ For details please see New in version 2018.3.0. .TP -.B auth -Currently only token auth is supported. The token must be able to create -tokens with the policies that should be assigned to minions. Required. +.B role_name +Role name for minion tokens created. If omitted, minion tokens will be +created without any role, thus being able to inherit any master token +policy (including token creation capabilities). Optional. .sp -You can still use the token via a OS environment variable via this +For details please see: +\fI\%https://www.vaultproject.io/api/auth/token/index.html#create\-token\fP +Example configuration: +\fI\%https://www.nomadproject.io/docs/vault\-integration/index.html#vault\-token\-role\-configuration\fP +.TP +.B auth +Currently only token and approle auth types are supported. Required. +.sp +Approle is the preferred way to authenticate with Vault as it provide +some advanced options to control authentication process. +Please visit Vault documentation for more info: +\fI\%https://www.vaultproject.io/docs/auth/approle.html\fP +.sp +The token must be able to create tokens with the policies that should be +assigned to minions. +.sp +You can still use the token auth via a OS environment variable via this config example: .sp And then export the VAULT_TOKEN variable in your OS: @@ -254950,6 +274012,9 @@ examples of types which work well. .sp Optional. If policies is not configured, \fBsaltstack/minions\fP and \fBsaltstack/{minion}\fP are used as defaults. +.TP +.B keys +List of keys to use to unseal vault server with the vault.unseal runner. .UNINDENT .sp Add this segment to the master configuration file, or @@ -255034,6 +274099,23 @@ secrets: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.vault.write_raw(path, raw) +Set raw data at the path in vault. The vault policy used must allow this. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vault.write_raw "secret/my/secret" \(aq{"user":"foo","password": "bar"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.vault.write_secret(path, **kwargs) Set secret at the path in vault. The vault policy used must allow this. .sp @@ -255080,9 +274162,9 @@ salt \(aq*\(aq vbox_guest.additions_install upgrade_os=True .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBreboot\fP (\fI\%bool\fP) \-\- reboot computer to complete installation +\fBreboot\fP (\fIbool\fP) \-\- reboot computer to complete installation .IP \(bu 2 -\fBupgrade_os\fP (\fI\%bool\fP) \-\- upgrade OS (to ensure the latests version of kernel and developer tools are installed) +\fBupgrade_os\fP (\fIbool\fP) \-\- upgrade OS (to ensure the latests version of kernel and developer tools are installed) .UNINDENT .TP .B Returns @@ -255138,7 +274220,7 @@ salt \(aq*\(aq vbox_guest.additions_remove force=True .INDENT 7.0 .TP .B Parameters -\fBforce\fP (\fI\%bool\fP) \-\- force VirtualBox Guest Additions removing +\fBforce\fP (\fIbool\fP) \-\- force VirtualBox Guest Additions removing .TP .B Returns True if VirtualBox Guest Additions were removed successfully else False @@ -255218,7 +274300,7 @@ salt \(aq*\(aq vbox_guest.grant_access_to_shared_folders_to users [\(aqfred\(aq, .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- name of the user to grant access to auto\-mounted shared folders to +\fBname\fP (\fIstr\fP) \-\- name of the user to grant access to auto\-mounted shared folders to .IP \(bu 2 \fBusers\fP (\fIlist of str\fP) \-\- list of names of users to grant access to auto\-mounted shared folders to (if specified, \fIname\fP will not be taken into account) .UNINDENT @@ -255630,9 +274712,125 @@ Work with virtual machines managed by libvirt .B depends libvirt Python module .UNINDENT +.SS Connection +.sp +The connection to the virtualization host can be either setup in the minion configuration, +pillar data or overridden for each individual call. +.sp +By default, the libvirt connection URL will be guessed: the first available libvirt +hypervisor driver will be used. This can be overridden like this: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + connection: + uri: lxc:/// +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If the connection requires an authentication like for ESXi, this can be defined in the +minion pillar data like this: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + connection: + uri: esx://10.1.1.101/?no_verify=1&auto_answer=1 + auth: + username: user + password: secret +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Connecting with SSH protocol +.sp +Libvirt can connect to remote hosts using SSH using one of the \fBssh\fP, \fBlibssh\fP and +\fBlibssh2\fP transports. Note that \fBlibssh2\fP is likely to fail as it doesn\(aqt read the +\fBknown_hosts\fP file. Libvirt may also have been built without \fBlibssh\fP or \fBlibssh2\fP +support. +.sp +To use the SSH transport, on the minion setup an SSH agent with a key authorized on +the remote libvirt machine. +.SS Per call connection setup +.sp +New in version Fluorine. + +.sp +All the calls requiring the libvirt connection configuration as mentioned above can +override this configuration using \fBconnection\fP, \fBusername\fP and \fBpassword\fP parameters. +.sp +This means that the following will list the domains on the local LXC libvirt driver, +whatever the \fBvirt:connection\fP is. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqhypervisor\(aq virt.list_domains connection=lxc:/// +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The calls not using the libvirt connection setup are: +.INDENT 0.0 +.IP \(bu 2 +\fBseed_non_shared_migrate\fP +.IP \(bu 2 +\fBvirt_type\fP +.IP \(bu 2 +\fBis_*hyper\fP +.IP \(bu 2 +all migration functions +.IP \(bu 2 +\fI\%libvirt ESX URI format\fP +.IP \(bu 2 +\fI\%libvirt URI format\fP +.IP \(bu 2 +\fI\%libvirt authentication configuration\fP +.UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.cpu_baseline(full=False, migratable=False, out=u\(aqlibvirt\(aq) +.B salt.modules.virt.capabilities(**kwargs) +Return the hypervisor connection capabilities. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.capabilities +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.cpu_baseline(full=False, migratable=False, out=u\(aqlibvirt\(aq, **kwargs) Return the optimal \(aqcustom\(aq CPU baseline config for VM\(aqs on this minion .sp New in version 2016.3.0. @@ -255647,6 +274845,30 @@ New in version 2016.3.0. \fBmigratable\fP \-\- Exclude CPU features that are unmigratable (libvirt 2.13+) .IP \(bu 2 \fBout\fP \-\- \(aqlibvirt\(aq (default) for usable libvirt XML definition, \(aqsalt\(aq for nice dict +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -255664,8 +274886,40 @@ salt \(aq*\(aq virt.cpu_baseline .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.create_xml_path(path) +.B salt.modules.virt.create_xml_path(path, **kwargs) Start a domain based on the XML\-file path passed to the function +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- path to a file containing the libvirt XML definition of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255681,8 +274935,40 @@ salt \(aq*\(aq virt.create_xml_path .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.create_xml_str(xml) +.B salt.modules.virt.create_xml_str(xml, **kwargs) Start a domain based on the XML passed to the function +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBxml\fP \-\- libvirt XML definition of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255698,8 +274984,40 @@ salt \(aq*\(aq virt.create_xml_str .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.ctrl_alt_del(vm_) +.B salt.modules.virt.ctrl_alt_del(vm_, **kwargs) Sends CTRL+ALT+DEL to a VM +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255715,8 +275033,40 @@ salt \(aq*\(aq virt.ctrl_alt_del .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.define_vol_xml_path(path) +.B salt.modules.virt.define_vol_xml_path(path, **kwargs) Define a volume based on the XML\-file path passed to the function +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- path to a file containing the libvirt XML definition of the volume +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255732,8 +275082,40 @@ salt \(aq*\(aq virt.define_vol_xml_path .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.define_vol_xml_str(xml) +.B salt.modules.virt.define_vol_xml_str(xml, **kwargs) Define a volume based on the XML passed to the function +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBxml\fP \-\- libvirt XML definition of the storage volume +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255746,11 +275128,57 @@ salt \(aq*\(aq virt.define_vol_xml_str .fi .UNINDENT .UNINDENT +.sp +The storage pool where the disk image will be defined is \fBdefault\fP +unless changed with a configuration like this: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + storagepool: mine +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.define_xml_path(path) +.B salt.modules.virt.define_xml_path(path, **kwargs) Define a domain based on the XML\-file path passed to the function +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- path to a file containing the libvirt XML definition of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255766,8 +275194,40 @@ salt \(aq*\(aq virt.define_xml_path .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.define_xml_str(xml) +.B salt.modules.virt.define_xml_str(xml, **kwargs) Define a domain based on the XML passed to the function +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBxml\fP \-\- libvirt XML definition of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255785,11 +275245,39 @@ salt \(aq*\(aq virt.define_xml_str .TP .B salt.modules.virt.delete_snapshots(name, *names, **kwargs) Delete one or more snapshots of the given VM. -.sp -Options: +.INDENT 7.0 +.TP +.B Parameters .INDENT 7.0 .IP \(bu 2 -\fBall\fP: Remove all snapshots. Values: True or False (default False). +\fBname\fP \-\- domain name +.IP \(bu 2 +\fBnames\fP \-\- names of the snapshots to remove +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT .UNINDENT .sp New in version 2016.3.0. @@ -255811,9 +275299,85 @@ salt \(aq*\(aq virt.delete_snapshots ... .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.freecpu() +.B salt.modules.virt.domain_capabilities(emulator=None, arch=None, machine=None, domain=None, **kwargs) +Return the domain capabilities given an emulator, architecture, machine or virtualization type. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBemulator\fP \-\- return the capabilities for the given emulator binary +.IP \(bu 2 +\fBarch\fP \-\- return the capabilities for the given CPU architecture +.IP \(bu 2 +\fBmachine\fP \-\- return the capabilities for the given emulated machine type +.IP \(bu 2 +\fBdomain\fP \-\- return the capabilities for the given virtualization type. +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +The list of the possible emulator, arch, machine and domain can be found in +the host capabilities output. +.sp +If none of the parameters is provided the libvirt default domain capabilities +will be returned. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.domain_capabilities arch=\(aqx86_64\(aq domain=\(aqkvm\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.freecpu(**kwargs) Return an int representing the number of unallocated cpus on this hypervisor +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255829,9 +275393,39 @@ salt \(aq*\(aq virt.freecpu .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.freemem() +.B salt.modules.virt.freemem(**kwargs) Return an int representing the amount of memory (in MB) that has not been given to virtual machines on this node +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255847,8 +275441,38 @@ salt \(aq*\(aq virt.freemem .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.full_info() +.B salt.modules.virt.full_info(**kwargs) Return the node_info, vm_info and freemem +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255864,8 +275488,40 @@ salt \(aq*\(aq virt.full_info .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.get_disks(vm_) +.B salt.modules.virt.get_disks(vm_, **kwargs) Return the disks of a named vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255881,8 +275537,40 @@ salt \(aq*\(aq virt.get_disks .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.get_graphics(vm_) +.B salt.modules.virt.get_graphics(vm_, **kwargs) Returns the information on vnc for a given vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255898,8 +275586,68 @@ salt \(aq*\(aq virt.get_graphics .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.get_macs(vm_) +.B salt.modules.virt.get_hypervisor() +Returns the name of the hypervisor running on this node or \fBNone\fP\&. +.sp +Detected hypervisors: +.INDENT 7.0 +.IP \(bu 2 +kvm +.IP \(bu 2 +xen +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.get_hypervisor +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine: the function and the \fBkvm\fP and \fBxen\fP hypervisors support + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.get_macs(vm_, **kwargs) Return a list off MAC addresses from the named vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255915,8 +275663,40 @@ salt \(aq*\(aq virt.get_macs .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.get_nics(vm_) +.B salt.modules.virt.get_nics(vm_, **kwargs) Return info about the network interfaces of a named vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255932,18 +275712,46 @@ salt \(aq*\(aq virt.get_nics .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.get_profiles(hypervisor=None) +.B salt.modules.virt.get_profiles(hypervisor=None, **kwargs) Return the virt profiles for hypervisor. .sp Currently there are profiles for: .INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 .IP \(bu 2 nic .IP \(bu 2 disk .UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhypervisor\fP \-\- override the default machine type. +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -255962,8 +275770,40 @@ salt \(aq*\(aq virt.get_profiles hypervisor=esxi .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.get_xml(vm_) +.B salt.modules.virt.get_xml(vm_, **kwargs) Returns the XML for a given vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -255979,11 +275819,331 @@ salt \(aq*\(aq virt.get_xml .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.init(name, cpu, mem, image=None, nic=u\(aqdefault\(aq, hypervisor=u\(aqkvm\(aq, start=True, disk=u\(aqdefault\(aq, saltenv=u\(aqbase\(aq, seed=True, install=True, pub_key=None, priv_key=None, seed_cmd=u\(aqseed.apply\(aq, enable_vnc=False, enable_qcow=False, **kwargs) +.B salt.modules.virt.init(name, cpu, mem, image=None, nic=u\(aqdefault\(aq, interfaces=None, hypervisor=None, start=True, disk=u\(aqdefault\(aq, disks=None, saltenv=u\(aqbase\(aq, seed=True, install=True, pub_key=None, priv_key=None, seed_cmd=u\(aqseed.apply\(aq, enable_vnc=False, enable_qcow=False, graphics=None, os_type=None, arch=None, **kwargs) Initialize a new vm -.sp -CLI Example: .INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- name of the virtual machine to create +.IP \(bu 2 +\fBcpu\fP \-\- Number of virtual CPUs to assign to the virtual machine +.IP \(bu 2 +\fBmem\fP \-\- Amount of memory to allocate to the virtual machine in MiB. +.IP \(bu 2 +\fBimage\fP \-\- +.sp +Path to a disk image to use as the first disk (Default: \fBNone\fP). +Deprecated in favor of the \fBdisks\fP parameter. To set (or change) the image of a +disk, add the following to the disks definitions: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqname\(aq: \(aqname_of_disk_to_change\(aq, + \(aqimage\(aq: \(aq/path/to/the/image\(aq +} +.ft P +.fi +.UNINDENT +.UNINDENT + +.IP \(bu 2 +\fBnic\fP \-\- NIC profile to use (Default: \fB\(aqdefault\(aq\fP). +The profile interfaces can be customized / extended with the interfaces parameter. +If set to \fBNone\fP, no profile will be used. +.IP \(bu 2 +\fBinterfaces\fP \-\- +.sp +List of dictionaries providing details on the network interfaces to create. +These data are merged with the ones from the nic profile. The structure of +each dictionary is documented in \fI\%Network Interfaces Definitions\fP\&. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBhypervisor\fP \-\- the virtual machine type. By default the value will be computed according +to the virtual host capabilities. +.IP \(bu 2 +\fBstart\fP \-\- \fBTrue\fP to start the virtual machine after having defined it (Default: \fBTrue\fP) +.IP \(bu 2 +\fBdisk\fP \-\- Disk profile to use (Default: \fB\(aqdefault\(aq\fP). If set to \fBNone\fP, no profile will be used. +.IP \(bu 2 +\fBdisks\fP \-\- +.sp +List of dictionaries providing details on the disk devices to create. +These data are merged with the ones from the disk profile. The structure of +each dictionary is documented in \fI\%Disks Definitions\fP\&. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBsaltenv\fP \-\- Fileserver environment (Default: \fB\(aqbase\(aq\fP). +See \fBcp module for more details\fP +.IP \(bu 2 +\fBseed\fP \-\- \fBTrue\fP to seed the disk image. Only used when the \fBimage\fP parameter is provided. +(Default: \fBTrue\fP) +.IP \(bu 2 +\fBinstall\fP \-\- install salt minion if absent (Default: \fBTrue\fP) +.IP \(bu 2 +\fBpub_key\fP \-\- public key to seed with (Default: \fBNone\fP) +.IP \(bu 2 +\fBpriv_key\fP \-\- public key to seed with (Default: \fBNone\fP) +.IP \(bu 2 +\fBseed_cmd\fP \-\- Salt command to execute to seed the image. (Default: \fB\(aqseed.apply\(aq\fP) +.IP \(bu 2 +\fBenable_vnc\fP \-\- +.sp +\fBTrue\fP to setup a vnc display for the VM (Default: \fBFalse\fP) +.sp +Deprecated in favor of the \fBgraphics\fP parameter. Could be replaced with +the following: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +graphics={\(aqtype\(aq: \(aqvnc\(aq} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Deprecated since version Fluorine. + + +.IP \(bu 2 +\fBgraphics\fP \-\- +.sp +Dictionary providing details on the graphics device to create. (Default: \fBNone\fP) +See \fI\%Graphics Definition\fP for more details on the possible values. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBos_type\fP \-\- +.sp +type of virtualization as found in the \fB//os/type\fP element of the libvirt definition. +The default value is taken from the host capabilities, with a preference for \fBhvm\fP\&. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBarch\fP \-\- +.sp +architecture of the virtual machine. The default value is taken from the host capabilities, +but \fBx86_64\fP is prefed over \fBi686\fP\&. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBenable_qcow\fP \-\- +.sp +\fBTrue\fP to create a QCOW2 overlay image, rather than copying the image +(Default: \fBFalse\fP). +.sp +Deprecated in favor of \fBdisks\fP parameter. Add the following to the disks +definitions to create an overlay image of a template disk image with an +image set: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqname\(aq: \(aqname_of_disk_to_change\(aq, + \(aqoverlay_image\(aq: True +} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Deprecated since version Fluorine. + + +.IP \(bu 2 +\fBpool\fP \-\- +.sp +Path of the folder where the image files are located for vmware/esx hypervisors. +.sp +Deprecated in favor of \fBdisks\fP parameter. Add the following to the disks +definitions to set the vmware datastore of a disk image: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqname\(aq: \(aqname_of_disk_to_change\(aq, + \(aqpool\(aq: \(aqmydatastore\(aq +} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Deprecated since version Flurorine. + + +.IP \(bu 2 +\fBdmac\fP \-\- +.sp +Default MAC address to use for the network interfaces. By default MAC addresses are +automatically generated. +.sp +Deprecated in favor of \fBinterfaces\fP parameter. Add the following to the interfaces +definitions to force the mac address of a NIC: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqname\(aq: \(aqname_of_nic_to_change\(aq, + \(aqmac\(aq: \(aqMY:MA:CC:ADD:RE:SS\(aq +} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Deprecated since version Fluorine. + + +.IP \(bu 2 +\fBconfig\fP \-\- minion configuration to use when seeding. +See \fBseed module for more details\fP +.IP \(bu 2 +\fBboot_dev\fP \-\- String of space\-separated devices to boot from (Default: \fB\(aqhd\(aq\fP) +.IP \(bu 2 +\fBserial_type\fP \-\- Serial device type. One of \fB\(aqpty\(aq\fP, \fB\(aqtcp\(aq\fP (Default: \fBNone\fP) +.IP \(bu 2 +\fBtelnet_port\fP \-\- Telnet port to use for serial device of type \fBtcp\fP\&. +.IP \(bu 2 +\fBconsole\fP \-\- \fBTrue\fP to add a console device along with serial one (Default: \fBTrue\fP) +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +Network Interfaces Definitions +.sp +Network interfaces dictionaries can contain the following properties: +.INDENT 7.0 +.TP +.B name +Name of the network interface. This is only used as a key to merge with the profile data +.TP +.B type +Network type. One of \fB\(aqbridge\(aq\fP, \fB\(aqnetwork\(aq\fP +.TP +.B source +The network source, typically the bridge or network name +.TP +.B mac +The desired mac address, computed if \fBNone\fP (Default: \fBNone\fP). +.TP +.B model +The network card model (Default: depends on the hypervisor) +.UNINDENT +Disks Definitions +.sp +Disk dictionaries can contain the following properties: +.INDENT 7.0 +.TP +.B name +Name of the disk. This is mostly used in the name of the disk image and as a key to merge +with the profile data. +.TP +.B format +Format of the disk image, like \fB\(aqqcow2\(aq\fP, \fB\(aqraw\(aq\fP, \fB\(aqvmdk\(aq\fP\&. +(Default: depends on the hypervisor) +.TP +.B size +Disk size in MiB +.TP +.B pool +Path to the folder or name of the pool where disks should be created. +(Default: depends on hypervisor) +.TP +.B model +One of the disk busses allowed by libvirt (Default: depends on hypervisor) +.sp +See the libvirt \fI\%disk element\fP documentation for the allowed bus types. +.TP +.B image +Path to the image to use for the disk. If no image is provided, an empty disk will be created +(Default: \fBNone\fP) +.TP +.B overlay_image +\fBTrue\fP to create a QCOW2 disk image with \fBimage\fP as backing file. If \fBFalse\fP +the file pointed to by the \fBimage\fP property will simply be copied. (Default: \fBFalse\fP) +.TP +.B source_file +Absolute path to the disk image to use. Not to be confused with \fBimage\fP parameter. This +parameter is useful to use disk images that are created outside of this module. Can also +be \fBNone\fP for devices that have no associated image like cdroms. +.TP +.B device +Type of device of the disk. Can be one of \(aqdisk\(aq, \(aqcdrom\(aq, \(aqfloppy\(aq or \(aqlun\(aq. +(Default: \fB\(aqdisk\(aq\fP) +.UNINDENT +Graphics Definition +.sp +The graphics dictionnary can have the following properties: +.INDENT 7.0 +.TP +.B type +Graphics type. The possible values are \fBnone\fP, \fB\(aqspice\(aq\fP, \fB\(aqvnc\(aq\fP and other values +allowed as a libvirt graphics type (Default: \fBNone\fP) +.sp +See the libvirt \fI\%graphics element\fP documentation for more details on the possible types. +.TP +.B port +Port to export the graphics on for \fBvnc\fP, \fBspice\fP and \fBrdp\fP types. +.TP +.B tls_port +Port to export the graphics over a secured connection for \fBspice\fP type. +.TP +.B listen +Dictionary defining on what address to listen on for \fBvnc\fP, \fBspice\fP and \fBrdp\fP\&. +It has a \fBtype\fP property with \fBaddress\fP and \fBNone\fP as possible values, and an +\fBaddress\fP property holding the IP or hostname to listen on. +.sp +By default, not setting the \fBlisten\fP part of the dictionary will default to +listen on all addresses. +.UNINDENT +CLI Example.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -255995,6 +276155,21 @@ salt \(aqhypervisor\(aq virt.init vm_name 4 512 nic=profile disk=profile .fi .UNINDENT .UNINDENT +.sp +The disk images will be created in an image folder within the directory +defined by the \fBvirt:images\fP option. Its default value is +\fB/srv/salt\-images/\fP but this can changed with such a configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + images: /data/my/vm/images/ +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -256029,6 +276204,9 @@ salt \(aq*\(aq virt.is_kvm_hyper .fi .UNINDENT .UNINDENT +.sp +Deprecated since version Fluorine. + .UNINDENT .INDENT 0.0 .TP @@ -256046,11 +276224,44 @@ salt \(aq*\(aq virt.is_xen_hyper .fi .UNINDENT .UNINDENT +.sp +Deprecated since version Fluorine. + .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.list_active_vms() +.B salt.modules.virt.list_active_vms(**kwargs) Return a list of names for active virtual machine on the minion +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256066,8 +276277,38 @@ salt \(aq*\(aq virt.list_active_vms .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.list_domains() +.B salt.modules.virt.list_domains(**kwargs) Return a list of available domains. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256083,8 +276324,38 @@ salt \(aq*\(aq virt.list_domains .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.list_inactive_vms() +.B salt.modules.virt.list_inactive_vms(**kwargs) Return a list of names for inactive virtual machine on the minion +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256100,8 +276371,104 @@ salt \(aq*\(aq virt.list_inactive_vms .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.list_snapshots(domain=None) +.B salt.modules.virt.list_networks(**kwargs) +List all virtual networks. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.list_networks +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.list_pools(**kwargs) +List all storage pools. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.list_pools +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.list_snapshots(domain=None, **kwargs) List available snapshots for certain vm or for all. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBdomain\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp New in version 2016.3.0. @@ -256123,6 +276490,18 @@ salt \(aq*\(aq virt.list_snapshots .TP .B salt.modules.virt.migrate(vm_, target, ssh=False) Shared storage migration +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBtarget\fP \-\- target libvirt host name +.IP \(bu 2 +\fBssh\fP \-\- True to connect over ssh +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256135,11 +276514,40 @@ salt \(aq*\(aq virt.migrate .fi .UNINDENT .UNINDENT +.sp +A tunnel data migration can be performed by setting this in the +configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + tunnel: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +For more details on tunnelled data migrations, report to +\fI\%https://libvirt.org/migration.html#transporttunnel\fP .UNINDENT .INDENT 0.0 .TP .B salt.modules.virt.migrate_non_shared(vm_, target, ssh=False) Attempt to execute non\-shared storage "all" migration +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBtarget\fP \-\- target libvirt host name +.IP \(bu 2 +\fBssh\fP \-\- True to connect over ssh +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256152,11 +276560,40 @@ salt \(aq*\(aq virt.migrate_non_shared .fi .UNINDENT .UNINDENT +.sp +A tunnel data migration can be performed by setting this in the +configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + tunnel: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +For more details on tunnelled data migrations, report to +\fI\%https://libvirt.org/migration.html#transporttunnel\fP .UNINDENT .INDENT 0.0 .TP .B salt.modules.virt.migrate_non_shared_inc(vm_, target, ssh=False) Attempt to execute non\-shared storage "all" migration +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBtarget\fP \-\- target libvirt host name +.IP \(bu 2 +\fBssh\fP \-\- True to connect over ssh +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256169,11 +276606,280 @@ salt \(aq*\(aq virt.migrate_non_shared_inc .fi .UNINDENT .UNINDENT +.sp +A tunnel data migration can be performed by setting this in the +configuration: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +virt: + tunnel: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +For more details on tunnelled data migrations, report to +\fI\%https://libvirt.org/migration.html#transporttunnel\fP .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.node_info() +.B salt.modules.virt.network_define(name, bridge, forward, **kwargs) +Create libvirt network. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Network name +.IP \(bu 2 +\fBbridge\fP \-\- Bridge name +.IP \(bu 2 +\fBforward\fP \-\- Forward mode(bridge, router, nat) +.IP \(bu 2 +\fBvport\fP \-\- Virtualport type +.IP \(bu 2 +\fBtag\fP \-\- Vlan tag +.IP \(bu 2 +\fBautostart\fP \-\- Network autostart (default True) +.IP \(bu 2 +\fBstart\fP \-\- Network start (default True) +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.network_define network main bridge openvswitch +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.network_info(name=None, **kwargs) +Return informations on a virtual network provided its name. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- virtual network name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +If no name is provided, return the infos for all defined virtual networks. +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.network_info default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.network_set_autostart(name, state=u\(aqon\(aq, **kwargs) +Set the autostart flag on a virtual network so that the network +will start with the host system on reboot. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- virtual network name +.IP \(bu 2 +\fBstate\fP \-\- \(aqon\(aq to auto start the network, anything else to mark the +virtual network not to be started when the host boots +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt "*" virt.network_set_autostart +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.network_start(name, **kwargs) +Start a defined virtual network. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- virtual network name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.network_start default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.network_stop(name, **kwargs) +Stop a defined virtual network. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- virtual network name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.network_stop default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.network_undefine(name, **kwargs) +Remove a defined virtual network. This does not stop the virtual network. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- virtual network name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.network_undefine default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.node_info(**kwargs) Return a dict with information about this node +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256189,8 +276895,40 @@ salt \(aq*\(aq virt.node_info .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.pause(vm_) +.B salt.modules.virt.pause(vm_, **kwargs) Pause the named vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256206,10 +276944,25 @@ salt \(aq*\(aq virt.pause .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.purge(vm_, dirs=False) -Recursively destroy and delete a virtual machine, pass True for dir\(aqs to -also delete the directories containing the virtual machine disk images \- -USE WITH EXTREME CAUTION! +.B salt.modules.virt.pool_build(name, **kwargs) +Build a defined libvirt storage pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .sp CLI Example: .INDENT 7.0 @@ -256217,7 +276970,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq virt.purge +salt \(aq*\(aq virt.pool_build default .ft P .fi .UNINDENT @@ -256225,8 +276978,549 @@ salt \(aq*\(aq virt.purge .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.reboot(name) +.B salt.modules.virt.pool_define(name, ptype, target=None, permissions=None, source_devices=None, source_dir=None, source_adapter=None, source_hosts=None, source_auth=None, source_name=None, source_format=None, transient=False, start=True, **kwargs) +Create libvirt pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Pool name +.IP \(bu 2 +\fBptype\fP \-\- Pool type. See \fI\%libvirt documentation\fP for the +possible values. +.IP \(bu 2 +\fBtarget\fP \-\- Pool full path target +.IP \(bu 2 +\fBpermissions\fP \-\- Permissions to set on the target folder. This is mostly used for filesystem\-based +pool types. See \fI\%Permissions definition\fP for more details on this structure. +.IP \(bu 2 +\fBsource_devices\fP \-\- +.sp +List of source devices for pools backed by physical devices. (Default: \fBNone\fP) +.sp +Each item in the list is a dictionary with \fBpath\fP and optionally \fBpart_separator\fP +keys. The path is the qualified name for iSCSI devices. +.sp +Report to \fI\%this libvirt page\fP +for more informations on the use of \fBpart_separator\fP + +.IP \(bu 2 +\fBsource_dir\fP \-\- Path to the source directory for pools of type \fBdir\fP, \fBnetfs\fP or \fBgluster\fP\&. +(Default: \fBNone\fP) +.IP \(bu 2 +\fBsource_adapter\fP \-\- +.sp +SCSI source definition. The value is a dictionary with \fBtype\fP, \fBname\fP, \fBparent\fP, +\fBmanaged\fP, \fBparent_wwnn\fP, \fBparent_wwpn\fP, \fBparent_fabric_wwn\fP, \fBwwnn\fP, \fBwwpn\fP +and \fBparent_address\fP keys. +.sp +The \fBparent_address\fP value is a dictionary with \fBunique_id\fP and \fBaddress\fP keys. +The address represents a PCI address and is itself a dictionary with \fBdomain\fP, \fBbus\fP, +\fBslot\fP and \fBfunction\fP properties. +Report to \fI\%this libvirt page\fP +for the meaning and possible values of these properties. + +.IP \(bu 2 +\fBsource_hosts\fP \-\- List of source for pools backed by storage from remote servers. Each item is the hostname +optionally followed by the port separated by a colon. (Default: \fBNone\fP) +.IP \(bu 2 +\fBsource_auth\fP \-\- +.sp +Source authentication details. (Default: \fBNone\fP) +.sp +The value is a dictionary with \fBtype\fP, \fBusername\fP and \fBsecret\fP keys. The type +can be one of \fBceph\fP for Ceph RBD or \fBchap\fP for iSCSI sources. +.sp +The \fBsecret\fP value links to a libvirt secret object. It is a dictionary with +\fBtype\fP and \fBvalue\fP keys. The type value can be either \fBuuid\fP or \fBusage\fP\&. +.sp +Examples: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +source_auth={ + \(aqtype\(aq: \(aqceph\(aq, + \(aqusername\(aq: \(aqadmin\(aq, + \(aqsecret\(aq: { + \(aqtype\(aq: \(aquuid\(aq, + \(aquuid\(aq: \(aq2ec115d7\-3a88\-3ceb\-bc12\-0ac909a6fd87\(aq + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +source_auth={ + \(aqtype\(aq: \(aqchap\(aq, + \(aqusername\(aq: \(aqmyname\(aq, + \(aqsecret\(aq: { + \(aqtype\(aq: \(aqusage\(aq, + \(aquuid\(aq: \(aqmycluster_myname\(aq + } +} +.ft P +.fi +.UNINDENT +.UNINDENT + +.IP \(bu 2 +\fBsource_name\fP \-\- Identifier of name\-based sources. +.IP \(bu 2 +\fBsource_format\fP \-\- +.sp +String representing the source format. The possible values are depending on the +source type. See \fI\%libvirt documentation\fP for +the possible values. + +.IP \(bu 2 +\fBstart\fP \-\- Pool start (default True) +.IP \(bu 2 +\fBtransient\fP \-\- When \fBTrue\fP, the pool will be automatically undefined after being stopped. +Note that a transient pool will force \fBstart\fP to \fBTrue\fP\&. (Default: \fBFalse\fP) +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +Permissions definition +.sp +The permissions are described by a dictionary containing the following keys: +.INDENT 7.0 +.TP +.B mode +The octal representation of the permissions. (Default: \fI0711\fP) +.TP +.B owner +the numeric user ID of the owner. (Default: from the parent folder) +.TP +.B group +the numeric ID of the group. (Default: from the parent folder) +.TP +.B label +the SELinux label. (Default: \fINone\fP) +.UNINDENT +CLI Example: +.sp +Local folder pool: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_define somepool dir target=/srv/mypool permissions="{\(aqmode\(aq: \(aq0744\(aq \(aqower\(aq: 107, \(aqgroup\(aq: 107 }" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CIFS backed pool: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_define myshare netfs source_format=cifs source_dir=samba_share source_hosts="[\(aqexample.com\(aq]" target=/mnt/cifs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_delete(name, fast=True, **kwargs) +Delete the resources of a defined libvirt storage pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBfast\fP \-\- if set to False, zeroes out all the data. +Default value is True. +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_delete default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_info(name=None, **kwargs) +Return informations on a storage pool provided its name. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +If no name is provided, return the infos for all defined storage pools. +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_info default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_list_volumes(name, **kwargs) +List the volumes contained in a defined libvirt storage pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt "*" virt.pool_list_volumes +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_refresh(name, **kwargs) +Refresh a defined libvirt storage pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_refresh default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_set_autostart(name, state=u\(aqon\(aq, **kwargs) +Set the autostart flag on a libvirt storage pool so that the storage pool +will start with the host system on reboot. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBstate\fP \-\- \(aqon\(aq to auto start the pool, anything else to mark the +pool not to be started when the host boots +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt "*" virt.pool_set_autostart +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_start(name, **kwargs) +Start a defined libvirt storage pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_start default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_stop(name, **kwargs) +Stop a defined libvirt storage pool. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_stop default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.pool_undefine(name, **kwargs) +Remove a defined libvirt storage pool. The pool needs to be stopped before calling. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- libvirt storage pool name +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.pool_undefine default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.purge(vm_, dirs=False, removables=None, **kwargs) +Recursively destroy and delete a virtual machine, pass True for dir\(aqs to +also delete the directories containing the virtual machine disk images \- +USE WITH EXTREME CAUTION! +.sp +Pass removables=False to avoid deleting cdrom and floppy images. To avoid +disruption, the default but dangerous value is True. This will be changed +to the safer False default value in Sodium. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBdirs\fP \-\- pass True to remove containing directories +.IP \(bu 2 +\fBremovables\fP \-\- +.sp +pass True to remove removable devices +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.purge removables=False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.virt.reboot(name, **kwargs) Reboot a domain via ACPI request +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256242,8 +277536,40 @@ salt \(aq*\(aq virt.reboot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.reset(vm_) +.B salt.modules.virt.reset(vm_, **kwargs) Reset a VM by emulating the reset button on a physical machine +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256259,8 +277585,40 @@ salt \(aq*\(aq virt.reset .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.resume(vm_) +.B salt.modules.virt.resume(vm_, **kwargs) Resume the named vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256276,13 +277634,43 @@ salt \(aq*\(aq virt.resume .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.revert_snapshot(name, snapshot=None, cleanup=False) +.B salt.modules.virt.revert_snapshot(name, vm_snapshot=None, cleanup=False, **kwargs) Revert snapshot to the previous from current (if available) or to the specific. -.sp -Options: +.INDENT 7.0 +.TP +.B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcleanup\fP: Remove all newer than reverted snapshots. Values: True or False (default False). +\fBname\fP \-\- domain name +.IP \(bu 2 +\fBvm_snapshot\fP \-\- name of the snapshot to revert +.IP \(bu 2 +\fBcleanup\fP \-\- Remove all newer than reverted snapshots. Values: True or False (default False). +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT .UNINDENT .sp New in version 2016.3.0. @@ -256307,6 +277695,17 @@ salt \(aq*\(aq virt.revert Non shared migration requires that the disks be present on the migration destination, pass the disks information via this function, to the migration destination before executing the migration. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBdisks\fP \-\- the list of disk data as provided by virt.get_disks +.IP \(bu 2 +\fBforce\fP \-\- skip checking the compatibility of source and target disk +images if True. (default: False) +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256322,9 +277721,44 @@ salt \(aq*\(aq virt.seed_non_shared_migrate .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.set_autostart(vm_, state=u\(aqon\(aq) +.B salt.modules.virt.set_autostart(vm_, state=u\(aqon\(aq, **kwargs) Set the autostart flag on a VM so that the VM will start with the host system on reboot. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBstate\fP \-\- \(aqon\(aq to auto start the pool, anything else to mark the +pool not to be started when the host boots +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256340,12 +277774,45 @@ salt "*" virt.set_autostart .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.setmem(vm_, memory, config=False) +.B salt.modules.virt.setmem(vm_, memory, config=False, **kwargs) Changes the amount of memory allocated to VM. The VM must be shutdown for this to work. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBmemory\fP \-\- memory amount to set in MB +.IP \(bu 2 +\fBconfig\fP \-\- if True then libvirt will be asked to modify the config as well +.IP \(bu 2 +\fBconnection\fP \-\- .sp -memory is to be specified in MB -If config is True then we ask libvirt to modify the config as well +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256362,12 +277829,47 @@ salt \(aq*\(aq virt.setmem my_domain 768 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.setvcpus(vm_, vcpus, config=False) +.B salt.modules.virt.setvcpus(vm_, vcpus, config=False, **kwargs) Changes the amount of vcpus allocated to VM. The VM must be shutdown for this to work. .sp -vcpus is an int representing the number to be assigned If config is True then we ask libvirt to modify the config as well +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBvcpus\fP \-\- integer representing the number of CPUs to be assigned +.IP \(bu 2 +\fBconfig\fP \-\- if True then libvirt will be asked to modify the config as well +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256384,8 +277886,40 @@ salt \(aq*\(aq virt.setvcpus my_domain 4 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.shutdown(vm_) +.B salt.modules.virt.shutdown(vm_, **kwargs) Send a soft shutdown signal to the named vm +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256401,22 +277935,44 @@ salt \(aq*\(aq virt.shutdown .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.snapshot(domain, name=None, suffix=None) +.B salt.modules.virt.snapshot(domain, name=None, suffix=None, **kwargs) Create a snapshot of a VM. -.sp -Options: +.INDENT 7.0 +.TP +.B Parameters .INDENT 7.0 .IP \(bu 2 -.INDENT 2.0 -.TP -\fBname\fP: Name of the snapshot. If the name is omitted, then will be used original domain name with -ISO 8601 time as a suffix. -.UNINDENT +\fBdomain\fP \-\- domain name .IP \(bu 2 -.INDENT 2.0 -.TP -\fBsuffix\fP: Add suffix for the new name. Useful in states, where such snapshots +\fBname\fP \-\- Name of the snapshot. If the name is omitted, then will be used original domain +name with ISO 8601 time as a suffix. +.IP \(bu 2 +\fBsuffix\fP \-\- Add suffix for the new name. Useful in states, where such snapshots can be distinguished from manually created. +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + .UNINDENT .UNINDENT .sp @@ -256437,8 +277993,40 @@ salt \(aq*\(aq virt.snapshot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.start(name) +.B salt.modules.virt.start(name, **kwargs) Start a defined domain +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256454,8 +278042,40 @@ salt \(aq*\(aq virt.start .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.stop(name) +.B salt.modules.virt.stop(name, **kwargs) Hard power down the virtual machine, this is equivalent to pulling the power. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256471,9 +278091,41 @@ salt \(aq*\(aq virt.stop .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.undefine(vm_) +.B salt.modules.virt.undefine(vm_, **kwargs) Remove a defined vm, this does not purge the virtual machine image, and this only works if the vm is powered down +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256489,6 +278141,90 @@ salt \(aq*\(aq virt.undefine .UNINDENT .INDENT 0.0 .TP +.B salt.modules.virt.update(name, cpu=0, mem=0, disk_profile=None, disks=None, nic_profile=None, interfaces=None, graphics=None, live=True, **kwargs) +Update the definition of an existing domain. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Name of the domain to update +.IP \(bu 2 +\fBcpu\fP \-\- Number of virtual CPUs to assign to the virtual machine +.IP \(bu 2 +\fBmem\fP \-\- Amount of memory to allocate to the virtual machine in MiB. +.IP \(bu 2 +\fBdisk_profile\fP \-\- disk profile to use +.IP \(bu 2 +\fBdisks\fP \-\- Disk definitions as documented in the \fI\%init()\fP function. +If neither the profile nor this parameter are defined, the disk devices +will not be changed. However to clear disks set this parameter to empty list. +.IP \(bu 2 +\fBnic_profile\fP \-\- network interfaces profile to use +.IP \(bu 2 +\fBinterfaces\fP \-\- Network interface definitions as documented in the \fI\%init()\fP function. +If neither the profile nor this parameter are defined, the interface devices +will not be changed. However to clear network interfaces set this parameter +to empty list. +.IP \(bu 2 +\fBgraphics\fP \-\- The new graphics definition as defined in \fI\%Graphics Definition\fP\&. If not set, +the graphics will not be changed. To remove a graphics device, set this parameter +to \fB{\(aqtype\(aq: \(aqnone\(aq}\fP\&. +.IP \(bu 2 +\fBlive\fP \-\- \fBFalse\fP to avoid trying to live update the definition. In such a case, the +new definition is applied at the next start of the virtual machine. If \fBTrue\fP, +not all aspects of the definition can be live updated, but as much as possible +will be attempted. (Default: \fBTrue\fP) +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.TP +.B Returns +Returns a dictionary indicating the status of what has been done. It is structured in +the following way: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqdefinition\(aq: True, + \(aqcpu\(aq: True, + \(aqmem\(aq: True, + \(aqdisks\(aq: {\(aqattached\(aq: [list of actually attached disks], + \(aqdetached\(aq: [list of actually detached disks]}, + \(aqnics\(aq: {\(aqattached\(aq: [list of actually attached nics], + \(aqdetached\(aq: [list of actually detached nics]}, + \(aqerrors\(aq: [\(aqerror messages for failures\(aq] +} +.ft P +.fi +.UNINDENT +.UNINDENT + +.UNINDENT +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq virt.update domain cpu=2 mem=1024 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.virt.virt_type() Returns the virtual machine type as a string .sp @@ -256506,10 +278242,42 @@ salt \(aq*\(aq virt.virt_type .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.vm_cputime(vm_=None) +.B salt.modules.virt.vm_cputime(vm_=None, **kwargs) Return cputime used by the vms on this hyper in a list of dicts: .INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -256543,10 +278311,42 @@ salt \(aq*\(aq virt.vm_cputime .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.vm_diskstats(vm_=None) +.B salt.modules.virt.vm_diskstats(vm_=None, **kwargs) Return disk usage counters used by the vms on this hyper in a list of dicts: .INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -256583,10 +278383,42 @@ salt \(aq*\(aq virt.vm_blockstats .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.vm_info(vm_=None) +.B salt.modules.virt.vm_info(vm_=None, **kwargs) Return detailed information about the vms on this hyper in a list of dicts: .INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -256623,10 +278455,42 @@ salt \(aq*\(aq virt.vm_info .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.vm_netstats(vm_=None) +.B salt.modules.virt.vm_netstats(vm_=None, **kwargs) Return combined network counters used by the vms on this hyper in a list of dicts: .INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- domain name +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -256666,11 +278530,43 @@ salt \(aq*\(aq virt.vm_netstats .UNINDENT .INDENT 0.0 .TP -.B salt.modules.virt.vm_state(vm_=None) +.B salt.modules.virt.vm_state(vm_=None, **kwargs) Return list of all the vms and their state. .sp If you pass a VM name in as an argument then it will return info for just the named VM, otherwise it will return all VMs. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBvm\fP \-\- name of the domain +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -256925,6 +278821,214 @@ salt \(aq*\(aq virtualenv.get_site_packages /path/to/my/venv .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.vmctl +.sp +Manage vms running on the OpenBSD VMM hypervisor using vmctl(8). +.sp +New in version Fluorine. + +.INDENT 0.0 +.TP +.B codeauthor +\fBJasper Lievisse Adriaanse \fP +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This module requires the \fIvmd\fP service to be running on the OpenBSD +target machine. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.create_disk(name, size) +Create a VMM disk with the specified \fIname\fP and \fIsize\fP\&. +.INDENT 7.0 +.TP +.B size: +Size in megabytes, or use a specifier such as M, G, T. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.create_disk /path/to/disk.img size=10G +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.load(path) +Load additional configuration from the specified file. +.INDENT 7.0 +.TP +.B path +Path to the configuration file. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.load path=/etc/vm.switches.conf +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.reload() +Remove all stopped VMs and reload configuration from the default configuration file. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.reload +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.reset(all=False, vms=False, switches=False) +Reset the running state of VMM or a subsystem. +.INDENT 7.0 +.TP +.B all: +Reset the running state. +.TP +.B switches: +Reset the configured switches. +.TP +.B vms: +Reset and terminate all VMs. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.reset all=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.start(name=None, id=None, bootpath=None, disk=None, disks=None, local_iface=False, memory=None, nics=0, switch=None) +Starts a VM defined by the specified parameters. +When both a name and id are provided, the id is ignored. +.INDENT 7.0 +.TP +.B name: +Name of the defined VM. +.TP +.B id: +VM id. +.TP +.B bootpath: +Path to a kernel or BIOS image to load. +.TP +.B disk: +Path to a single disk to use. +.TP +.B disks: +List of multiple disks to use. +.TP +.B local_iface: +Whether to add a local network interface. See "LOCAL INTERFACES" +in the vmctl(8) manual page for more information. +.TP +.B memory: +Memory size of the VM specified in megabytes. +.TP +.B switch: +Add a network interface that is attached to the specified +virtual switch on the host. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.start 2 # start VM with id 2 +salt \(aq*\(aq vmctl.start name=web1 bootpath=\(aq/bsd.rd\(aq nics=2 memory=512M disk=\(aq/disk.img\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.status(name=None, id=None) +List VMs running on the host, or only the VM specified by \fBid\fP\&. When +both a name and id are provided, the id is ignored. +.INDENT 7.0 +.TP +.B name: +Name of the defined VM. +.TP +.B id: +VM id. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.status # to list all VMs +salt \(aq*\(aq vmctl.status name=web1 # to get a single VM +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.vmctl.stop(name=None, id=None) +Stop (terminate) the VM identified by the given id or name. +When both a name and id are provided, the id is ignored. +.INDENT 7.0 +.TP +.B name: +Name of the defined VM. +.TP +.B id: +VM id. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vmctl.stop name=alpine +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.vsphere .sp Manage VMware vCenter servers and ESXi hosts. @@ -259526,7 +281630,7 @@ Module for listing programs that automatically run on startup (very alpha...not tested on anything but my Win 7x64) .INDENT 0.0 .TP -.B salt.modules.win_autoruns.list() +.B salt.modules.win_autoruns.list_() Get a list of automatically running programs .sp CLI Example: @@ -259980,25 +282084,25 @@ Install a capability .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcapability\fP (\fI\%str\fP) \-\- The capability to install +\fBcapability\fP (\fIstr\fP) \-\- The capability to install .IP \(bu 2 -\fBsource\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The optional source of the capability. Default +\fBsource\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The optional source of the capability. Default is set by group policy and can be Windows Update. .IP \(bu 2 -\fBlimit_access\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Prevent DISM from contacting Windows +\fBlimit_access\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Prevent DISM from contacting Windows Update for the source package .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .TP .B Raises .INDENT 7.0 .IP \(bu 2 -\fI\%NotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 +\fBNotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 .IP \(bu 2 and later. Server editions of Windows use ServerManager instead. .UNINDENT @@ -260007,7 +282111,7 @@ and later. Server editions of Windows use ServerManager instead. A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260031,33 +282135,33 @@ Install a feature using DISM .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBfeature\fP (\fI\%str\fP) \-\- The feature to install +\fBfeature\fP (\fIstr\fP) \-\- The feature to install .IP \(bu 2 -\fBpackage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The parent package for the feature. You do not +\fBpackage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The parent package for the feature. You do not have to specify the package if it is the Windows Foundation Package. Otherwise, use package to specify the parent package of the feature .IP \(bu 2 -\fBsource\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The optional source of the capability. Default +\fBsource\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The optional source of the capability. Default is set by group policy and can be Windows Update .IP \(bu 2 -\fBlimit_access\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Prevent DISM from contacting Windows +\fBlimit_access\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Prevent DISM from contacting Windows Update for the source package .IP \(bu 2 -\fBenable_parent\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- True will enable all parent features of +\fBenable_parent\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- True will enable all parent features of the specified feature .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .TP .B Returns A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260081,7 +282185,7 @@ Install a package using DISM .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpackage\fP (\fI\%str\fP) \-\- +\fBpackage\fP (\fIstr\fP) \-\- .sp The package to install. Can be a .cab file, a .msu file, or a folder .sp @@ -260094,23 +282198,23 @@ offline, either mounted or applied. .UNINDENT .IP \(bu 2 -\fBignore_check\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Skip installation of the package if the applicability checks fail +\fBignore_check\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Skip installation of the package if the applicability checks fail .IP \(bu 2 -\fBprevent_pending\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Skip the installation of the package if there are pending online +\fBprevent_pending\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Skip the installation of the package if there are pending online actions .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fBNone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .TP .B Returns A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260132,14 +282236,14 @@ List the capabilities available on the system .INDENT 7.0 .TP .B Parameters -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .TP .B Raises .INDENT 7.0 .IP \(bu 2 -\fI\%NotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 +\fBNotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 .IP \(bu 2 and later. Server editions of Windows use ServerManager instead. .UNINDENT @@ -260148,7 +282252,7 @@ and later. Server editions of Windows use ServerManager instead. A list of available capabilities .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260170,7 +282274,7 @@ List the features available on the system .INDENT 7.0 .TP .B Parameters -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .TP @@ -260178,7 +282282,7 @@ targeted. Default is None. A list of available features .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260200,14 +282304,14 @@ List all capabilities on the system .INDENT 7.0 .TP .B Parameters -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .TP .B Raises .INDENT 7.0 .IP \(bu 2 -\fI\%NotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 +\fBNotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 .IP \(bu 2 and later. Server editions of Windows use ServerManager instead. .UNINDENT @@ -260216,7 +282320,7 @@ and later. Server editions of Windows use ServerManager instead. A list of capabilities .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260240,7 +282344,7 @@ List features on the system or in a package .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpackage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBpackage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The full path to the package. Can be either a .cab file or a folder. Should point to the original source of the @@ -260251,7 +282355,7 @@ This can also be the name of a package as listed in \fBdism.installed_packages\fP .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .UNINDENT @@ -260260,7 +282364,7 @@ targeted. Default is None. A list of features .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260293,14 +282397,14 @@ List the capabilities installed on the system .INDENT 7.0 .TP .B Parameters -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .TP .B Raises .INDENT 7.0 .IP \(bu 2 -\fI\%NotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 +\fBNotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 .IP \(bu 2 and later. Server editions of Windows use ServerManager instead. .UNINDENT @@ -260309,7 +282413,7 @@ and later. Server editions of Windows use ServerManager instead. A list of installed capabilities .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260331,7 +282435,7 @@ List the features installed on the system .INDENT 7.0 .TP .B Parameters -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .TP @@ -260339,7 +282443,7 @@ targeted. Default is None. A list of installed features .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260361,7 +282465,7 @@ List the packages installed on the system .INDENT 7.0 .TP .B Parameters -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .TP @@ -260369,7 +282473,7 @@ targeted. Default is None. A list of installed packages .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -260393,12 +282497,12 @@ Display information about a package .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpackage\fP (\fI\%str\fP) \-\- The full path to the package. Can be either a .cab file +\fBpackage\fP (\fIstr\fP) \-\- The full path to the package. Can be either a .cab file or a folder. Should point to the original source of the package, not to where the file is installed. You cannot use this command to get package information for .msu files .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .UNINDENT @@ -260407,7 +282511,7 @@ targeted. Default is None. A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260431,19 +282535,19 @@ Uninstall a capability .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcapability\fP (\fI\%str\fP) \-\- The capability to be removed +\fBcapability\fP (\fIstr\fP) \-\- The capability to be removed .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .TP .B Raises .INDENT 7.0 .IP \(bu 2 -\fI\%NotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 +\fBNotImplementedError\fP \-\- For all versions of Windows that are not Windows 10 .IP \(bu 2 and later. Server editions of Windows use ServerManager instead. .UNINDENT @@ -260452,7 +282556,7 @@ and later. Server editions of Windows use ServerManager instead. A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260476,23 +282580,23 @@ Disables the feature. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBfeature\fP (\fI\%str\fP) \-\- The feature to uninstall +\fBfeature\fP (\fIstr\fP) \-\- The feature to uninstall .IP \(bu 2 -\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Remove the feature\(aqs payload. Must +\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Remove the feature\(aqs payload. Must supply source when enabling in the future. .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .TP .B Returns A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260516,23 +282620,23 @@ Uninstall a package .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpackage\fP (\fI\%str\fP) \-\- The full path to the package. Can be either a .cab file +\fBpackage\fP (\fIstr\fP) \-\- The full path to the package. Can be either a .cab file or a folder. Should point to the original source of the package, not to where the file is installed. This can also be the name of a package as listed in \fBdism.installed_packages\fP .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .TP .B Returns A dictionary containing the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260674,16 +282778,16 @@ folder can be cached from the salt master using the \fBsource\fP option. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- Local path to the directory that contains the .mof +\fBpath\fP (\fIstr\fP) \-\- Local path to the directory that contains the .mof configuration file to apply. Required. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Path to the directory that contains the .mof file on the +\fBsource\fP (\fIstr\fP) \-\- Path to the directory that contains the .mof file on the \fBfile_roots\fP\&. The source directory will be copied to the path directory and then executed. If the path and source directories differ, the source directory will be applied. If source is not passed, the config located at \fBpath\fP will be applied. Optional. .IP \(bu 2 -\fBsalt_env\fP (\fI\%str\fP) \-\- The salt environment to use when copying your source. +\fBsalt_env\fP (\fIstr\fP) \-\- The salt environment to use when copying your source. Default is \(aqbase\(aq .UNINDENT .TP @@ -260691,7 +282795,7 @@ Default is \(aqbase\(aq True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -260729,22 +282833,22 @@ Compile a config from a PowerShell script (\fB\&.ps1\fP) .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- Path (local) to the script that will create the \fB\&.mof\fP +\fBpath\fP (\fIstr\fP) \-\- Path (local) to the script that will create the \fB\&.mof\fP configuration file. If no source is passed, the file must exist locally. Required. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Path to the script on \fBfile_roots\fP to cache at the +\fBsource\fP (\fIstr\fP) \-\- Path to the script on \fBfile_roots\fP to cache at the location specified by \fBpath\fP\&. The source file will be cached locally and then executed. If source is not passed, the config script located at \fBpath\fP will be compiled. Optional. .IP \(bu 2 -\fBconfig_name\fP (\fI\%str\fP) \-\- The name of the Configuration within the script to +\fBconfig_name\fP (\fIstr\fP) \-\- The name of the Configuration within the script to apply. If the script contains multiple configurations within the file a \fBconfig_name\fP must be specified. If the \fBconfig_name\fP is not specified, the name of the file will be used as the \fBconfig_name\fP to run. Optional. .IP \(bu 2 -\fBconfig_data\fP (\fI\%str\fP) \-\- +\fBconfig_data\fP (\fIstr\fP) \-\- .sp Configuration data in the form of a hash table that will be passed to the \fBConfigurationData\fP parameter when the @@ -260756,7 +282860,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBconfig_data_source\fP (\fI\%str\fP) \-\- +\fBconfig_data_source\fP (\fIstr\fP) \-\- .sp The path to the \fB\&.psd1\fP file on \fBfile_roots\fP to cache at the location specified by @@ -260767,7 +282871,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBscript_parameters\fP (\fI\%str\fP) \-\- +\fBscript_parameters\fP (\fIstr\fP) \-\- .sp Any additional parameters expected by the configuration script. These must be defined in the script itself. @@ -260776,7 +282880,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBsalt_env\fP (\fI\%str\fP) \-\- The salt environment to use when copying the source. +\fBsalt_env\fP (\fIstr\fP) \-\- The salt environment to use when copying the source. Default is \(aqbase\(aq .UNINDENT .TP @@ -260784,7 +282888,7 @@ Default is \(aqbase\(aq A dictionary containing the results of the compilation .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260823,7 +282927,7 @@ Get the current DSC Configuration A dictionary representing the DSC Configuration on the machine .TP .B Return type -\fI\%dict\fP +dict .TP .B Raises \fBCommandExecutionError\fP \-\- On failure @@ -260856,7 +282960,7 @@ Configuration on the machine .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260886,7 +282990,7 @@ on the machine .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -260912,7 +283016,7 @@ New in version 2017.7.5. .INDENT 7.0 .TP .B Parameters -\fBreset\fP (\fI\%bool\fP) \-\- +\fBreset\fP (\fIbool\fP) \-\- .sp Attempts to reset the DSC configuration by removing the following from \fBC:\eWindows\eSystem32\eConfiguration\fP: @@ -260941,7 +283045,7 @@ wait a few minutes and run again, it may complete successfully. True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- On failure @@ -260980,7 +283084,7 @@ run a second time back\-to\-back it is like toggling between two configs. True if successfully restored .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- On failure @@ -261014,21 +283118,21 @@ followed by \fBdsc.apply_config\fP\&. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The local path to the PowerShell script that contains the +\fBpath\fP (\fIstr\fP) \-\- The local path to the PowerShell script that contains the DSC Configuration. Required. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- The path to the script on \fBfile_roots\fP to cache at the +\fBsource\fP (\fIstr\fP) \-\- The path to the script on \fBfile_roots\fP to cache at the location specified by \fBpath\fP\&. The source file will be cached locally and then executed. If source is not passed, the config script located at \fBpath\fP will be compiled. Optional. .IP \(bu 2 -\fBconfig_name\fP (\fI\%str\fP) \-\- The name of the Configuration within the script to +\fBconfig_name\fP (\fIstr\fP) \-\- The name of the Configuration within the script to apply. If the script contains multiple configurations within the file a \fBconfig_name\fP must be specified. If the \fBconfig_name\fP is not specified, the name of the file will be used as the \fBconfig_name\fP to run. Optional. .IP \(bu 2 -\fBconfig_data\fP (\fI\%str\fP) \-\- +\fBconfig_data\fP (\fIstr\fP) \-\- .sp Configuration data in the form of a hash table that will be passed to the \fBConfigurationData\fP parameter when the @@ -261040,7 +283144,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBconfig_data_source\fP (\fI\%str\fP) \-\- +\fBconfig_data_source\fP (\fIstr\fP) \-\- .sp The path to the \fB\&.psd1\fP file on \fBfile_roots\fP to cache at the location specified by @@ -261051,7 +283155,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBscript_parameters\fP (\fI\%str\fP) \-\- +\fBscript_parameters\fP (\fIstr\fP) \-\- .sp Any additional parameters expected by the configuration script. These must be defined in the script itself. @@ -261060,7 +283164,7 @@ New in version 2017.7.0. .IP \(bu 2 -\fBsalt_env\fP (\fI\%str\fP) \-\- The salt environment to use when copying the source. +\fBsalt_env\fP (\fIstr\fP) \-\- The salt environment to use when copying the source. Default is \(aqbase\(aq .UNINDENT .TP @@ -261068,7 +283172,7 @@ Default is \(aqbase\(aq True if successfully compiled and applied, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261192,7 +283296,7 @@ multiple of the other. See documentation on MSDN for more details. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261217,7 +283321,7 @@ Tests the current applied DSC Configuration True if successfully applied, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261258,31 +283362,32 @@ salt.utils.win_dacl .TP .B salt.modules.win_file.check_perms(path, ret=None, owner=None, grant_perms=None, deny_perms=None, inheritance=True, reset=False) Check owner and permissions for the passed directory. This function checks -the permissions and sets them, returning the changes made. +the permissions and sets them, returning the changes made. Used by the file +state to populate the return dict .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The full path to the directory. +\fBpath\fP (\fIstr\fP) \-\- The full path to the directory. .IP \(bu 2 -\fBret\fP (\fI\%dict\fP) \-\- A dictionary to append changes to and return. If not passed, will +\fBret\fP (\fIdict\fP) \-\- A dictionary to append changes to and return. If not passed, will create a new dictionary to return. .IP \(bu 2 -\fBowner\fP (\fI\%str\fP) \-\- The owner to set for the directory. +\fBowner\fP (\fIstr\fP) \-\- The owner to set for the directory. .IP \(bu 2 -\fBgrant_perms\fP (\fI\%dict\fP) \-\- A dictionary containing the user/group and the basic permissions to +\fBgrant_perms\fP (\fIdict\fP) \-\- A dictionary containing the user/group and the basic permissions to check/grant, ie: \fB{\(aquser\(aq: {\(aqperms\(aq: \(aqbasic_permission\(aq}}\fP\&. Default is \fBNone\fP\&. .IP \(bu 2 -\fBdeny_perms\fP (\fI\%dict\fP) \-\- A dictionary containing the user/group and permissions to +\fBdeny_perms\fP (\fIdict\fP) \-\- A dictionary containing the user/group and permissions to check/deny. Default is \fBNone\fP\&. .IP \(bu 2 -\fBinheritance\fP (\fI\%bool\fP) \-\- \fBTrue will check if inheritance is enabled and enable it. \(ga\(gaFalse\fP -will check if inheritance is disabled and disable it. Defaultl is +\fBinheritance\fP (\fIbool\fP) \-\- \fBTrue will check if inheritance is enabled and enable it. \(ga\(gaFalse\fP +will check if inheritance is disabled and disable it. Default is \fBTrue\fP\&. .IP \(bu 2 -\fBreset\fP (\fI\%bool\fP) \-\- \fBTrue\fP will show what permisisons will be removed by resetting the +\fBreset\fP (\fIbool\fP) \-\- \fBTrue\fP will show what permissions will be removed by resetting the DACL. \fBFalse\fP will do nothing. Default is \fBFalse\fP\&. .UNINDENT .TP @@ -261290,7 +283395,7 @@ DACL. \fBFalse\fP will do nothing. Default is \fBFalse\fP\&. A dictionary of changes that have been made .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -261338,9 +283443,9 @@ To set group permissions use \fBfile.set_perms\fP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBgroup\fP (\fI\%str\fP) \-\- The group (unused) +\fBgroup\fP (\fIstr\fP) \-\- The group (unused) .UNINDENT .TP .B Returns @@ -261378,15 +283483,15 @@ implications, pass the Windows only parameter, pgroup, instead. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBuser\fP (\fI\%str\fP) \-\- The name of the user to own the file +\fBuser\fP (\fIstr\fP) \-\- The name of the user to own the file .IP \(bu 2 -\fBgroup\fP (\fI\%str\fP) \-\- The group (not used) +\fBgroup\fP (\fIstr\fP) \-\- The group (not used) .IP \(bu 2 -\fBpgroup\fP (\fI\%str\fP) \-\- The primary group to assign +\fBpgroup\fP (\fIstr\fP) \-\- The primary group to assign .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261394,7 +283499,7 @@ the linked file instead of the symlink itself. Default is True True if successful, otherwise error .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261427,16 +283532,16 @@ Ensure you know what you are doing before using this function. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBpgroup\fP (\fI\%str\fP) \-\- The primary group to assign +\fBpgroup\fP (\fIstr\fP) \-\- The primary group to assign .UNINDENT .TP .B Returns True if successful, otherwise error .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261460,13 +283565,13 @@ file attributes for a file. .INDENT 7.0 .TP .B Parameters -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .TP .B Returns A dictionary of file attributes .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -261505,9 +283610,9 @@ If you do actually want to access the \(aqprimary group\(aq of a file, use .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261515,7 +283620,7 @@ the linked file instead of the symlink itself. Default is True The gid of the owner .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261554,9 +283659,9 @@ If you do actually want to access the \(aqprimary group\(aq of a file, use .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261564,7 +283669,7 @@ the linked file instead of the symlink itself. Default is True The name of the owner .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261589,7 +283694,7 @@ like Linux .INDENT 7.0 .TP .B Parameters -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .TP .B Returns None @@ -261623,9 +283728,9 @@ Ensure you know what you are doing before using this function. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261633,7 +283738,7 @@ the linked file instead of the symlink itself. Default is True The gid of the primary group .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261669,9 +283774,9 @@ which will return the SID, including for the system \(aqNone\(aq group. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261679,7 +283784,7 @@ the linked file instead of the symlink itself. Default is True The name of the primary group .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261706,9 +283811,9 @@ Symlinks are followed by default to mimic Unix behavior. Specify .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261716,7 +283821,7 @@ the linked file instead of the symlink itself. Default is True The uid of the owner .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261744,9 +283849,9 @@ Symlinks are followed by default to mimic Unix behavior. Specify .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -261754,7 +283859,7 @@ the linked file instead of the symlink itself. Default is True The name of the owner .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261785,13 +283890,13 @@ directly. .INDENT 7.0 .TP .B Parameters -\fBgid\fP (\fI\%str\fP) \-\- The gid of the group +\fBgid\fP (\fIstr\fP) \-\- The gid of the group .TP .B Returns The name of the group .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261821,13 +283926,13 @@ directly. .INDENT 7.0 .TP .B Parameters -\fBgroup\fP (\fI\%str\fP) \-\- The name of the group +\fBgroup\fP (\fIstr\fP) \-\- The name of the group .TP .B Returns The gid of the group .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -261855,13 +283960,13 @@ not an OSError. .INDENT 7.0 .TP .B Parameters -\fBpath\fP (\fI\%str\fP) \-\- The path to a file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to a file or directory .TP .B Returns True if path is a symlink, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261900,20 +284005,20 @@ group changes will occur. See the example below. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBuser\fP (\fI\%str\fP) \-\- The name of the user to own the file +\fBuser\fP (\fIstr\fP) \-\- The name of the user to own the file .IP \(bu 2 -\fBgroup\fP (\fI\%str\fP) \-\- The group (not used) +\fBgroup\fP (\fIstr\fP) \-\- The group (not used) .IP \(bu 2 -\fBpgroup\fP (\fI\%str\fP) \-\- The primary group to assign +\fBpgroup\fP (\fIstr\fP) \-\- The primary group to assign .UNINDENT .TP .B Returns True if successful, otherwise error .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -261932,14 +284037,14 @@ salt \(aq*\(aq file.lchown c:\etemp\etest.txt myusername "pgroup=\(aqNone\(aq" .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_file.makedirs(path, owner=None, grant_perms=None, deny_perms=None, inheritance=True, reset=False) +.B salt.modules.win_file.makedirs_(path, owner=None, grant_perms=None, deny_perms=None, inheritance=True, reset=False) Ensure that the parent directory containing this path is available. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- +\fBpath\fP (\fIstr\fP) \-\- .sp The full path to the directory. .sp @@ -261956,10 +284061,10 @@ like \fBC:\etemp\etest\e\fP, then it would be treated as .UNINDENT .IP \(bu 2 -\fBowner\fP (\fI\%str\fP) \-\- The owner of the directory. If not passed, it will be the account +\fBowner\fP (\fIstr\fP) \-\- The owner of the directory. If not passed, it will be the account that created the directory, likely SYSTEM. .IP \(bu 2 -\fBgrant_perms\fP (\fI\%dict\fP) \-\- +\fBgrant_perms\fP (\fIdict\fP) \-\- .sp A dictionary containing the user/group and the basic permissions to grant, ie: \fB{\(aquser\(aq: {\(aqperms\(aq: \(aqbasic_permission\(aq}}\fP\&. You can also @@ -261990,16 +284095,16 @@ To set advanced permissions use a list for the \fBperms\fP parameter, ie: .UNINDENT .IP \(bu 2 -\fBdeny_perms\fP (\fI\%dict\fP) \-\- A dictionary containing the user/group and permissions to deny along +\fBdeny_perms\fP (\fIdict\fP) \-\- A dictionary containing the user/group and permissions to deny along with the \fBapplies_to\fP setting. Use the same format used for the \fBgrant_perms\fP parameter. Remember, deny permissions supersede grant permissions. .IP \(bu 2 -\fBinheritance\fP (\fI\%bool\fP) \-\- If True the object will inherit permissions from the parent, if +\fBinheritance\fP (\fIbool\fP) \-\- If True the object will inherit permissions from the parent, if False, inheritance will be disabled. Inheritance setting will not apply to parent directories if they must be created. .IP \(bu 2 -\fBreset\fP (\fI\%bool\fP) \-\- +\fBreset\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP the existing DACL will be cleared and replaced with the settings defined in this function. If \fBFalse\fP, new entries will be @@ -262014,7 +284119,7 @@ New in version 2018.3.0. True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If unsuccessful @@ -262048,12 +284153,12 @@ Set owner and permissions for each directory created. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The full path to the directory. +\fBpath\fP (\fIstr\fP) \-\- The full path to the directory. .IP \(bu 2 -\fBowner\fP (\fI\%str\fP) \-\- The owner of the directory. If not passed, it will be the account +\fBowner\fP (\fIstr\fP) \-\- The owner of the directory. If not passed, it will be the account that created the directory, likely SYSTEM. .IP \(bu 2 -\fBgrant_perms\fP (\fI\%dict\fP) \-\- +\fBgrant_perms\fP (\fIdict\fP) \-\- .sp A dictionary containing the user/group and the basic permissions to grant, ie: \fB{\(aquser\(aq: {\(aqperms\(aq: \(aqbasic_permission\(aq}}\fP\&. You can also @@ -262084,16 +284189,16 @@ To set advanced permissions use a list for the \fBperms\fP parameter, ie: .UNINDENT .IP \(bu 2 -\fBdeny_perms\fP (\fI\%dict\fP) \-\- A dictionary containing the user/group and permissions to deny along +\fBdeny_perms\fP (\fIdict\fP) \-\- A dictionary containing the user/group and permissions to deny along with the \fBapplies_to\fP setting. Use the same format used for the \fBgrant_perms\fP parameter. Remember, deny permissions supersede grant permissions. .IP \(bu 2 -\fBinheritance\fP (\fI\%bool\fP) \-\- If \fBTrue\fP the object will inherit permissions from the parent, if +\fBinheritance\fP (\fIbool\fP) \-\- If \fBTrue\fP the object will inherit permissions from the parent, if \fBFalse\fP, inheritance will be disabled. Inheritance setting will not apply to parent directories if they must be created .IP \(bu 2 -\fBreset\fP (\fI\%bool\fP) \-\- +\fBreset\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP the existing DACL will be cleared and replaced with the settings defined in this function. If \fBFalse\fP, new entries will be @@ -262108,7 +284213,7 @@ New in version 2018.3.0. True if successful, otherwise raises an error .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -262139,12 +284244,12 @@ Ensure that the directory is available and permissions are set. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The full path to the directory. +\fBpath\fP (\fIstr\fP) \-\- The full path to the directory. .IP \(bu 2 -\fBowner\fP (\fI\%str\fP) \-\- The owner of the directory. If not passed, it will be the account +\fBowner\fP (\fIstr\fP) \-\- The owner of the directory. If not passed, it will be the account that created the directory, likely SYSTEM .IP \(bu 2 -\fBgrant_perms\fP (\fI\%dict\fP) \-\- +\fBgrant_perms\fP (\fIdict\fP) \-\- .sp A dictionary containing the user/group and the basic permissions to grant, ie: \fB{\(aquser\(aq: {\(aqperms\(aq: \(aqbasic_permission\(aq}}\fP\&. You can also @@ -262176,16 +284281,16 @@ ie: .UNINDENT .IP \(bu 2 -\fBdeny_perms\fP (\fI\%dict\fP) \-\- A dictionary containing the user/group and permissions to deny along +\fBdeny_perms\fP (\fIdict\fP) \-\- A dictionary containing the user/group and permissions to deny along with the \fBapplies_to\fP setting. Use the same format used for the \fBgrant_perms\fP parameter. Remember, deny permissions supersede grant permissions. .IP \(bu 2 -\fBinheritance\fP (\fI\%bool\fP) \-\- If True the object will inherit permissions from the parent, if +\fBinheritance\fP (\fIbool\fP) \-\- If True the object will inherit permissions from the parent, if \fBFalse\fP, inheritance will be disabled. Inheritance setting will not apply to parent directories if they must be created. .IP \(bu 2 -\fBreset\fP (\fI\%bool\fP) \-\- +\fBreset\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP the existing DACL will be cleared and replaced with the settings defined in this function. If \fBFalse\fP, new entries will be @@ -262200,7 +284305,7 @@ New in version 2018.3.0. True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If unsuccessful @@ -262238,13 +284343,13 @@ an OSError. .INDENT 7.0 .TP .B Parameters -\fBpath\fP (\fI\%str\fP) \-\- The path to the symlink +\fBpath\fP (\fIstr\fP) \-\- The path to the symlink .TP .B Returns The path that the symlink points to .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -262268,16 +284373,16 @@ Remove the named file or directory .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory to remove. +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory to remove. .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- Remove even if marked Read\-Only. Default is False +\fBforce\fP (\fIbool\fP) \-\- Remove even if marked Read\-Only. Default is False .UNINDENT .TP .B Returns True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -262302,29 +284407,29 @@ means that all others are false. So setting it will clear all others. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBarchive\fP (\fI\%bool\fP) \-\- Sets the archive attribute. Default is None +\fBarchive\fP (\fIbool\fP) \-\- Sets the archive attribute. Default is None .IP \(bu 2 -\fBhidden\fP (\fI\%bool\fP) \-\- Sets the hidden attribute. Default is None +\fBhidden\fP (\fIbool\fP) \-\- Sets the hidden attribute. Default is None .IP \(bu 2 -\fBnormal\fP (\fI\%bool\fP) \-\- Resets the file attributes. Cannot be used in conjunction with any +\fBnormal\fP (\fIbool\fP) \-\- Resets the file attributes. Cannot be used in conjunction with any other attribute. Default is None .IP \(bu 2 -\fBnotIndexed\fP (\fI\%bool\fP) \-\- Sets the indexed attribute. Default is None +\fBnotIndexed\fP (\fIbool\fP) \-\- Sets the indexed attribute. Default is None .IP \(bu 2 -\fBreadonly\fP (\fI\%bool\fP) \-\- Sets the readonly attribute. Default is None +\fBreadonly\fP (\fIbool\fP) \-\- Sets the readonly attribute. Default is None .IP \(bu 2 -\fBsystem\fP (\fI\%bool\fP) \-\- Sets the system attribute. Default is None +\fBsystem\fP (\fIbool\fP) \-\- Sets the system attribute. Default is None .IP \(bu 2 -\fBtemporary\fP (\fI\%bool\fP) \-\- Sets the temporary attribute. Default is None +\fBtemporary\fP (\fIbool\fP) \-\- Sets the temporary attribute. Default is None .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -262382,9 +284487,9 @@ Set permissions for the given path .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The full path to the directory. +\fBpath\fP (\fIstr\fP) \-\- The full path to the directory. .IP \(bu 2 -\fBgrant_perms\fP (\fI\%dict\fP) \-\- +\fBgrant_perms\fP (\fIdict\fP) \-\- .sp A dictionary containing the user/group and the basic permissions to grant, ie: \fB{\(aquser\(aq: {\(aqperms\(aq: \(aqbasic_permission\(aq}}\fP\&. You can also @@ -262422,7 +284527,7 @@ A value of \fBNone\fP will make no changes to the \fBgrant\fP portion of the DACL. Default is \fBNone\fP\&. .IP \(bu 2 -\fBdeny_perms\fP (\fI\%dict\fP) \-\- +\fBdeny_perms\fP (\fIdict\fP) \-\- .sp A dictionary containing the user/group and permissions to deny along with the \fBapplies_to\fP setting. Use the same format used for the @@ -262433,12 +284538,12 @@ A value of \fBNone\fP will make no changes to the \fBdeny\fP portion of the DACL. Default is \fBNone\fP\&. .IP \(bu 2 -\fBinheritance\fP (\fI\%bool\fP) \-\- If \fBTrue\fP the object will inherit permissions from the parent, if +\fBinheritance\fP (\fIbool\fP) \-\- If \fBTrue\fP the object will inherit permissions from the parent, if \fBFalse\fP, inheritance will be disabled. Inheritance setting will not apply to parent directories if they must be created. Default is \fBFalse\fP\&. .IP \(bu 2 -\fBreset\fP (\fI\%bool\fP) \-\- +\fBreset\fP (\fIbool\fP) \-\- .sp If \fBTrue\fP the existing DCL will be cleared and replaced with the settings defined in this function. If \fBFalse\fP, new entries will be @@ -262453,7 +284558,7 @@ New in version 2018.3.0. True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If unsuccessful @@ -262498,11 +284603,11 @@ can be accessed in the \fIpgroup\fP and \fIpgid\fP properties. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- The path to the file or directory +\fBpath\fP (\fIstr\fP) \-\- The path to the file or directory .IP \(bu 2 -\fBhash_type\fP (\fI\%str\fP) \-\- The type of hash to return +\fBhash_type\fP (\fIstr\fP) \-\- The type of hash to return .IP \(bu 2 -\fBfollow_symlinks\fP (\fI\%bool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of +\fBfollow_symlinks\fP (\fIbool\fP) \-\- If the object specified by \fBpath\fP is a symlink, get attributes of the linked file instead of the symlink itself. Default is True .UNINDENT .TP @@ -262510,7 +284615,7 @@ the linked file instead of the symlink itself. Default is True A dictionary of file/directory stats .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -262541,16 +284646,16 @@ If it doesn\(aqt, an error will be raised. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsrc\fP (\fI\%str\fP) \-\- The path to a file or directory +\fBsrc\fP (\fIstr\fP) \-\- The path to a file or directory .IP \(bu 2 -\fBlink\fP (\fI\%str\fP) \-\- The path to the link +\fBlink\fP (\fIstr\fP) \-\- The path to the link .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -262572,13 +284677,13 @@ Convert a uid to a user name .INDENT 7.0 .TP .B Parameters -\fBuid\fP (\fI\%str\fP) \-\- The user id to lookup +\fBuid\fP (\fIstr\fP) \-\- The user id to lookup .TP .B Returns The name of the user .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -262600,13 +284705,13 @@ Convert user name to a uid .INDENT 7.0 .TP .B Parameters -\fBuser\fP (\fI\%str\fP) \-\- The user to lookup +\fBuser\fP (\fIstr\fP) \-\- The user to lookup .TP .B Returns The user id of the user .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -262636,14 +284741,14 @@ Add a new inbound or outbound rule to the firewall policy .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the rule. Must be unique and cannot be "all". +\fBname\fP (\fIstr\fP) \-\- The name of the rule. Must be unique and cannot be "all". Required. .IP \(bu 2 -\fBlocalport\fP (\fI\%int\fP) \-\- The port the rule applies to. Must be a number between +\fBlocalport\fP (\fIint\fP) \-\- The port the rule applies to. Must be a number between 0 and 65535. Can be a range. Can specify multiple ports separated by commas. Required. .IP \(bu 2 -\fBprotocol\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBprotocol\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The protocol. Can be any of the following: .INDENT 2.0 @@ -262662,7 +284767,7 @@ any .UNINDENT .IP \(bu 2 -\fBaction\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBaction\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The action the rule performs. Can be any of the following: @@ -262676,9 +284781,9 @@ bypass .UNINDENT .IP \(bu 2 -\fBdir\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The direction. Can be \fBin\fP or \fBout\fP\&. +\fBdir\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The direction. Can be \fBin\fP or \fBout\fP\&. .IP \(bu 2 -\fBremoteip\fP (\fIOptional\fP\fI [\fP\fI\%str\fP\fI]\fP) \-\- +\fBremoteip\fP (\fIOptional\fP\fI [\fP\fIstr\fP\fI]\fP) \-\- .sp The remote IP. Can be any of the following: .INDENT 2.0 @@ -262714,7 +284819,7 @@ Can be combinations of the above separated by commas. True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If the command fails @@ -262747,25 +284852,25 @@ protocols, direction, and remote IP. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the rule to delete. If the name \fBall\fP is used +\fBname\fP (\fIstr\fP) \-\- The name of the rule to delete. If the name \fBall\fP is used you must specify additional parameters. .IP \(bu 2 -\fBlocalport\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The port of the rule. If protocol is not +\fBlocalport\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The port of the rule. If protocol is not specified, protocol will be set to \fBtcp\fP .IP \(bu 2 -\fBprotocol\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The protocol of the rule. Default is \fBtcp\fP +\fBprotocol\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The protocol of the rule. Default is \fBtcp\fP when \fBlocalport\fP is specified .IP \(bu 2 -\fBdir\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The direction of the rule. +\fBdir\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The direction of the rule. .IP \(bu 2 -\fBremoteip\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The remote IP of the rule. +\fBremoteip\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The remote IP of the rule. .UNINDENT .TP .B Returns True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If the command fails @@ -262781,7 +284886,7 @@ CLI Example: salt \(aq*\(aq firewall.delete_rule \(aqtest\(aq \(aq8080\(aq \(aqtcp\(aq \(aqin\(aq # Delete the incoming tcp port 8000 from 192.168.0.1 in the rule named -# \(aqtest_remote_ip\(ga +# \(aqtest_remote_ip\(aq salt \(aq*\(aq firewall.delete_rule \(aqtest_remote_ip\(aq \(aq8000\(aq \(aqtcp\(aq \(aqin\(aq \(aq192.168.0.1\(aq # Delete all rules for local port 80: @@ -262801,7 +284906,7 @@ Disable firewall profile .INDENT 7.0 .TP .B Parameters -\fBprofile\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBprofile\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The name of the profile to disable. Default is \fBallprofiles\fP\&. Valid options are: @@ -262821,7 +284926,7 @@ publicprofile True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If the command fails @@ -262849,7 +284954,7 @@ Enable firewall profile .INDENT 7.0 .TP .B Parameters -\fBprofile\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBprofile\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The name of the profile to enable. Default is \fBallprofiles\fP\&. Valid options are: @@ -262869,7 +284974,7 @@ publicprofile True if successful .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If the command fails @@ -262889,6 +284994,125 @@ salt \(aq*\(aq firewall.enable .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_firewall.get_all_profiles(store=u\(aqlocal\(aq) +Gets all properties for all profiles in the specified store +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 7.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.TP +.B Returns +A dictionary containing the specified settings for each profile +.TP +.B Return type +dict +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Get all firewall settings for all profiles +salt * firewall.get_all_settings + +# Get all firewall settings for all profiles as defined by local group +# policy + +salt * firewall.get_all_settings lgpo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_firewall.get_all_settings(domain, store=u\(aqlocal\(aq) +Gets all the properties for the specified profile in the specified store +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- +.sp +The firewall profile to query. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +domain +.IP \(bu 2 +public +.IP \(bu 2 +private +.UNINDENT + +.IP \(bu 2 +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.UNINDENT +.TP +.B Returns +A dictionary containing the specified settings +.TP +.B Return type +dict +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Get all firewall settings for connections on the domain profile +salt * win_firewall.get_all_settings domain + +# Get all firewall settings for connections on the domain profile as +# defined by local group policy +salt * win_firewall.get_all_settings domain lgpo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_firewall.get_config() Get the status of all the firewall profiles .INDENT 7.0 @@ -262897,7 +285121,7 @@ Get the status of all the firewall profiles A dictionary of all profiles on the system .TP .B Return type -\fI\%dict\fP +dict .TP .B Raises \fBCommandExecutionError\fP \-\- If the command fails @@ -262925,14 +285149,14 @@ Display all matching rules as specified by name .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The full name of the rule. \fBall\fP will return all +\fBname\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The full name of the rule. \fBall\fP will return all rules. Default is \fBall\fP .TP .B Returns A dictionary of all rules or rules that match the name exactly .TP .B Return type -\fI\%dict\fP +dict .TP .B Raises \fBCommandExecutionError\fP \-\- If the command fails @@ -262952,6 +285176,99 @@ salt \(aq*\(aq firewall.get_rule \(aqMyAppPort\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_firewall.get_settings(profile, section, store=u\(aqlocal\(aq) +Get the firewall property from the specified profile in the specified store +as returned by \fBnetsh advfirewall\fP\&. +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- +.sp +The firewall profile to query. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +domain +.IP \(bu 2 +public +.IP \(bu 2 +private +.UNINDENT + +.IP \(bu 2 +\fBsection\fP (\fIstr\fP) \-\- +.sp +The property to query within the selected profile. Valid options +are: +.INDENT 2.0 +.IP \(bu 2 +firewallpolicy : inbound/outbound behavior +.IP \(bu 2 +logging : firewall logging settings +.IP \(bu 2 +settings : firewall properties +.IP \(bu 2 +state : firewalls state (on | off) +.UNINDENT + +.IP \(bu 2 +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.UNINDENT +.TP +.B Returns +A dictionary containing the properties for the specified profile +.TP +.B Return type +dict +.TP +.B Raises +.INDENT 7.0 +.IP \(bu 2 +\fBCommandExecutionError\fP \-\- If an error occurs +.IP \(bu 2 +\fBValueError\fP \-\- If the parameters are incorrect +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Get the inbound/outbound firewall settings for connections on the +# local domain profile +salt * win_firewall.get_settings domain firewallpolicy + +# Get the inbound/outbound firewall settings for connections on the +# domain profile as defined by local group policy +salt * win_firewall.get_settings domain firewallpolicy lgpo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_firewall.rule_exists(name) New in version 2016.11.6. @@ -262960,13 +285277,13 @@ Checks if a firewall rule exists in the firewall policy .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the rule +\fBname\fP (\fIstr\fP) \-\- The name of the rule .TP .B Returns True if exists, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -262982,6 +285299,490 @@ salt \(aq*\(aq firewall.rule_exists RemoteDesktop .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_firewall.set_firewall_settings(profile, inbound=None, outbound=None, store=u\(aqlocal\(aq) +Set the firewall inbound/outbound settings for the specified profile and +store +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- +.sp +The firewall profile to query. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +domain +.IP \(bu 2 +public +.IP \(bu 2 +private +.UNINDENT + +.IP \(bu 2 +\fBinbound\fP (\fIstr\fP) \-\- +.sp +The inbound setting. If \fBNone\fP is passed, the setting will remain +unchanged. Valid values are: +.INDENT 2.0 +.IP \(bu 2 +blockinbound +.IP \(bu 2 +blockinboundalways +.IP \(bu 2 +allowinbound +.IP \(bu 2 +notconfigured +.UNINDENT +.sp +Default is \fBNone\fP + +.IP \(bu 2 +\fBoutbound\fP (\fIstr\fP) \-\- +.sp +The outbound setting. If \fBNone\fP is passed, the setting will remain +unchanged. Valid values are: +.INDENT 2.0 +.IP \(bu 2 +allowoutbound +.IP \(bu 2 +blockoutbound +.IP \(bu 2 +notconfigured +.UNINDENT +.sp +Default is \fBNone\fP + +.IP \(bu 2 +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.UNINDENT +.TP +.B Returns +\fBTrue\fP if successful +.TP +.B Return type +bool +.TP +.B Raises +.INDENT 7.0 +.IP \(bu 2 +\fBCommandExecutionError\fP \-\- If an error occurs +.IP \(bu 2 +\fBValueError\fP \-\- If the parameters are incorrect +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Set the inbound setting for the domain profile to block inbound +# connections +salt * firewall.set_firewall_settings domain=\(aqdomain\(aq inbound=\(aqblockinbound\(aq + +# Set the outbound setting for the domain profile to allow outbound +# connections +salt * firewall.set_firewall_settings domain=\(aqdomain\(aq outbound=\(aqallowoutbound\(aq + +# Set inbound/outbound settings for the domain profile in the group +# policy to block inbound and allow outbound +salt * firewall.set_firewall_settings domain=\(aqdomain\(aq inbound=\(aqblockinbound\(aq outbound=\(aqallowoutbound\(aq store=\(aqlgpo\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_firewall.set_logging_settings(profile, setting, value, store=u\(aqlocal\(aq) +Configure logging settings for the Windows firewall. +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- +.sp +The firewall profile to configure. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +domain +.IP \(bu 2 +public +.IP \(bu 2 +private +.UNINDENT + +.IP \(bu 2 +\fBsetting\fP (\fIstr\fP) \-\- +.sp +The logging setting to configure. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +allowedconnections +.IP \(bu 2 +droppedconnections +.IP \(bu 2 +filename +.IP \(bu 2 +maxfilesize +.UNINDENT + +.IP \(bu 2 +\fBvalue\fP (\fIstr\fP) \-\- +.sp +The value to apply to the setting. Valid values are dependent upon +the setting being configured. Valid options are: +.sp +allowedconnections: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +enable +.IP \(bu 2 +disable +.IP \(bu 2 +notconfigured +.UNINDENT +.UNINDENT +.UNINDENT +.sp +droppedconnections: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +enable +.IP \(bu 2 +disable +.IP \(bu 2 +notconfigured +.UNINDENT +.UNINDENT +.UNINDENT +.sp +filename: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +Full path and name of the firewall log file +.IP \(bu 2 +notconfigured +.UNINDENT +.UNINDENT +.UNINDENT +.sp +maxfilesize: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +1 \- 32767 +.IP \(bu 2 +notconfigured +.UNINDENT +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +\fBnotconfigured\fP can only be used when using the lgpo store +.UNINDENT +.UNINDENT + +.IP \(bu 2 +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.UNINDENT +.TP +.B Returns +\fBTrue\fP if successful +.TP +.B Return type +bool +.TP +.B Raises +.INDENT 7.0 +.IP \(bu 2 +\fBCommandExecutionError\fP \-\- If an error occurs +.IP \(bu 2 +\fBValueError\fP \-\- If the parameters are incorrect +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Log allowed connections and set that in local group policy +salt * firewall.set_logging_settings domain allowedconnections enable lgpo + +# Don\(aqt log dropped connections +salt * firewall.set_logging_settings profile=private setting=droppedconnections value=disable + +# Set the location of the log file +salt * firewall.set_logging_settings domain filename C:\ewindows\elogs\efirewall.log + +# You can also use environment variables +salt * firewall.set_logging_settings domain filename %systemroot%\esystem32\eLogFiles\eFirewall\epfirewall.log + +# Set the max file size of the log to 2048 Kb +salt * firewall.set_logging_settings domain maxfilesize 2048 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_firewall.set_settings(profile, setting, value, store=u\(aqlocal\(aq) +Configure firewall settings. +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- +.sp +The firewall profile to configure. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +domain +.IP \(bu 2 +public +.IP \(bu 2 +private +.UNINDENT + +.IP \(bu 2 +\fBsetting\fP (\fIstr\fP) \-\- +.sp +The firewall setting to configure. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +localfirewallrules +.IP \(bu 2 +localconsecrules +.IP \(bu 2 +inboundusernotification +.IP \(bu 2 +remotemanagement +.IP \(bu 2 +unicastresponsetomulticast +.UNINDENT + +.IP \(bu 2 +\fBvalue\fP (\fIstr\fP) \-\- +.sp +The value to apply to the setting. Valid options are +.INDENT 2.0 +.IP \(bu 2 +enable +.IP \(bu 2 +disable +.IP \(bu 2 +notconfigured +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +\fBnotconfigured\fP can only be used when using the lgpo store +.UNINDENT +.UNINDENT + +.IP \(bu 2 +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.UNINDENT +.TP +.B Returns +\fBTrue\fP if successful +.TP +.B Return type +bool +.TP +.B Raises +.INDENT 7.0 +.IP \(bu 2 +\fBCommandExecutionError\fP \-\- If an error occurs +.IP \(bu 2 +\fBValueError\fP \-\- If the parameters are incorrect +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Merge local rules with those distributed through group policy +salt * firewall.set_settings domain localfirewallrules enable + +# Allow remote management of Windows Firewall +salt * firewall.set_settings domain remotemanagement enable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_firewall.set_state(profile, state, store=u\(aqlocal\(aq) +Configure the firewall state. +.sp +New in version 2018.3.4. + +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprofile\fP (\fIstr\fP) \-\- +.sp +The firewall profile to configure. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +domain +.IP \(bu 2 +public +.IP \(bu 2 +private +.UNINDENT + +.IP \(bu 2 +\fBstate\fP (\fIstr\fP) \-\- +.sp +The firewall state. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +on +.IP \(bu 2 +off +.IP \(bu 2 +notconfigured +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +\fBnotconfigured\fP can only be used when using the lgpo store +.UNINDENT +.UNINDENT + +.IP \(bu 2 +\fBstore\fP (\fIstr\fP) \-\- +.sp +The store to use. This is either the local firewall policy or the +policy defined by local group policy. Valid options are: +.INDENT 2.0 +.IP \(bu 2 +lgpo +.IP \(bu 2 +local +.UNINDENT +.sp +Default is \fBlocal\fP + +.UNINDENT +.TP +.B Returns +\fBTrue\fP if successful +.TP +.B Return type +bool +.TP +.B Raises +.INDENT 7.0 +.IP \(bu 2 +\fBCommandExecutionError\fP \-\- If an error occurs +.IP \(bu 2 +\fBValueError\fP \-\- If the parameters are incorrect +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Turn the firewall off when the domain profile is active +salt * firewall.set_state domain off + +# Turn the firewall on when the public profile is active and set that in +# the local group policy +salt * firewall.set_state public on lgpo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.win_groupadd .sp Manage groups on Windows @@ -263001,13 +285802,13 @@ Add the specified group .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the group to add +\fBname\fP (\fIstr\fP) \-\- The name of the group to add .TP .B Returns -A dictionary of results +\fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +bool .UNINDENT .sp CLI Example: @@ -263031,16 +285832,16 @@ Add a user to a group .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the group to modify +\fBname\fP (\fIstr\fP) \-\- The name of the group to modify .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- The name of the user to add to the group +\fBusername\fP (\fIstr\fP) \-\- The name of the user to add to the group .UNINDENT .TP .B Returns -A dictionary of results +\fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +bool .UNINDENT .sp CLI Example: @@ -263062,13 +285863,13 @@ Remove the named group .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the group to remove +\fBname\fP (\fIstr\fP) \-\- The name of the group to remove .TP .B Returns -A dictionary of results +\fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +bool .UNINDENT .sp CLI Example: @@ -263092,16 +285893,16 @@ Remove a user from a group .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the group to modify +\fBname\fP (\fIstr\fP) \-\- The name of the group to modify .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- The name of the user to remove from the group +\fBusername\fP (\fIstr\fP) \-\- The name of the user to remove from the group .UNINDENT .TP .B Returns -A dictionary of results +\fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +bool .UNINDENT .sp CLI Example: @@ -263123,7 +285924,7 @@ Return info on all groups .INDENT 7.0 .TP .B Parameters -\fBrefresh\fP (\fI\%bool\fP) \-\- Refresh the info for all groups in \fB__context__\fP\&. If False only +\fBrefresh\fP (\fIbool\fP) \-\- Refresh the info for all groups in \fB__context__\fP\&. If False only the groups in \fB__context__\fP will be returned. If True the \fB__context__\fP will be refreshed with current data and returned. Default is False @@ -263151,13 +285952,13 @@ Return information about a group .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the group for which to get information +\fBname\fP (\fIstr\fP) \-\- The name of the group for which to get information .TP .B Returns A dictionary of information about the group .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263179,7 +285980,7 @@ Return a list of groups .INDENT 7.0 .TP .B Parameters -\fBrefresh\fP (\fI\%bool\fP) \-\- Refresh the info for all groups in \fB__context__\fP\&. If False only +\fBrefresh\fP (\fIbool\fP) \-\- Refresh the info for all groups in \fB__context__\fP\&. If False only the groups in \fB__context__\fP will be returned. If True, the \fB__context__\fP will be refreshed with current data and returned. Default is False @@ -263188,7 +285989,7 @@ Default is False A list of groups on the machine .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -263212,17 +286013,17 @@ Ensure a group contains only the members in the list .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the group to modify +\fBname\fP (\fIstr\fP) \-\- The name of the group to modify .IP \(bu 2 -\fBmembers_list\fP (\fI\%str\fP) \-\- A single user or a comma separated list of users. The group will +\fBmembers_list\fP (\fIstr\fP) \-\- A single user or a comma separated list of users. The group will contain only the users specified in this list. .UNINDENT .TP .B Returns -A dictionary of results +\fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +bool .UNINDENT .sp CLI Example: @@ -263276,20 +286077,20 @@ application. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS application. +\fBname\fP (\fIstr\fP) \-\- The IIS application. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path. .IP \(bu 2 -\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBapppool\fP (\fIstr\fP) \-\- The name of the IIS application pool. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263321,13 +286122,13 @@ application pool. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS application pool. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263360,13 +286161,13 @@ folder. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name to give the backup +\fBname\fP (\fIstr\fP) \-\- The name to give the backup .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263400,17 +286201,17 @@ modify the configuration of an existing binding. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. Usually a hostname. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. Usually a hostname. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIint\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBprotocol\fP (\fI\%str\fP) \-\- The application protocol of the binding. +\fBprotocol\fP (\fIstr\fP) \-\- The application protocol of the binding. .IP \(bu 2 -\fBsslflags\fP (\fI\%str\fP) \-\- The flags representing certificate type and storage of +\fBsslflags\fP (\fIstr\fP) \-\- The flags representing certificate type and storage of the binding. .UNINDENT .TP @@ -263418,7 +286219,7 @@ the binding. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263453,24 +286254,24 @@ exist. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +\fBname\fP (\fIstr\fP) \-\- The thumbprint of the certificate. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIint\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBsslflags\fP (\fI\%int\fP) \-\- Flags representing certificate type and certificate storage of the binding. +\fBsslflags\fP (\fIint\fP) \-\- Flags representing certificate type and certificate storage of the binding. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263503,20 +286304,20 @@ not modify the configuration of an existing site. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +\fBname\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path of the IIS site. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path of the IIS site. .IP \(bu 2 -\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBapppool\fP (\fIstr\fP) \-\- The name of the IIS application pool. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. Usually the hostname +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. Usually the hostname or website name, ie: www.contoso.com .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIint\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBprotocol\fP (\fI\%str\fP) \-\- The application protocol of the binding. (http, https, +\fBprotocol\fP (\fIstr\fP) \-\- The application protocol of the binding. (http, https, etc.) .UNINDENT .TP @@ -263524,7 +286325,7 @@ etc.) True if successful, otherwise False. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp \fBNOTE:\fP @@ -263566,20 +286367,20 @@ existing virtual directory. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +\fBname\fP (\fIstr\fP) \-\- The virtual directory name. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path. .IP \(bu 2 -\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +\fBapp\fP (\fIstr\fP) \-\- The IIS application. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263606,19 +286407,19 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS container. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS container. .IP \(bu 2 -\fBcontainer\fP (\fI\%str\fP) \-\- The type of IIS container. The container types are: +\fBcontainer\fP (\fIstr\fP) \-\- The type of IIS container. The container types are: AppPools, Sites, SslBindings .IP \(bu 2 -\fBsettings\fP (\fI\%dict\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIdict\fP) \-\- A dictionary of the setting names and their values. .UNINDENT .TP .B Returns A dictionary of the provided settings and their values. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263653,12 +286454,12 @@ Params are case sensitive .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS web application. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS web application. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The site name contains the web application. +\fBsite\fP (\fIstr\fP) \-\- The site name contains the web application. Example: Default Web Site .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIstr\fP) \-\- A dictionary of the setting names and their values. Available settings: physicalPath, applicationPool, userName, password .UNINDENT .TP @@ -263666,7 +286467,7 @@ Available settings: physicalPath, applicationPool, userName, password A dictionary of the provided settings and their values. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263692,7 +286493,7 @@ List all configured IIS application pools. A dictionary of IIS application pools and their details. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263714,7 +286515,7 @@ Get all configured IIS applications for the specified site. .INDENT 7.0 .TP .B Parameters -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .UNINDENT .sp Returns: A dictionary of the application names and properties. @@ -263752,7 +286553,7 @@ stored in the \fB$env:Windir\eSystem32\einetsrv\ebackup\fP folder. A dictionary of IIS Configurations backed up on the system. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263774,13 +286575,13 @@ Get all configured IIS bindings for the specified site. .INDENT 7.0 .TP .B Parameters -\fBsite\fP (\fI\%str\fP) \-\- The name if the IIS Site +\fBsite\fP (\fIstr\fP) \-\- The name if the IIS Site .TP .B Returns A dictionary of the binding names and properties. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263805,13 +286606,13 @@ New in version 2016.11.0. .INDENT 7.0 .TP .B Parameters -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .TP .B Returns A dictionary of the binding names and properties. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263836,7 +286637,7 @@ List all the currently deployed websites. A dictionary of the IIS sites and their properties. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263861,16 +286662,16 @@ the combination of site and application. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +\fBapp\fP (\fIstr\fP) \-\- The IIS application. .UNINDENT .TP .B Returns A dictionary of the virtual directory names and properties. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263896,13 +286697,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBapppool\fP (\fI\%str\fP) \-\- The application pool to query +\fBapppool\fP (\fIstr\fP) \-\- The application pool to query .TP .B Returns A dictionary of worker processes with their process IDs .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -263930,20 +286731,20 @@ New in version 2017.7.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBbinding\fP (\fI\%str\fP) \-\- The binding to edit. This is a combination of the +\fBbinding\fP (\fIstr\fP) \-\- The binding to edit. This is a combination of the IP address, port, and hostheader. It is in the following format: ipaddress:port:hostheader. For example, \fB*:80:\fP or \fB*:80:salt.com\fP .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. Usually the hostname. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. Usually the hostname. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIint\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBsslflags\fP (\fI\%str\fP) \-\- The flags representing certificate type and storage of +\fBsslflags\fP (\fIstr\fP) \-\- The flags representing certificate type and storage of the binding. .UNINDENT .TP @@ -263951,7 +286752,7 @@ the binding. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -263981,18 +286782,18 @@ New in version 2017.7.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +\fBname\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path of the IIS site. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path of the IIS site. .IP \(bu 2 -\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBapppool\fP (\fIstr\fP) \-\- The name of the IIS application pool. .UNINDENT .TP .B Returns True if successful, otherwise False. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp \fBNOTE:\fP @@ -264024,16 +286825,16 @@ Remove an IIS application. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The application name. +\fBname\fP (\fIstr\fP) \-\- The application name. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264055,13 +286856,13 @@ Remove an IIS application pool. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS application pool. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264086,13 +286887,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the backup to remove +\fBname\fP (\fIstr\fP) \-\- The name of the backup to remove .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264116,20 +286917,20 @@ Remove an IIS binding. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIint\fP) \-\- The TCP port of the binding. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264164,22 +286965,22 @@ not remove the web binding itself. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +\fBname\fP (\fIstr\fP) \-\- The thumbprint of the certificate. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%int\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIint\fP) \-\- The TCP port of the binding. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264201,13 +287002,13 @@ Delete a website from IIS. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +\fBname\fP (\fIstr\fP) \-\- The IIS site name. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp \fBNOTE:\fP @@ -264238,18 +287039,18 @@ Remove an IIS virtual directory. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +\fBname\fP (\fIstr\fP) \-\- The virtual directory name. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +\fBapp\fP (\fIstr\fP) \-\- The IIS application. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264274,13 +287075,13 @@ New in version 2016.11.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS application pool. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264305,13 +287106,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the website to restart. +\fBname\fP (\fIstr\fP) \-\- The name of the website to restart. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264338,19 +287139,19 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS container. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS container. .IP \(bu 2 -\fBcontainer\fP (\fI\%str\fP) \-\- The type of IIS container. The container types are: +\fBcontainer\fP (\fIstr\fP) \-\- The type of IIS container. The container types are: AppPools, Sites, SslBindings .IP \(bu 2 -\fBsettings\fP (\fI\%dict\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIdict\fP) \-\- A dictionary of the setting names and their values. .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264386,11 +287187,11 @@ sensitive. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS application. +\fBname\fP (\fIstr\fP) \-\- The IIS application. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIstr\fP) \-\- A dictionary of the setting names and their values. \- physicalPath: The physical path of the webapp. \- applicationPool: The application pool for the webapp. \- userName: "connectAs" user @@ -264401,7 +287202,7 @@ sensitive. A boolean representing whether all changes succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264426,13 +287227,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the App Pool to start. +\fBname\fP (\fIstr\fP) \-\- The name of the App Pool to start. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264457,13 +287258,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the website to start. +\fBname\fP (\fIstr\fP) \-\- The name of the website to start. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264488,13 +287289,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the App Pool to stop. +\fBname\fP (\fIstr\fP) \-\- The name of the App Pool to stop. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264519,13 +287320,13 @@ New in version 2017.7.0. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the website to stop. +\fBname\fP (\fIstr\fP) \-\- The name of the website to stop. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -264751,6 +287552,24 @@ salt \-G \(aqos_family:Windows\(aq ip.set_dhcp_ip \(aqLocal Area Connection\(aq .TP .B salt.modules.win_ip.set_static_dns(iface, *addrs) Set static DNS configuration on a Windows NIC +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBiface\fP (\fIstr\fP) \-\- The name of the interface to set +.IP \(bu 2 +\fBaddrs\fP \-\- One or more DNS servers to be added. To clear the list of DNS +servers pass an empty list (\fB[]\fP). If undefined or \fBNone\fP no +changes will be made. +.UNINDENT +.TP +.B Returns +A dictionary containing the new DNS settings +.TP +.B Return type +dict +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -264857,23 +287676,23 @@ Get a policy value .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpolicy_class\fP (\fI\%str\fP) \-\- Some policies are both user and computer, by default all policies +\fBpolicy_class\fP (\fIstr\fP) \-\- Some policies are both user and computer, by default all policies will be pulled, but this can be used to retrieve only a specific policy class User/USER/user = retrieve user policies Machine/MACHINE/machine/Computer/COMPUTER/computer = retrieve machine/computer policies .IP \(bu 2 -\fBreturn_full_policy_names\fP (\fI\%bool\fP) \-\- True/False to return the policy name as it is seen in the +\fBreturn_full_policy_names\fP (\fIbool\fP) \-\- True/False to return the policy name as it is seen in the \fBgpedit.msc\fP GUI or to only return the policy key/id. .IP \(bu 2 -\fBhierarchical_return\fP (\fI\%bool\fP) \-\- True/False to return the policy data in the hierarchy as seen in the +\fBhierarchical_return\fP (\fIbool\fP) \-\- True/False to return the policy data in the hierarchy as seen in the \fBgpedit.msc\fP GUI. The default of False will return data split only into User/Computer configuration sections .IP \(bu 2 -\fBadml_language\fP (\fI\%str\fP) \-\- The ADML language to use for processing display/descriptive names +\fBadml_language\fP (\fIstr\fP) \-\- The ADML language to use for processing display/descriptive names and enumeration values of ADMX template data, defaults to en\-US .IP \(bu 2 -\fBreturn_not_configured\fP (\fI\%bool\fP) \-\- Include Administrative Template policies that are \(aqNot Configured\(aq +\fBreturn_not_configured\fP (\fIbool\fP) \-\- Include Administrative Template policies that are \(aqNot Configured\(aq in the return data .UNINDENT .TP @@ -264881,7 +287700,7 @@ in the return data A dictionary containing the policy values for the specified class .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -264905,18 +287724,18 @@ Returns information about a specified policy .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpolicy_name\fP (\fI\%str\fP) \-\- The name of the policy to lookup +\fBpolicy_name\fP (\fIstr\fP) \-\- The name of the policy to lookup .IP \(bu 2 -\fBpolicy_class\fP (\fI\%str\fP) \-\- The class of policy, i.e. machine, user, both +\fBpolicy_class\fP (\fIstr\fP) \-\- The class of policy, i.e. machine, user, both .IP \(bu 2 -\fBadml_language\fP (\fI\%str\fP) \-\- The ADML language to use for Administrative Template data lookup +\fBadml_language\fP (\fIstr\fP) \-\- The ADML language to use for Administrative Template data lookup .UNINDENT .TP .B Returns Information about the specified policy .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -264930,17 +287749,176 @@ salt \(aq*\(aq lgpo.get_policy_info \(aqMaximum password age\(aq machine .fi .UNINDENT .UNINDENT +.sp +You can use \fBlgpo.get_policy_info\fP to get all the possible names that +could be used in a state file or from the command line (along with elements +that need to be set/etc). The key is to match the text you see in the +\fBgpedit.msc\fP gui exactly, including quotes around words or phrases. The +"full path" style is really only needed when there are multiple policies +that use the same base name. For example, \fBAccess data sources across +domains\fP exists in ~10 different paths. If you put that through +\fBget_policy_info\fP you\(aqll get back a message that it is used for multiple +policies and you need to be more specific. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \-\-local lgpo.get_policy_info ShellRemoveOrderPrints_2 machine + +local: + \-\-\-\-\-\-\-\-\-\- + message: + policy_aliases: + \- Turn off the "Order Prints" picture task + \- ShellRemoveOrderPrints_2 + \- System\eInternet Communication Management\eInternet Communication settings\eTurn off the "Order Prints" picture task + policy_class: + machine + policy_elements: + policy_found: + True + policy_name: + ShellRemoveOrderPrints_2 + rights_assignment: + False +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Escaping can get tricky in cmd/Powershell. The following is an example of +escaping in Powershell using backquotes: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +PS>salt\-call \-\-local lgpo.get_policy_info "Turn off the \(ga\e\(ga"Order Prints\(ga\e\(ga" picture task" machine + +local: + \-\-\-\-\-\-\-\-\-\- + message: + policy_aliases: + \- Turn off the "Order Prints" picture task + \- ShellRemoveOrderPrints_2 + \- System\eInternet Communication Management\eInternet Communication settings\eTurn off the "Order Prints" picture task + policy_class: + machine + policy_elements: + policy_found: + True + policy_name: + Turn off the "Order Prints" picture task + rights_assignment: + False +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This function can then be used to get the options available for specifying +Group Policy Objects to be used in state files. Based on the above any of +these \fIshould\fP be usable: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +internet_communications_settings: + lgpo.set: + \- computer_policy: + Turn off the "Order Prints" picture task: Enabled +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +internet_communications_settings: + lgpo.set: + \- computer_policy: + ShellRemoveOrderPrints_2: Enabled +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +When using the full path, it might be a good idea to use single quotes +around the path: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +internet_communications_settings: + lgpo.set: + \- computer_policy: + \(aqSystem\eInternet Communication Management\eInternet Communication settings\eTurn off the "Order Prints" picture task\(aq: \(aqEnabled\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If you struggle to find the policy from \fBget_policy_info\fP using the name +as you see in \fBgpedit.msc\fP, the names such as "ShellRemoveOrderPrints_2" +come from the \fB\&.admx\fP files. If you know nothing about \fB\&.admx/.adml\fP +relationships (ADML holds what you see in the GUI, ADMX holds the more +technical details), then this may be a little bit too much info, but here is +an example with the above policy using Powershell: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +PS>Get\-ChildItem \-Path C:\eWindows\ePolicyDefinitions \-Recurse \-Filter *.adml | Select\-String "Order Prints" + +C:\ewindows\ePolicyDefinitions\een\-US\eICM.adml:152: Turn off the "Order Prints" picture task +C:\ewindows\ePolicyDefinitions\een\-US\eICM.adml:153: This policy setting specifies whether the "Order Prints Online" task is available from Picture Tasks in Windows folders. +C:\ewindows\ePolicyDefinitions\een\-US\eICM.adml:155:The Order Prints Online Wizard is used to download a list of providers and allow users to order prints online. +C:\ewindows\ePolicyDefinitions\een\-US\eICM.adml:157:If you enable this policy setting, the task "Order Prints Online" is removed from Picture Tasks in File Explorer folders. +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +From this grep, we can see id "ShellRemoveOrderPrints" is the ID of the +string used to describe this policy, then we search for it in the ADMX: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +PS>Get\-ChildItem \-Path C:\eWindows\ePolicyDefinitions \-Recurse \-Filter *.admx | Select\-String "ShellRemoveOrderPrints" + +C:\ewindows\ePolicyDefinitions\eICM.admx:661: +C:\ewindows\ePolicyDefinitions\eICM.admx:671: +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Now we have two to pick from. And if you notice the \fBclass="Machine"\fP and +\fBclass="User"\fP (which details if it is a computer policy or user policy +respectively) the \fBShellRemoveOrderPrints_2\fP is the "short name" we could +use to pass through \fBget_policy_info\fP to see what the module itself is +expecting. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_lgpo.set(computer_policy=None, user_policy=None, cumulative_rights_assignments=True, adml_language=u\(aqen\-US\(aq) +.B salt.modules.win_lgpo.set_(computer_policy=None, user_policy=None, cumulative_rights_assignments=True, adml_language=u\(aqen\-US\(aq) Set a local server policy. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcomputer_policy\fP (\fI\%dict\fP) \-\- +\fBcomputer_policy\fP (\fIdict\fP) \-\- .sp A dictionary of "policyname: value" pairs of computer policies to set. \(aqvalue\(aq should be how it is displayed in the gpedit GUI, i.e. @@ -264993,10 +287971,10 @@ the element ID/names that the module will accept. .UNINDENT .IP \(bu 2 -\fBuser_policy\fP (\fI\%dict\fP) \-\- The same setup as the computer_policy, except with data to configure +\fBuser_policy\fP (\fIdict\fP) \-\- The same setup as the computer_policy, except with data to configure the local user policy. .IP \(bu 2 -\fBcumulative_rights_assignments\fP (\fI\%bool\fP) \-\- +\fBcumulative_rights_assignments\fP (\fIbool\fP) \-\- .sp Determine how user rights assignment policies are configured. .sp @@ -265007,7 +287985,7 @@ If False, only the users specified will get the right (any existing will have the right revoked) .IP \(bu 2 -\fBadml_language\fP (\fI\%str\fP) \-\- The language files to use for looking up Administrative Template +\fBadml_language\fP (\fIstr\fP) \-\- The language files to use for looking up Administrative Template policy data (i.e. how the policy is displayed in the GUI). Defaults to \(aqen\-US\(aq (U.S. English). .UNINDENT @@ -265016,7 +287994,7 @@ to \(aqen\-US\(aq (U.S. English). True is successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -265040,17 +288018,17 @@ Set a single computer policy .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the policy to configure +\fBname\fP (\fIstr\fP) \-\- The name of the policy to configure .IP \(bu 2 -\fBsetting\fP (\fI\%str\fP) \-\- The setting to configure the named policy with +\fBsetting\fP (\fIstr\fP) \-\- The setting to configure the named policy with .IP \(bu 2 -\fBcumulative_rights_assignments\fP (\fI\%bool\fP) \-\- Determine how user rights +\fBcumulative_rights_assignments\fP (\fIbool\fP) \-\- Determine how user rights assignment policies are configured. If True, user right assignment specifications are simply added to the existing policy. If False, only the users specified will get the right (any existing will have the right revoked) .IP \(bu 2 -\fBadml_language\fP (\fI\%str\fP) \-\- The language files to use for looking up +\fBadml_language\fP (\fIstr\fP) \-\- The language files to use for looking up Administrative Template policy data (i.e. how the policy is displayed in the GUI). Defaults to \(aqen\-US\(aq (U.S. English). .UNINDENT @@ -265059,7 +288037,7 @@ displayed in the GUI). Defaults to \(aqen\-US\(aq (U.S. English). True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -265083,11 +288061,11 @@ Set a single user policy .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the policy to configure +\fBname\fP (\fIstr\fP) \-\- The name of the policy to configure .IP \(bu 2 -\fBsetting\fP (\fI\%str\fP) \-\- The setting to configure the named policy with +\fBsetting\fP (\fIstr\fP) \-\- The setting to configure the named policy with .IP \(bu 2 -\fBadml_language\fP (\fI\%str\fP) \-\- The language files to use for looking up Administrative Template +\fBadml_language\fP (\fIstr\fP) \-\- The language files to use for looking up Administrative Template policy data (i.e. how the policy is displayed in the GUI). Defaults to \(aqen\-US\(aq (U.S. English). .UNINDENT @@ -265096,7 +288074,7 @@ to \(aqen\-US\(aq (U.S. English). True if successful, Otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -265393,10 +288371,35 @@ salt \(aq*\(aq network.interfaces_names .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_network.ip_addrs(interface=None, include_loopback=False) -Returns a list of IPv4 addresses assigned to the host. 127.0.0.1 is -ignored, unless \(aqinclude_loopback=True\(aq is indicated. If \(aqinterface\(aq is -provided, then only IP addresses from that interface will be returned. +.B salt.modules.win_network.ip_addrs(interface=None, include_loopback=False, cidr=None, type=None) +Returns a list of IPv4 addresses assigned to the host. +.INDENT 7.0 +.TP +.B interface +Only IP addresses from that interface will be returned. +.TP +.B include_loopback +False +Include loopback 127.0.0.1 IPv4 address. +.TP +.B cidr +.INDENT 7.0 +.INDENT 3.5 +Describes subnet using CIDR notation and only IPv4 addresses that belong +to this subnet will be returned. +.UNINDENT +.UNINDENT +.sp +Changed in version Fluorine. + +.TP +.B type +If option set to \(aqpublic\(aq then only public addresses will be returned. +Ditto for \(aqprivate\(aq. +.sp +Changed in version Fluorine. + +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -265405,6 +288408,8 @@ CLI Example: .nf .ft C salt \(aq*\(aq network.ip_addrs +salt \(aq*\(aq network.ip_addrs cidr=10.0.0.0/8 +salt \(aq*\(aq network.ip_addrs cidr=192.168.0.0/16 type=private .ft P .fi .UNINDENT @@ -265412,10 +288417,24 @@ salt \(aq*\(aq network.ip_addrs .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_network.ip_addrs6(interface=None, include_loopback=False) -Returns a list of IPv6 addresses assigned to the host. ::1 is ignored, -unless \(aqinclude_loopback=True\(aq is indicated. If \(aqinterface\(aq is provided, -then only IP addresses from that interface will be returned. +.B salt.modules.win_network.ip_addrs6(interface=None, include_loopback=False, cidr=None) +Returns a list of IPv6 addresses assigned to the host. +.INDENT 7.0 +.TP +.B interface +Only IP addresses from that interface will be returned. +.TP +.B include_loopback +False +Include loopback ::1 IPv6 address. +.TP +.B cidr +Describes subnet using CIDR notation and only IPv6 addresses that belong +to this subnet will be returned. +.sp +Changed in version Fluorine. + +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -265424,6 +288443,7 @@ CLI Example: .nf .ft C salt \(aq*\(aq network.ip_addrs6 +salt \(aq*\(aq network.ip_addrs6 cidr=2000::/3 .ft P .fi .UNINDENT @@ -265431,13 +288451,38 @@ salt \(aq*\(aq network.ip_addrs6 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_network.ipaddrs(interface=None, include_loopback=False) +.B salt.modules.win_network.ipaddrs(interface=None, include_loopback=False, cidr=None, type=None) This function is an alias of \fBip_addrs\fP\&. .INDENT 7.0 .INDENT 3.5 -Returns a list of IPv4 addresses assigned to the host. 127.0.0.1 is -ignored, unless \(aqinclude_loopback=True\(aq is indicated. If \(aqinterface\(aq is -provided, then only IP addresses from that interface will be returned. +Returns a list of IPv4 addresses assigned to the host. +.INDENT 0.0 +.TP +.B interface +Only IP addresses from that interface will be returned. +.TP +.B include_loopback +False +Include loopback 127.0.0.1 IPv4 address. +.TP +.B cidr +.INDENT 7.0 +.INDENT 3.5 +Describes subnet using CIDR notation and only IPv4 addresses that belong +to this subnet will be returned. +.UNINDENT +.UNINDENT +.sp +Changed in version Fluorine. + +.TP +.B type +If option set to \(aqpublic\(aq then only public addresses will be returned. +Ditto for \(aqprivate\(aq. +.sp +Changed in version Fluorine. + +.UNINDENT .sp CLI Example: .INDENT 0.0 @@ -265446,6 +288491,8 @@ CLI Example: .nf .ft C salt \(aq*\(aq network.ip_addrs +salt \(aq*\(aq network.ip_addrs cidr=10.0.0.0/8 +salt \(aq*\(aq network.ip_addrs cidr=192.168.0.0/16 type=private .ft P .fi .UNINDENT @@ -265455,13 +288502,27 @@ salt \(aq*\(aq network.ip_addrs .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_network.ipaddrs6(interface=None, include_loopback=False) +.B salt.modules.win_network.ipaddrs6(interface=None, include_loopback=False, cidr=None) This function is an alias of \fBip_addrs6\fP\&. .INDENT 7.0 .INDENT 3.5 -Returns a list of IPv6 addresses assigned to the host. ::1 is ignored, -unless \(aqinclude_loopback=True\(aq is indicated. If \(aqinterface\(aq is provided, -then only IP addresses from that interface will be returned. +Returns a list of IPv6 addresses assigned to the host. +.INDENT 0.0 +.TP +.B interface +Only IP addresses from that interface will be returned. +.TP +.B include_loopback +False +Include loopback ::1 IPv6 address. +.TP +.B cidr +Describes subnet using CIDR notation and only IPv6 addresses that belong +to this subnet will be returned. +.sp +Changed in version Fluorine. + +.UNINDENT .sp CLI Example: .INDENT 0.0 @@ -265470,6 +288531,7 @@ CLI Example: .nf .ft C salt \(aq*\(aq network.ip_addrs6 +salt \(aq*\(aq network.ip_addrs6 cidr=2000::/3 .ft P .fi .UNINDENT @@ -265479,6 +288541,26 @@ salt \(aq*\(aq network.ip_addrs6 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_network.is_private(ip_addr) +Check if the given IP address is a private address +.sp +New in version Fluorine. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq network.is_private 10.0.0.3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_network.netstat() Return information on open ports and states .sp @@ -265833,18 +288915,18 @@ Compare software package versions .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBver1\fP (\fI\%str\fP) \-\- A software version to compare +\fBver1\fP (\fIstr\fP) \-\- A software version to compare .IP \(bu 2 -\fBoper\fP (\fI\%str\fP) \-\- The operand to use to compare +\fBoper\fP (\fIstr\fP) \-\- The operand to use to compare .IP \(bu 2 -\fBver2\fP (\fI\%str\fP) \-\- A software version to compare +\fBver2\fP (\fIstr\fP) \-\- A software version to compare .UNINDENT .TP .B Returns True if the comparison is valid, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -265899,7 +288981,7 @@ Hidden directories (directories beginning with \(aq\fI\&.\fP\(aq, such as A dictionary of the results of the command .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -265924,13 +289006,13 @@ exist, however will not refresh it. .INDENT 7.0 .TP .B Parameters -\fBsaltenv\fP (\fI\%str\fP) \-\- Salt environment. Default \fBbase\fP +\fBsaltenv\fP (\fIstr\fP) \-\- Salt environment. Default \fBbase\fP .TP .B Returns A dict containing contents of metadata db. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -265954,13 +289036,13 @@ Install the passed package(s) on the system using winrepo .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of a single package, or a comma\-separated list of packages +\fBname\fP (\fIstr\fP) \-\- The name of a single package, or a comma\-separated list of packages to install. (no spaces after the commas) .IP \(bu 2 -\fBrefresh\fP (\fI\%bool\fP) \-\- Boolean value representing whether or not to refresh the winrepo db. +\fBrefresh\fP (\fIbool\fP) \-\- Boolean value representing whether or not to refresh the winrepo db. Default \fBFalse\fP\&. .IP \(bu 2 -\fBpkgs\fP (\fI\%list\fP) \-\- +\fBpkgs\fP (\fIlist\fP) \-\- .sp A list of packages to install from a software repository. All packages listed under \fBpkgs\fP will be installed via a single @@ -266084,7 +289166,7 @@ If the package is installed by \fBpkg.install\fP: .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp The following example will refresh the winrepo and install a single @@ -266174,7 +289256,7 @@ string will be returned for that package. .INDENT 7.0 .TP .B Parameters -\fBnames\fP (\fI\%str\fP) \-\- A single or multiple names to lookup +\fBnames\fP (\fIstr\fP) \-\- A single or multiple names to lookup .UNINDENT .INDENT 7.0 .TP @@ -266188,7 +289270,7 @@ refresh (bool): Refresh package metadata. Default \fBTrue\fP A dictionary of packages with the latest version available .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266211,7 +289293,7 @@ Return a list of available versions of the specified package. .INDENT 7.0 .TP .B Parameters -\fBnames\fP (\fI\%str\fP) \-\- One or more package names +\fBnames\fP (\fIstr\fP) \-\- One or more package names .UNINDENT .sp Kwargs: @@ -266233,7 +289315,7 @@ Default \fBFalse\fP dict when a single package name is queried. The package name with its available versions .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -266261,19 +289343,49 @@ salt \(aq*\(aq pkg.list_available .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.list_pkgs(versions_as_list=False, **kwargs) -List the packages currently installed +.B salt.modules.win_pkg.list_pkgs(versions_as_list=False, include_components=True, include_updates=True, **kwargs) +List the packages currently installed. .sp -version_as_list (bool): Returns the versions as a list -saltenv (str): The salt environment to use. Default \fBbase\fP\&. -refresh (bool): Refresh package metadata. Default \fBFalse\fP\&. +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To view installed software as displayed in the Add/Remove Programs, set +\fBinclude_components\fP and \fBinclude_updates\fP to False. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBversions_as_list\fP (\fIbool\fP) \-\- Returns the versions as a list +.IP \(bu 2 +\fBinclude_components\fP (\fIbool\fP) \-\- Include sub components of installed software. Default is \fBTrue\fP +.IP \(bu 2 +\fBinclude_updates\fP (\fIbool\fP) \-\- Include software updates and Windows updates. Default is \fBTrue\fP +.UNINDENT +.UNINDENT +.sp +Kwargs: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B saltenv (str): +The salt environment to use. Default \fBbase\fP +.TP +.B refresh (bool): +Refresh package metadata. Default \fBFalse\fP +.UNINDENT +.UNINDENT +.UNINDENT .INDENT 7.0 .TP .B Returns A dictionary of installed software with versions installed .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -266306,7 +289418,7 @@ List all available package upgrades on this system .INDENT 7.0 .TP .B Parameters -\fBrefresh\fP (\fI\%bool\fP) \-\- Refresh package metadata. Default \fBTrue\fP +\fBrefresh\fP (\fIbool\fP) \-\- Refresh package metadata. Default \fBTrue\fP .UNINDENT .INDENT 7.0 .TP @@ -266319,7 +289431,7 @@ saltenv (str): Salt environment. Default \fBbase\fP A dictionary of packages with available upgrades .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266347,13 +289459,13 @@ New in version 0.16.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to be deleted. +\fBname\fP (\fIstr\fP) \-\- The name of the package to be deleted. .IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- The version of the package to be deleted. If this option is +\fBversion\fP (\fIstr\fP) \-\- The version of the package to be deleted. If this option is used in combination with the \fBpkgs\fP option below, then this version will be applied to all targeted packages. .IP \(bu 2 -\fBpkgs\fP (\fI\%list\fP) \-\- A list of packages to delete. Must be passed as a python +\fBpkgs\fP (\fIlist\fP) \-\- A list of packages to delete. Must be passed as a python list. The \fBname\fP parameter will be ignored if this option is passed. .UNINDENT @@ -266370,7 +289482,7 @@ refresh (bool): Refresh package metadata. Default \fBFalse\fP A dict containing the changes. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266482,7 +289594,7 @@ containing the full results will be returned. A dictionary containing the results of the database refresh. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp \fBNOTE:\fP @@ -266528,10 +289640,10 @@ New in version 0.16.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name(s) of the package(s) to be uninstalled. Can be a +\fBname\fP (\fIstr\fP) \-\- The name(s) of the package(s) to be uninstalled. Can be a single package or a comma delimited list of packages, no spaces. .IP \(bu 2 -\fBpkgs\fP (\fI\%list\fP) \-\- A list of packages to delete. Must be passed as a python list. The +\fBpkgs\fP (\fIlist\fP) \-\- A list of packages to delete. Must be passed as a python list. The \fBname\fP parameter will be ignored if this option is passed. .UNINDENT .UNINDENT @@ -266578,7 +289690,7 @@ If the package is already uninstalled: .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266618,7 +289730,7 @@ This feature is not yet implemented for Windows. Empty dict, until implemented .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266640,7 +289752,7 @@ Check whether or not an upgrade is available for a given package .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of a single package +\fBname\fP (\fIstr\fP) \-\- The name of a single package .UNINDENT .INDENT 7.0 .TP @@ -266654,7 +289766,7 @@ saltenv (str): The salt environment. Default \fBbase\fP True if new version available, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -266678,7 +289790,7 @@ name/version pairs is returned. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- One or more package names +\fBname\fP (\fIstr\fP) \-\- One or more package names .UNINDENT .INDENT 7.0 .TP @@ -266693,7 +289805,7 @@ version string when a single package is specified. dict: The package name(s) with the installed versions. .TP .B Return type -\fI\%str\fP +str .UNINDENT .INDENT 7.0 .INDENT 3.5 @@ -266753,18 +289865,18 @@ Export the certificate to a file from the given certificate store. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The destination path for the exported certificate file. +\fBname\fP (\fIstr\fP) \-\- The destination path for the exported certificate file. .IP \(bu 2 -\fBthumbprint\fP (\fI\%str\fP) \-\- The thumbprint value of the target certificate. +\fBthumbprint\fP (\fIstr\fP) \-\- The thumbprint value of the target certificate. .IP \(bu 2 -\fBcert_format\fP (\fI\%str\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or +\fBcert_format\fP (\fIstr\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or \(aqpfx\(aq for PKCS #12. .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password of the certificate. Only applicable to pfx +\fBpassword\fP (\fIstr\fP) \-\- The password of the certificate. Only applicable to pfx format. Note that if used interactively, the password will be seen by all minions. To protect the password, use a state and get the password from pillar. .UNINDENT @@ -266773,7 +289885,7 @@ To protect the password, use a state and get the password from pillar. A boolean representing whether all changes succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -266797,12 +289909,12 @@ Get the details of the certificate file. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The filesystem path of the certificate file. +\fBname\fP (\fIstr\fP) \-\- The filesystem path of the certificate file. .IP \(bu 2 -\fBcert_format\fP (\fI\%str\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or +\fBcert_format\fP (\fIstr\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or \(aqpfx\(aq for PKCS #12. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password of the certificate. Only applicable to pfx +\fBpassword\fP (\fIstr\fP) \-\- The password of the certificate. Only applicable to pfx format. Note that if used interactively, the password will be seen by all minions. To protect the password, use a state and get the password from pillar. .UNINDENT @@ -266811,7 +289923,7 @@ To protect the password, use a state and get the password from pillar. A dictionary of the certificate thumbprints and properties. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266835,16 +289947,16 @@ Get the available certificates in the given store. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .UNINDENT .TP .B Returns A dictionary of the certificate thumbprints and properties. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266869,7 +289981,7 @@ Get the certificate location contexts and their corresponding stores. A dictionary of the certificate location contexts and stores. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -266893,30 +290005,30 @@ Import the certificate file into the given certificate store. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The path of the certificate file to import. +\fBname\fP (\fIstr\fP) \-\- The path of the certificate file to import. .IP \(bu 2 -\fBcert_format\fP (\fI\%str\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or +\fBcert_format\fP (\fIstr\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or \(aqpfx\(aq for PKCS #12. .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .IP \(bu 2 -\fBexportable\fP (\fI\%bool\fP) \-\- Mark the certificate as exportable. Only applicable +\fBexportable\fP (\fIbool\fP) \-\- Mark the certificate as exportable. Only applicable to pfx format. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password of the certificate. Only applicable to pfx +\fBpassword\fP (\fIstr\fP) \-\- The password of the certificate. Only applicable to pfx format. Note that if used interactively, the password will be seen by all minions. To protect the password, use a state and get the password from pillar. .IP \(bu 2 -\fBsaltenv\fP (\fI\%str\fP) \-\- The environment the file resides in. +\fBsaltenv\fP (\fIstr\fP) \-\- The environment the file resides in. .UNINDENT .TP .B Returns A boolean representing whether all changes succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -266940,18 +290052,18 @@ Remove the certificate from the given certificate store. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBthumbprint\fP (\fI\%str\fP) \-\- The thumbprint value of the target certificate. +\fBthumbprint\fP (\fIstr\fP) \-\- The thumbprint value of the target certificate. .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .UNINDENT .TP .B Returns A boolean representing whether all changes succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -266975,18 +290087,18 @@ Check the certificate for validity. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBthumbprint\fP (\fI\%str\fP) \-\- The thumbprint value of the target certificate. +\fBthumbprint\fP (\fIstr\fP) \-\- The thumbprint value of the target certificate. .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .IP \(bu 2 -\fBuntrusted_root\fP (\fI\%bool\fP) \-\- Whether the root certificate is required to be +\fBuntrusted_root\fP (\fIbool\fP) \-\- Whether the root certificate is required to be trusted in chain building. .IP \(bu 2 -\fBdns_name\fP (\fI\%str\fP) \-\- The DNS name to verify as valid for the certificate. +\fBdns_name\fP (\fIstr\fP) \-\- The DNS name to verify as valid for the certificate. .IP \(bu 2 -\fBeku\fP (\fI\%str\fP) \-\- The enhanced key usage object identifiers to verify for the +\fBeku\fP (\fIstr\fP) \-\- The enhanced key usage object identifiers to verify for the certificate chain. .UNINDENT .TP @@ -266995,7 +290107,7 @@ A boolean representing whether the certificate was considered valid. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -267037,7 +290149,7 @@ Get the current disk timeout of the given scheme .INDENT 7.0 .TP .B Parameters -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -267060,7 +290172,7 @@ Aliases are: A dictionary of both the AC and DC settings .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -267108,7 +290220,7 @@ Aliases are: A dictionary of both the AC and DC settings .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -267130,7 +290242,7 @@ Get the current monitor timeout of the given scheme .INDENT 7.0 .TP .B Parameters -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -267153,7 +290265,7 @@ Aliases are: A dictionary of both the AC and DC settings .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -267201,7 +290313,7 @@ Aliases are: A dictionary of both the AC and DC settings .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -267225,9 +290337,9 @@ Set the disk timeout in minutes for the given power scheme .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- The amount of time in minutes before the disk will timeout +\fBtimeout\fP (\fIint\fP) \-\- The amount of time in minutes before the disk will timeout .IP \(bu 2 -\fBpower\fP (\fI\%str\fP) \-\- +\fBpower\fP (\fIstr\fP) \-\- .sp Set the value for AC or DC power. Default is \fBac\fP\&. Valid options are: @@ -267243,7 +290355,7 @@ are: .UNINDENT .IP \(bu 2 -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -267267,7 +290379,7 @@ Aliases are: \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -267292,9 +290404,9 @@ Set the hibernate timeout in minutes for the given power scheme .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- The amount of time in minutes before the computer hibernates +\fBtimeout\fP (\fIint\fP) \-\- The amount of time in minutes before the computer hibernates .IP \(bu 2 -\fBpower\fP (\fI\%str\fP) \-\- +\fBpower\fP (\fIstr\fP) \-\- .sp Set the value for AC or DC power. Default is \fBac\fP\&. Valid options are: @@ -267310,7 +290422,7 @@ are: .UNINDENT .IP \(bu 2 -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -267334,7 +290446,7 @@ Aliases are: \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -267359,9 +290471,9 @@ Set the monitor timeout in minutes for the given power scheme .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- The amount of time in minutes before the monitor will timeout +\fBtimeout\fP (\fIint\fP) \-\- The amount of time in minutes before the monitor will timeout .IP \(bu 2 -\fBpower\fP (\fI\%str\fP) \-\- +\fBpower\fP (\fIstr\fP) \-\- .sp Set the value for AC or DC power. Default is \fBac\fP\&. Valid options are: @@ -267377,7 +290489,7 @@ are: .UNINDENT .IP \(bu 2 -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -267401,7 +290513,7 @@ Aliases are: \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -267426,9 +290538,9 @@ Set the standby timeout in minutes for the given power scheme .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- The amount of time in minutes before the computer sleeps +\fBtimeout\fP (\fIint\fP) \-\- The amount of time in minutes before the computer sleeps .IP \(bu 2 -\fBpower\fP (\fI\%str\fP) \-\- +\fBpower\fP (\fIstr\fP) \-\- .sp Set the value for AC or DC power. Default is \fBac\fP\&. Valid options are: @@ -267444,7 +290556,7 @@ are: .UNINDENT .IP \(bu 2 -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -267468,7 +290580,7 @@ Aliases are: \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -267758,7 +290870,7 @@ it directly processes the file specified in \fIname\fP Returns a dictionary containing the rendered data structure .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp \fBNOTE:\fP @@ -267882,7 +290994,7 @@ a long timeout .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBfeature\fP (\fI\%str\fP\fI, \fP\fI\%list\fP) \-\- +\fBfeature\fP (\fIstr\fP\fI, \fP\fIlist\fP) \-\- .sp The name of the feature(s) to install. This can be a single feature, a string of features in a comma delimited list (no spaces), or a @@ -267892,18 +291004,18 @@ New in version 2018.3.0: Added the ability to pass a list of features to be inst .IP \(bu 2 -\fBrecurse\fP (\fIOptions\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Install all sub\-features. Default is False +\fBrecurse\fP (\fIOptions\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Install all sub\-features. Default is False .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Restarts the computer when installation is complete, if required by +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Restarts the computer when installation is complete, if required by the role/feature installed. Will also trigger a reboot if an item in \fBexclude\fP requires a reboot to be properly removed. Default is False .IP \(bu 2 -\fBsource\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- Path to the source files if missing from the target system. None +\fBsource\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- Path to the source files if missing from the target system. None means that the system will use windows update services to find the required files. Default is None .IP \(bu 2 -\fBexclude\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBexclude\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The name of the feature to exclude when installing the named feature. This can be a single feature, a string of features in a @@ -267927,7 +291039,7 @@ be removed.\fP A dictionary containing the results of the install .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -267965,7 +291077,7 @@ A list of available features as returned by the \fBGet\-WindowsFeature\fP PowerShell command .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -267991,7 +291103,7 @@ newer. A dictionary of installed features .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -268026,7 +291138,7 @@ idea to use the \fB\-t\fP option to set a longer timeout. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBfeature\fP (\fI\%str\fP\fI, \fP\fI\%list\fP) \-\- +\fBfeature\fP (\fIstr\fP\fI, \fP\fIlist\fP) \-\- .sp The name of the feature(s) to remove. This can be a single feature, a string of features in a comma delimited list (no spaces), or a @@ -268036,10 +291148,10 @@ New in version 2018.3.0: Added the ability to pass a list of features to be remo .IP \(bu 2 -\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- True will cause the feature to be removed from the side\-by\-side +\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- True will cause the feature to be removed from the side\-by\-side store (\fB%SystemDrive%:\eWindows\eWinSxS\fP). Default is False .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Restarts the computer when uninstall is complete, if required by the +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Restarts the computer when uninstall is complete, if required by the role/feature removed. Default is False .UNINDENT .TP @@ -268047,7 +291159,7 @@ role/feature removed. Default is False A dictionary containing the results of the uninstall .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -268075,13 +291187,13 @@ Check if a service is available on the system. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .TP .B Returns \fBTrue\fP if the service is available, \fBFalse\fP otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268108,22 +291220,22 @@ New in version 2015.8.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- Specifies the service name. This is not the display_name +\fBname\fP (\fIstr\fP) \-\- Specifies the service name. This is not the display_name .IP \(bu 2 -\fBbin_path\fP (\fI\%str\fP) \-\- Specifies the path to the service binary file. -Backslashes must be escaped, eg: C:pathtobinary.exe +\fBbin_path\fP (\fIstr\fP) \-\- Specifies the path to the service binary file. Backslashes must be +escaped, eg: \fBC:\epath\eto\ebinary.exe\fP .IP \(bu 2 -\fBexe_args\fP (\fI\%str\fP) \-\- Any additional arguments required by the service binary. +\fBexe_args\fP (\fIstr\fP) \-\- Any additional arguments required by the service binary. .IP \(bu 2 -\fBdisplay_name\fP (\fI\%str\fP) \-\- the name to be displayed in the service manager. If -not passed, the \fBname\fP will be used +\fBdisplay_name\fP (\fIstr\fP) \-\- The name to be displayed in the service manager. If not passed, the +\fBname\fP will be used .IP \(bu 2 -\fBdescription\fP (\fI\%str\fP) \-\- A description of the service +\fBdescription\fP (\fIstr\fP) \-\- A description of the service .IP \(bu 2 -\fBservice_type\fP (\fI\%str\fP) \-\- +\fBservice_type\fP (\fIstr\fP) \-\- .sp -Specifies the service type. Default is \fBown\fP\&. -Valid options are as follows: +Specifies the service type. Default is \fBown\fP\&. Valid options are as +follows: .INDENT 2.0 .IP \(bu 2 kernel: Driver service @@ -268140,10 +291252,9 @@ share: Service shares a process with one or more other services .UNINDENT .IP \(bu 2 -\fBstart_type\fP (\fI\%str\fP) \-\- +\fBstart_type\fP (\fIstr\fP) \-\- .sp -Specifies the service start type. Valid options are as -follows: +Specifies the service start type. Valid options are as follows: .INDENT 2.0 .IP \(bu 2 boot: Device driver that is loaded by the boot loader @@ -268158,15 +291269,15 @@ disabled: Service cannot be started .UNINDENT .IP \(bu 2 -\fBstart_delayed\fP (\fI\%bool\fP) \-\- Set the service to Auto(Delayed Start). Only valid -if the start_type is set to \fBAuto\fP\&. If service_type is not passed, -but the service is already set to \fBAuto\fP, then the flag will be -set. Default is \fBFalse\fP +\fBstart_delayed\fP (\fIbool\fP) \-\- Set the service to Auto(Delayed Start). Only valid if the start_type +is set to \fBAuto\fP\&. If service_type is not passed, but the service +is already set to \fBAuto\fP, then the flag will be set. Default is +\fBFalse\fP .IP \(bu 2 -\fBerror_control\fP (\fI\%str\fP) \-\- +\fBerror_control\fP (\fIstr\fP) \-\- .sp -The severity of the error, and action taken, if -this service fails to start. Valid options are as follows: +The severity of the error, and action taken, if this service fails +to start. Valid options are as follows: .INDENT 2.0 .IP \(bu 2 normal (normal): Error is logged and a message box is displayed @@ -268182,18 +291293,17 @@ given to the user .UNINDENT .IP \(bu 2 -\fBload_order_group\fP \-\- The name of the load order group to which this service -belongs +\fBload_order_group\fP (\fIstr\fP) \-\- The name of the load order group to which this service belongs .IP \(bu 2 -\fBdependencies\fP (\fI\%list\fP) \-\- A list of services or load ordering groups that -must start before this service +\fBdependencies\fP (\fIlist\fP) \-\- A list of services or load ordering groups that must start before +this service .IP \(bu 2 -\fBaccount_name\fP (\fI\%str\fP) \-\- +\fBaccount_name\fP (\fIstr\fP) \-\- .sp -The name of the account under which the service -should run. For \fBown\fP type services this should be in the -\fBdomain\eusername\fP format. The following are examples of valid -built\-in service accounts: +The name of the account under which the service should run. For +\fBown\fP type services this should be in the \fBdomain\eusername\fP +format. The following are examples of valid built\-in service +accounts: .INDENT 2.0 .IP \(bu 2 NT AuthorityLocalService @@ -268206,20 +291316,20 @@ NT AuthorityLocalSystem .UNINDENT .IP \(bu 2 -\fBaccount_password\fP (\fI\%str\fP) \-\- The password for the account name specified in -\fBaccount_name\fP\&. For the above built\-in accounts, this can be None. -Otherwise a password must be specified. +\fBaccount_password\fP (\fIstr\fP) \-\- The password for the account name specified in \fBaccount_name\fP\&. For +the above built\-in accounts, this can be None. Otherwise a password +must be specified. .IP \(bu 2 -\fBrun_interactive\fP (\fI\%bool\fP) \-\- If this setting is True, the service will be -allowed to interact with the user. Not recommended for services that -run with elevated privileges. +\fBrun_interactive\fP (\fIbool\fP) \-\- If this setting is True, the service will be allowed to interact +with the user. Not recommended for services that run with elevated +privileges. .UNINDENT .TP .B Returns A dictionary containing information about the new service .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -268244,7 +291354,7 @@ Create a task in Windows task scheduler to enable restarting the salt\-minion \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268261,18 +291371,36 @@ salt \(aq*\(aq service.create_win_salt_restart_task() .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_service.delete(name) +.B salt.modules.win_service.delete(name, timeout=90) Delete the named service .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to delete +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the service to delete +.IP \(bu 2 +\fBtimeout\fP (\fIint\fP) \-\- +.sp +The time in seconds to wait for the service to be deleted before +returning. This is necessary because a service must be stopped +before it can be deleted. Default is 90 seconds +.sp +New in version 2017.7.9,2018.3.4. + + +.UNINDENT .TP .B Returns -True if successful, False otherwise +.INDENT 7.0 +.TP +.B \fBTrue\fP if successful, otherwise \fBFalse\fP\&. Also returns \fBTrue\fP +if the service is not present +.UNINDENT + .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268294,13 +291422,13 @@ Disable the named service to start at boot .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to disable +\fBname\fP (\fIstr\fP) \-\- The name of the service to disable .TP .B Returns \fBTrue\fP if disabled, \fBFalse\fP otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268322,13 +291450,13 @@ Check to see if the named service is disabled to start on boot .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .TP .B Returns True if the service is disabled .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268352,9 +291480,9 @@ Enable the named service to start at boot .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to enable. +\fBname\fP (\fIstr\fP) \-\- The name of the service to enable. .IP \(bu 2 -\fBstart_type\fP (\fI\%str\fP) \-\- +\fBstart_type\fP (\fIstr\fP) \-\- .sp Specifies the service start type. Valid options are as follows: @@ -268372,7 +291500,7 @@ disabled: Service cannot be started .UNINDENT .IP \(bu 2 -\fBstart_delayed\fP (\fI\%bool\fP) \-\- Set the service to Auto(Delayed Start). Only valid +\fBstart_delayed\fP (\fIbool\fP) \-\- Set the service to Auto(Delayed Start). Only valid if the start_type is set to \fBAuto\fP\&. If service_type is not passed, but the service is already set to \fBAuto\fP, then the flag will be set. @@ -268382,7 +291510,7 @@ set. \fBTrue\fP if successful, \fBFalse\fP otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268404,13 +291532,13 @@ Check to see if the named service is enabled to start on boot .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .TP .B Returns True if the service is set to start .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268435,7 +291563,7 @@ Run the Windows Salt restart task \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268460,7 +291588,7 @@ Return all installed services Returns a list of all services on the system. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -268486,7 +291614,7 @@ marked \(aqDisabled\(aq or \(aqManual\(aq. A list of disabled services. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -268512,7 +291640,7 @@ marked to Auto Start. A list of enabled services .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -268546,7 +291674,7 @@ If arguments are passed, create a dict of Display Names and Service Names A dictionary of display names and service names .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -268569,13 +291697,13 @@ Return the SID for this windows service .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service for which to return the SID +\fBname\fP (\fIstr\fP) \-\- The name of the service for which to return the SID .TP .B Returns A string representing the SID for the service .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -268597,14 +291725,14 @@ Get information about a service on the system .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service. This is not the display name. Use +\fBname\fP (\fIstr\fP) \-\- The name of the service. This is not the display name. Use \fBget_service_name\fP to find the service name. .TP .B Returns A dictionary containing information about the service. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -268626,13 +291754,13 @@ The inverse of service.available. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .TP .B Returns \fBTrue\fP if the service is missing, \fBFalse\fP otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268660,22 +291788,22 @@ New in version 2016.11.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service. Can be found using the +\fBname\fP (\fIstr\fP) \-\- The name of the service. Can be found using the \fBservice.get_service_name\fP function .IP \(bu 2 -\fBbin_path\fP (\fI\%str\fP) \-\- The path to the service executable. Backslashes must be -escaped, eg: C:pathtobinary.exe +\fBbin_path\fP (\fIstr\fP) \-\- The path to the service executable. Backslashes must be escaped, eg: +\fBC:\epath\eto\ebinary.exe\fP .IP \(bu 2 -\fBexe_args\fP (\fI\%str\fP) \-\- Any arguments required by the service executable +\fBexe_args\fP (\fIstr\fP) \-\- Any arguments required by the service executable .IP \(bu 2 -\fBdisplay_name\fP (\fI\%str\fP) \-\- The name to display in the service manager +\fBdisplay_name\fP (\fIstr\fP) \-\- The name to display in the service manager .IP \(bu 2 -\fBdescription\fP (\fI\%str\fP) \-\- The description to display for the service +\fBdescription\fP (\fIstr\fP) \-\- The description to display for the service .IP \(bu 2 -\fBservice_type\fP (\fI\%str\fP) \-\- +\fBservice_type\fP (\fIstr\fP) \-\- .sp -Specifies the service type. Default is \fBown\fP\&. -Valid options are as follows: +Specifies the service type. Default is \fBown\fP\&. Valid options are as +follows: .INDENT 2.0 .IP \(bu 2 kernel: Driver service @@ -268692,10 +291820,9 @@ share: Service shares a process with one or more other services .UNINDENT .IP \(bu 2 -\fBstart_type\fP (\fI\%str\fP) \-\- +\fBstart_type\fP (\fIstr\fP) \-\- .sp -Specifies the service start type. Valid options are as -follows: +Specifies the service start type. Valid options are as follows: .INDENT 2.0 .IP \(bu 2 boot: Device driver that is loaded by the boot loader @@ -268710,15 +291837,14 @@ disabled: Service cannot be started .UNINDENT .IP \(bu 2 -\fBstart_delayed\fP (\fI\%bool\fP) \-\- Set the service to Auto(Delayed Start). Only valid -if the start_type is set to \fBAuto\fP\&. If service_type is not passed, -but the service is already set to \fBAuto\fP, then the flag will be -set. +\fBstart_delayed\fP (\fIbool\fP) \-\- Set the service to Auto(Delayed Start). Only valid if the start_type +is set to \fBAuto\fP\&. If service_type is not passed, but the service +is already set to \fBAuto\fP, then the flag will be set. .IP \(bu 2 -\fBerror_control\fP (\fI\%str\fP) \-\- +\fBerror_control\fP (\fIstr\fP) \-\- .sp -The severity of the error, and action taken, if -this service fails to start. Valid options are as follows: +The severity of the error, and action taken, if this service fails +to start. Valid options are as follows: .INDENT 2.0 .IP \(bu 2 normal: Error is logged and a message box is displayed @@ -268734,18 +291860,17 @@ given to the user .UNINDENT .IP \(bu 2 -\fBload_order_group\fP \-\- The name of the load order group to which this service -belongs +\fBload_order_group\fP (\fIstr\fP) \-\- The name of the load order group to which this service belongs .IP \(bu 2 -\fBdependencies\fP (\fI\%list\fP) \-\- A list of services or load ordering groups that -must start before this service +\fBdependencies\fP (\fIlist\fP) \-\- A list of services or load ordering groups that must start before +this service .IP \(bu 2 -\fBaccount_name\fP (\fI\%str\fP) \-\- +\fBaccount_name\fP (\fIstr\fP) \-\- .sp -The name of the account under which the service -should run. For \fBown\fP type services this should be in the -\fBdomain\eusername\fP format. The following are examples of valid -built\-in service accounts: +The name of the account under which the service should run. For +\fBown\fP type services this should be in the \fBdomain\eusername\fP +format. The following are examples of valid built\-in service +accounts: .INDENT 2.0 .IP \(bu 2 NT AuthorityLocalService @@ -268758,20 +291883,20 @@ NT AuthorityLocalSystem .UNINDENT .IP \(bu 2 -\fBaccount_password\fP (\fI\%str\fP) \-\- The password for the account name specified in -\fBaccount_name\fP\&. For the above built\-in accounts, this can be None. -Otherwise a password must be specified. +\fBaccount_password\fP (\fIstr\fP) \-\- The password for the account name specified in \fBaccount_name\fP\&. For +the above built\-in accounts, this can be None. Otherwise a password +must be specified. .IP \(bu 2 -\fBrun_interactive\fP (\fI\%bool\fP) \-\- If this setting is True, the service will be -allowed to interact with the user. Not recommended for services that -run with elevated privileges. +\fBrun_interactive\fP (\fIbool\fP) \-\- If this setting is True, the service will be allowed to interact +with the user. Not recommended for services that run with elevated +privileges. .UNINDENT .TP .B Returns a dictionary of changes made .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -268788,28 +291913,50 @@ salt \(aq*\(aq service.modify spooler start_type=disabled .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_service.restart(name) +.B salt.modules.win_service.restart(name, timeout=90) Restart the named service. This issues a stop command followed by a start. .INDENT 7.0 .TP .B Parameters -\fBname\fP \-\- The name of the service to restart. -.UNINDENT +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- +.sp +The name of the service to restart. .sp \fBNOTE:\fP -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 -If the name passed is \fBsalt\-minion\fP a scheduled task is created and -executed to restart the salt\-minion service. +If the name passed is \fBsalt\-minion\fP a scheduled task is +created and executed to restart the salt\-minion service. .UNINDENT .UNINDENT -.INDENT 7.0 + +.IP \(bu 2 +\fBtimeout\fP (\fIint\fP) \-\- +.sp +The time in seconds to wait for the service to stop and start before +returning. Default is 90 seconds +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +The timeout is cumulative meaning it is applied to the stop and +then to the start command. A timeout of 90 could take up to 180 +seconds if the service is long in stopping and starting +.UNINDENT +.UNINDENT +.sp +New in version 2017.7.9,2018.3.4. + + +.UNINDENT .TP .B Returns -\fBTrue\fP if successful, \fBFalse\fP otherwise +\fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268826,7 +291973,7 @@ salt \(aq*\(aq service.restart .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_service.start(name) +.B salt.modules.win_service.start(name, timeout=90) Start the specified service. .sp \fBWARNING:\fP @@ -268839,13 +291986,30 @@ disabled, it will be changed to \fBManual\fP start. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to start +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the service to start +.IP \(bu 2 +\fBtimeout\fP (\fIint\fP) \-\- +.sp +The time in seconds to wait for the service to start before +returning. Default is 90 seconds +.sp +New in version 2017.7.9,2018.3.4. + + +.UNINDENT .TP .B Returns -True if successful, False otherwise +.INDENT 7.0 +.TP +.B \fBTrue\fP if successful, otherwise \fBFalse\fP\&. Also returns \fBTrue\fP +if the service is already started +.UNINDENT + .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268862,7 +292026,7 @@ salt \(aq*\(aq service.start .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_service.status(name, sig=None) +.B salt.modules.win_service.status(name, *args, **kwargs) Return the status for a service. If the name contains globbing, a dict mapping service name to True/False values is returned. @@ -268872,19 +292036,14 @@ Changed in version 2018.3.0: The service name can now be a glob (e.g. \fBsalt*\f .INDENT 7.0 .TP .B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the service to check -.IP \(bu 2 -\fBsig\fP (\fI\%str\fP) \-\- Not supported on Windows -.UNINDENT +\fBname\fP (\fIstr\fP) \-\- The name of the service to check .TP .B Returns True if running, False otherwise dict: Maps service name to True if running, False otherwise .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268901,18 +292060,35 @@ salt \(aq*\(aq service.status .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_service.stop(name) +.B salt.modules.win_service.stop(name, timeout=90) Stop the specified service .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the service to stop +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the service to stop +.IP \(bu 2 +\fBtimeout\fP (\fIint\fP) \-\- +.sp +The time in seconds to wait for the service to stop before +returning. Default is 90 seconds +.sp +New in version 2017.7.9,2018.3.4. + + +.UNINDENT .TP .B Returns -True if successful, False otherwise +.INDENT 7.0 +.TP +.B \fBTrue\fP if successful, otherwise \fBFalse\fP\&. Also returns \fBTrue\fP +if the service is already stopped +.UNINDENT + .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -268947,7 +292123,7 @@ This is just returns dummy data so that salt states can work. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the user account to show. +\fBname\fP (\fIstr\fP) \-\- The name of the user account to show. .UNINDENT .sp CLI Example: @@ -268975,7 +292151,7 @@ Require the user to change their password the next time they log in. True if successful. False if unsuccessful. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269008,7 +292184,7 @@ Set the expiration date for a user account. True if successful. False if unsuccessful. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269032,16 +292208,16 @@ Set the password for a named user. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the user account +\fBname\fP (\fIstr\fP) \-\- The name of the user account .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The new password +\fBpassword\fP (\fIstr\fP) \-\- The new password .UNINDENT .TP .B Returns True if successful. False if unsuccessful. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269069,7 +292245,7 @@ Unlocks a user account. True if successful. False if unsuccessful. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269102,16 +292278,16 @@ Get the IPGrant list for the SMTP virtual server. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBas_wmi_format\fP (\fI\%bool\fP) \-\- Returns the connection IPs as a list in the format WMI expects. +\fBas_wmi_format\fP (\fIbool\fP) \-\- Returns the connection IPs as a list in the format WMI expects. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .TP .B Returns A dictionary of the IP and subnet pairs. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -269133,13 +292309,13 @@ Get the active log format for the SMTP virtual server. .INDENT 7.0 .TP .B Parameters -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .TP .B Returns A string of the log format name. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -269164,7 +292340,7 @@ Get all available log format names and ids. A dictionary of the log format names and ids. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -269186,13 +292362,13 @@ Get the RelayIpList list for the SMTP virtual server. .INDENT 7.0 .TP .B Parameters -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .TP .B Returns A list of the relay IPs. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp \fBNOTE:\fP @@ -269225,16 +292401,16 @@ Get the value of the setting for the SMTP virtual server. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A list of the setting names. +\fBsettings\fP (\fIstr\fP) \-\- A list of the setting names. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .TP .B Returns A dictionary of the provided settings and their values. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -269259,7 +292435,7 @@ Get the SMTP virtual server names. A list of the SMTP virtual servers. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -269283,18 +292459,18 @@ Set the IPGrant list for the SMTP virtual server. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBaddresses\fP (\fI\%str\fP) \-\- A dictionary of IP + subnet pairs. +\fBaddresses\fP (\fIstr\fP) \-\- A dictionary of IP + subnet pairs. .IP \(bu 2 -\fBgrant_by_default\fP (\fI\%bool\fP) \-\- Whether the addresses should be a blacklist or whitelist. +\fBgrant_by_default\fP (\fIbool\fP) \-\- Whether the addresses should be a blacklist or whitelist. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .TP .B Returns A boolean representing whether the change succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269318,16 +292494,16 @@ Set the active log format for the SMTP virtual server. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBlog_format\fP (\fI\%str\fP) \-\- The log format name. +\fBlog_format\fP (\fIstr\fP) \-\- The log format name. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .TP .B Returns A boolean representing whether the change succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269379,16 +292555,16 @@ more permissive \(aqAll except the list below\(aq GUI parameter. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBaddresses\fP (\fI\%str\fP) \-\- A list of the relay IPs. The order of the list is important. +\fBaddresses\fP (\fIstr\fP) \-\- A list of the relay IPs. The order of the list is important. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .TP .B Returns A boolean representing whether the change succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269419,16 +292595,16 @@ The setting names are case\-sensitive. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIstr\fP) \-\- A dictionary of the setting names and their values. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .TP .B Returns A boolean representing whether all changes succeeded. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269457,7 +292633,7 @@ Get the sysServices types that can be configured. A list of service types. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -269483,7 +292659,7 @@ settings. A dictionary of the agent settings. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -269508,7 +292684,7 @@ Determine whether the host is configured to send authentication traps. True if traps are enabled, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269560,7 +292736,7 @@ TestCommunity: A dictionary of community names and permissions. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -269585,7 +292761,7 @@ Get the permission types that can be configured for communities. A list of permission types. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -269609,11 +292785,11 @@ Manage the SNMP sysContact, sysLocation, and sysServices settings. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontact\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The SNMP contact. +\fBcontact\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The SNMP contact. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The SNMP location. +\fBlocation\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The SNMP location. .IP \(bu 2 -\fBservices\fP (\fI\%list\fP\fI, \fP\fIoptional\fP) \-\- A list of selected services. The possible +\fBservices\fP (\fIlist\fP\fI, \fP\fIoptional\fP) \-\- A list of selected services. The possible service names can be found via \fBwin_snmp.get_agent_service_types\fP\&. To disable all services pass a list of None, ie: [\(aqNone\(aq] .UNINDENT @@ -269622,7 +292798,7 @@ To disable all services pass a list of None, ie: [\(aqNone\(aq] True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269644,13 +292820,13 @@ Manage the sending of authentication traps. .INDENT 7.0 .TP .B Parameters -\fBstatus\fP (\fI\%bool\fP) \-\- True to enable traps. False to disable. +\fBstatus\fP (\fIbool\fP) \-\- True to enable traps. False to disable. .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -269681,7 +292857,7 @@ Policy settings it will raise a CommandExecutionError .INDENT 7.0 .TP .B Parameters -\fBcommunities\fP (\fI\%dict\fP) \-\- A dictionary of SNMP community names and +\fBcommunities\fP (\fIdict\fP) \-\- A dictionary of SNMP community names and permissions. The possible permissions can be found via \fBwin_snmp.get_permission_types\fP\&. .TP @@ -269689,7 +292865,7 @@ permissions. The possible permissions can be found via True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If SNMP settings are being managed by Group Policy @@ -269725,6 +292901,400 @@ wmi .UNINDENT .INDENT 0.0 .TP +.B class salt.modules.win_status.SYSTEM_PERFORMANCE_INFORMATION +.INDENT 7.0 +.TP +.B AvailablePagedPoolPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B AvailablePages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CacheIoCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CacheReadCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CacheTransitionCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcCopyReadNoWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcCopyReadNoWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcCopyReadWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcCopyReadWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcDataFlushes +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcDataPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcDirtyPagesThreshold +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastMdlReadNoWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastMdlReadNotPossible +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastMdlReadResourceMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastMdlReadWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastReadNoWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastReadNotPossible +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastReadResourceMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcFastReadWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcLazyWriteIos +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcLazyWritePages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMapDataNoWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMapDataNoWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMapDataWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMapDataWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMdlReadNoWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMdlReadNoWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMdlReadWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcMdlReadWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcPinMappedDataCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcPinReadNoWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcPinReadNoWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcPinReadWait +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcPinReadWaitMiss +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcReadAheadIos +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CcTotalDirtyPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CommitLimit +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CommittedPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B ContextSwitches +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B CopyOnWriteCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B DemandZeroCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B DirtyPagesWriteCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B DirtyWriteIoCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B FirstLevelTbFills +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B FreeSystemPtes +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IdleProcessTime +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IoOtherOperationCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IoOtherTransferCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IoReadOperationCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IoReadTransferCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IoWriteOperationCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B IoWriteTransferCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B MappedPagesWriteCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B MappedWriteIoCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B NonPagedPoolAllocs +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B NonPagedPoolFrees +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B NonPagedPoolLookasideHits +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B NonPagedPoolPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PageFaultCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PageReadCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PageReadIoCount +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PagedPoolAllocs +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PagedPoolFrees +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PagedPoolLookasideHits +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PagedPoolPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B PeakCommitment +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B ResidentAvailablePages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B ResidentPagedPoolPage +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B ResidentSystemCachePage +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B ResidentSystemCodePage +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B ResidentSystemDriverPage +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B SecondLevelTbFills +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B SharedCommittedPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B SystemCalls +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B TotalSystemCodePages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B TotalSystemDriverPages +Structure/Union member +.UNINDENT +.INDENT 7.0 +.TP +.B TransitionCount +Structure/Union member +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_status.cpuload() New in version 2015.8.0. @@ -269745,6 +293315,28 @@ salt \(aq*\(aq status.cpuload .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_status.cpustats() +Return information about the CPU. +.INDENT 7.0 +.TP +.B Returns +dict: A dictionary containing information about the CPU stats +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt * status.cpustats +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_status.diskusage(human_readable=False, path=None) New in version 2015.8.0. @@ -269771,6 +293363,31 @@ salt \(aq*\(aq status.diskusage path=c:/salt .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_status.loadavg() +Returns counter information related to the load of the machine +.INDENT 7.0 +.TP +.B Returns +A dictionary of counters +.TP +.B Return type +dict +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt * status.loadavg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_status.master(master=None, connected=True) New in version 2015.5.0. @@ -269794,6 +293411,31 @@ salt \(aq*\(aq status.master .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_status.meminfo() +Return information about physical and virtual memory on the system +.INDENT 7.0 +.TP +.B Returns +A dictionary of information about memory on the system +.TP +.B Return type +dict +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt * status.meminfo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_status.procs(count=False) Return the process data .INDENT 7.0 @@ -269856,7 +293498,7 @@ Return the system uptime for the machine .INDENT 7.0 .TP .B Parameters -\fBhuman_readable\fP (\fI\%bool\fP) \-\- +\fBhuman_readable\fP (\fIbool\fP) \-\- .sp Return uptime in human readable format if \fBTrue\fP, otherwise return seconds. Default is \fBFalse\fP @@ -269875,7 +293517,7 @@ The uptime in seconds or human readable format depending on the value of \fBhuman_readable\fP .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -269891,6 +293533,31 @@ salt \(aq*\(aq status.uptime human_readable=True .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_status.vmstats() +Return information about the virtual memory on the machine +.INDENT 7.0 +.TP +.B Returns +A dictionary of virtual memory stats +.TP +.B Return type +dict +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt * status.vmstats +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.win_system .sp Module for managing windows systems. @@ -269925,7 +293592,7 @@ Returns the computer description if found. Otherwise returns \fBFalse\fP\&. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -269950,7 +293617,7 @@ Get the Windows computer name Returns the computer name if found. Otherwise returns \fBFalse\fP\&. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -269981,7 +293648,7 @@ New in version 2015.8.2. The name of the domain or workgroup .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -270009,7 +293676,7 @@ New in version 2016.3.0. Returns the hostname of the windows minion .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -270039,7 +293706,7 @@ New in version 2016.11.0. otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270069,7 +293736,7 @@ Returns the pending name if pending restart. Returns \fBNone\fP if not pending restart. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -270099,7 +293766,7 @@ New in version 2016.11.0. \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270129,7 +293796,7 @@ New in version 2016.11.0. \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270157,7 +293824,7 @@ New in version 2016.11.0. \fBTrue\fP if the system is pending reboot, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270187,7 +293854,7 @@ New in version 2016.11.0. \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270215,7 +293882,7 @@ New in version 2016.11.0. \fBTrue\fP if there are pending updates, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270249,7 +293916,7 @@ New in version 2016.11.0. otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270274,7 +293941,7 @@ Get the Windows system date Returns the system date .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -270300,7 +293967,7 @@ Dictionary containing information about the system to include name, description, version, etc... .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -270325,7 +293992,7 @@ Get the system time. Returns the system time in HH:MM:SS AM/PM format. .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -270349,9 +294016,9 @@ Halt a running system. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- Number of seconds before halting the system. Default is 5 seconds. +\fBtimeout\fP (\fIint\fP) \-\- Number of seconds before halting the system. Default is 5 seconds. .IP \(bu 2 -\fBin_seconds\fP (\fI\%bool\fP) \-\- +\fBin_seconds\fP (\fIbool\fP) \-\- .sp Whether to treat timeout as seconds or minutes. .sp @@ -270364,7 +294031,7 @@ New in version 2015.8.0. \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270406,25 +294073,25 @@ Join a computer to an Active Directory domain. Requires a reboot. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBdomain\fP (\fI\%str\fP) \-\- The domain to which the computer should be joined, e.g. +\fBdomain\fP (\fIstr\fP) \-\- The domain to which the computer should be joined, e.g. \fBexample.com\fP .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- Username of an account which is authorized to join computers to the +\fBusername\fP (\fIstr\fP) \-\- Username of an account which is authorized to join computers to the specified domain. Needs to be either fully qualified like \fBuser@domain.tld\fP or simply \fBuser\fP .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- Password of the specified user +\fBpassword\fP (\fIstr\fP) \-\- Password of the specified user .IP \(bu 2 -\fBaccount_ou\fP (\fI\%str\fP) \-\- The DN of the OU below which the account for this computer should be +\fBaccount_ou\fP (\fIstr\fP) \-\- The DN of the OU below which the account for this computer should be created when joining the domain, e.g. \fBou=computers,ou=departm_432,dc=my\-company,dc=com\fP .IP \(bu 2 -\fBaccount_exists\fP (\fI\%bool\fP) \-\- If set to \fBTrue\fP the computer will only join the domain if the +\fBaccount_exists\fP (\fIbool\fP) \-\- If set to \fBTrue\fP the computer will only join the domain if the account already exists. If set to \fBFalse\fP the computer account will be created if it does not exist, otherwise it will use the existing account. Default is \fBFalse\fP .IP \(bu 2 -\fBrestart\fP (\fI\%bool\fP) \-\- +\fBrestart\fP (\fIbool\fP) \-\- .sp \fBTrue\fP will restart the computer after a successful join. Default is \fBFalse\fP @@ -270438,7 +294105,7 @@ New in version 2015.8.2/2015.5.7. Returns a dictionary if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -270466,7 +294133,7 @@ Lock the workstation. \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270490,10 +294157,10 @@ Power off a running system. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- Number of seconds before powering off the system. Default is 5 +\fBtimeout\fP (\fIint\fP) \-\- Number of seconds before powering off the system. Default is 5 seconds. .IP \(bu 2 -\fBin_seconds\fP (\fI\%bool\fP) \-\- +\fBin_seconds\fP (\fIbool\fP) \-\- .sp Whether to treat timeout as seconds or minutes. .sp @@ -270506,7 +294173,7 @@ New in version 2015.8.0. \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270530,11 +294197,11 @@ Reboot a running system. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- The number of minutes/seconds before rebooting the system. Use of +\fBtimeout\fP (\fIint\fP) \-\- The number of minutes/seconds before rebooting the system. Use of minutes or seconds depends on the value of \fBin_seconds\fP\&. Default is 5 minutes. .IP \(bu 2 -\fBin_seconds\fP (\fI\%bool\fP) \-\- .INDENT 2.0 +\fBin_seconds\fP (\fIbool\fP) \-\- .INDENT 2.0 .TP .B \fBTrue\fP will cause the \fBtimeout\fP parameter to be in seconds. \fBFalse\fP will be in minutes. Default is \fBFalse\fP\&. @@ -270544,7 +294211,7 @@ New in version 2015.8.0. .IP \(bu 2 -\fBwait_for_reboot\fP (\fI\%bool\fP) \-\- +\fBwait_for_reboot\fP (\fIbool\fP) \-\- .sp \fBTrue\fP will sleep for timeout + 30 seconds after reboot has been initiated. This is useful for use in a highstate. For example, you @@ -270555,7 +294222,7 @@ New in version 2015.8.0. .IP \(bu 2 -\fBonly_on_pending_reboot\fP (\fI\%bool\fP) \-\- If this is set to \fBTrue\fP, then the reboot will only proceed +\fBonly_on_pending_reboot\fP (\fIbool\fP) \-\- If this is set to \fBTrue\fP, then the reboot will only proceed if the system reports a pending reboot. Setting this parameter to \fBTrue\fP could be useful when calling this function from a final housekeeping state intended to be executed at the end of a state run @@ -270566,7 +294233,7 @@ housekeeping state intended to be executed at the end of a state run \fBTrue\fP if successful (a reboot will occur), otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270605,13 +294272,13 @@ Set the Windows computer description .INDENT 7.0 .TP .B Parameters -\fBdesc\fP (\fI\%str\fP) \-\- The computer description +\fBdesc\fP (\fIstr\fP) \-\- The computer description .TP .B Returns Description if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -270633,14 +294300,14 @@ Set the Windows computer name .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The new name to give the computer. Requires a reboot to take effect. +\fBname\fP (\fIstr\fP) \-\- The new name to give the computer. Requires a reboot to take effect. .TP .B Returns Returns a dictionary containing the old and new names if successful. \fBFalse\fP if not. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -270666,13 +294333,13 @@ New in version 2016.3.0. .INDENT 7.0 .TP .B Parameters -\fBhostname\fP (\fI\%str\fP) \-\- The hostname to set +\fBhostname\fP (\fIstr\fP) \-\- The hostname to set .TP .B Returns \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270715,7 +294382,7 @@ New in version 2016.11.0. \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270737,7 +294404,7 @@ Set the Windows system date. Use format for the date. .INDENT 7.0 .TP .B Parameters -\fBnewdate\fP (\fI\%str\fP) \-\- +\fBnewdate\fP (\fIstr\fP) \-\- .sp The date to set. Can be any of the following formats .INDENT 7.0 @@ -270760,7 +294427,7 @@ YYYY/MM/DD \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270787,24 +294454,24 @@ system year will be used. (Used by set_system_date and set_system_time) .B Parameters .INDENT 7.0 .IP \(bu 2 -\fByears\fP (\fI\%int\fP) \-\- Years digit, ie: 2015 +\fByears\fP (\fIint\fP) \-\- Years digit, ie: 2015 .IP \(bu 2 -\fBmonths\fP (\fI\%int\fP) \-\- Months digit: 1 \- 12 +\fBmonths\fP (\fIint\fP) \-\- Months digit: 1 \- 12 .IP \(bu 2 -\fBdays\fP (\fI\%int\fP) \-\- Days digit: 1 \- 31 +\fBdays\fP (\fIint\fP) \-\- Days digit: 1 \- 31 .IP \(bu 2 -\fBhours\fP (\fI\%int\fP) \-\- Hours digit: 0 \- 23 +\fBhours\fP (\fIint\fP) \-\- Hours digit: 0 \- 23 .IP \(bu 2 -\fBminutes\fP (\fI\%int\fP) \-\- Minutes digit: 0 \- 59 +\fBminutes\fP (\fIint\fP) \-\- Minutes digit: 0 \- 59 .IP \(bu 2 -\fBseconds\fP (\fI\%int\fP) \-\- Seconds digit: 0 \- 59 +\fBseconds\fP (\fIint\fP) \-\- Seconds digit: 0 \- 59 .UNINDENT .TP .B Returns \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270826,7 +294493,7 @@ Set the system time. .INDENT 7.0 .TP .B Parameters -\fBnewtime\fP (\fI\%str\fP) \-\- +\fBnewtime\fP (\fIstr\fP) \-\- .sp The time to set. Can be any of the following formats: .INDENT 7.0 @@ -270845,7 +294512,7 @@ HH:MM (24 hour) \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270869,9 +294536,9 @@ Shutdown a running system. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBmessage\fP (\fI\%str\fP) \-\- The message to display to the user before shutting down. +\fBmessage\fP (\fIstr\fP) \-\- The message to display to the user before shutting down. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- +\fBtimeout\fP (\fIint\fP) \-\- .sp The length of time (in seconds) that the shutdown dialog box should be displayed. While this dialog box is displayed, the shutdown can @@ -270892,7 +294559,7 @@ displaying the dialog box and cannot be stopped by Default is 5 minutes .IP \(bu 2 -\fBin_seconds\fP (\fI\%bool\fP) \-\- .INDENT 2.0 +\fBin_seconds\fP (\fIbool\fP) \-\- .INDENT 2.0 .TP .B \fBTrue\fP will cause the \fBtimeout\fP parameter to be in seconds. \fBFalse\fP will be in minutes. Default is \fBFalse\fP\&. @@ -270902,14 +294569,14 @@ New in version 2015.8.0. .IP \(bu 2 -\fBforce_close\fP (\fI\%bool\fP) \-\- \fBTrue\fP will force close all open applications. \fBFalse\fP will +\fBforce_close\fP (\fIbool\fP) \-\- \fBTrue\fP will force close all open applications. \fBFalse\fP will display a dialog box instructing the user to close open applications. Default is \fBTrue\fP\&. .IP \(bu 2 -\fBreboot\fP (\fI\%bool\fP) \-\- \fBTrue\fP restarts the computer immediately after shutdown. \fBFalse\fP +\fBreboot\fP (\fIbool\fP) \-\- \fBTrue\fP restarts the computer immediately after shutdown. \fBFalse\fP powers down the system. Default is \fBFalse\fP\&. .IP \(bu 2 -\fBonly_on_pending_reboot\fP (\fI\%bool\fP) \-\- If this is set to True, then the shutdown +\fBonly_on_pending_reboot\fP (\fIbool\fP) \-\- If this is set to True, then the shutdown will only proceed if the system reports a pending reboot. To optionally shutdown in a highstate, consider using the shutdown state instead of this module. @@ -270923,7 +294590,7 @@ pending. \fBFalse\fP will shutdown the system. Default is \fBFalse\fP\&. \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270950,7 +294617,7 @@ aborted. \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -270975,7 +294642,7 @@ Shutdown a running system with no timeout or warning. \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271000,7 +294667,7 @@ Start the Windows time service \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271025,7 +294692,7 @@ Stop the Windows time service \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271049,18 +294716,18 @@ Unjoin a computer from an Active Directory Domain. Requires a restart. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBusername\fP (\fI\%str\fP) \-\- Username of an account which is authorized to manage computer +\fBusername\fP (\fIstr\fP) \-\- Username of an account which is authorized to manage computer accounts on the domain. Needs to be a fully qualified name like \fBuser@domain.tld\fP or \fBdomain.tld\euser\fP\&. If the domain is not specified, the passed domain will be used. If the computer account doesn\(aqt need to be disabled after the computer is unjoined, this can be \fBNone\fP\&. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password of the specified user +\fBpassword\fP (\fIstr\fP) \-\- The password of the specified user .IP \(bu 2 -\fBdomain\fP (\fI\%str\fP) \-\- The domain from which to unjoin the computer. Can be \fBNone\fP +\fBdomain\fP (\fIstr\fP) \-\- The domain from which to unjoin the computer. Can be \fBNone\fP .IP \(bu 2 -\fBworkgroup\fP (\fI\%str\fP) \-\- +\fBworkgroup\fP (\fIstr\fP) \-\- .sp The workgroup to join the computer to. Default is \fBWORKGROUP\fP .sp @@ -271068,10 +294735,10 @@ New in version 2015.8.2/2015.5.7. .IP \(bu 2 -\fBdisable\fP (\fI\%bool\fP) \-\- \fBTrue\fP to disable the computer account in Active Directory. +\fBdisable\fP (\fIbool\fP) \-\- \fBTrue\fP to disable the computer account in Active Directory. Default is \fBFalse\fP .IP \(bu 2 -\fBrestart\fP (\fI\%bool\fP) \-\- +\fBrestart\fP (\fIbool\fP) \-\- .sp \fBTrue\fP will restart the computer after successful unjoin. Default is \fBFalse\fP @@ -271085,7 +294752,7 @@ New in version 2015.8.2/2015.5.7. Returns a dictionary if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -271122,13 +294789,13 @@ Add an action to a task. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task to which to add the action. +\fBname\fP (\fIstr\fP) \-\- The name of the task to which to add the action. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .IP \(bu 2 -\fBaction_type\fP (\fI\%str\fP) \-\- +\fBaction_type\fP (\fIstr\fP) \-\- .sp The type of action to add. There are three action types. Each one requires its own set of Keyword Arguments (kwargs). Valid @@ -271153,9 +294820,9 @@ Required arguments for each action_type: .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcmd\fP (\fI\%str\fP) \-\- (required) The command / executable to run. +\fBcmd\fP (\fIstr\fP) \-\- (required) The command / executable to run. .IP \(bu 2 -\fBarguments\fP (\fI\%str\fP) \-\- +\fBarguments\fP (\fIstr\fP) \-\- .sp (optional) Arguments to be passed to the command / executable. To launch a script the first command will need to be the @@ -271171,7 +294838,7 @@ Batch files do not need an interpreter and may be passed to the cmd parameter directly. .IP \(bu 2 -\fBstart_in\fP (\fI\%str\fP) \-\- (optional) The current working directory for the +\fBstart_in\fP (\fIstr\fP) \-\- (optional) The current working directory for the command. .UNINDENT .UNINDENT @@ -271183,23 +294850,23 @@ command. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBfrom\fP (\fI\%str\fP) \-\- The sender +\fBfrom\fP (\fIstr\fP) \-\- The sender .IP \(bu 2 -\fBreply_to\fP (\fI\%str\fP) \-\- Who to reply to +\fBreply_to\fP (\fIstr\fP) \-\- Who to reply to .IP \(bu 2 -\fBto\fP (\fI\%str\fP) \-\- The recipient +\fBto\fP (\fIstr\fP) \-\- The recipient .IP \(bu 2 -\fBcc\fP (\fI\%str\fP) \-\- The CC recipient +\fBcc\fP (\fIstr\fP) \-\- The CC recipient .IP \(bu 2 -\fBbcc\fP (\fI\%str\fP) \-\- The BCC recipient +\fBbcc\fP (\fIstr\fP) \-\- The BCC recipient .IP \(bu 2 -\fBsubject\fP (\fI\%str\fP) \-\- The subject of the email +\fBsubject\fP (\fIstr\fP) \-\- The subject of the email .IP \(bu 2 -\fBbody\fP (\fI\%str\fP) \-\- The Message Body of the email +\fBbody\fP (\fIstr\fP) \-\- The Message Body of the email .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The server used to send the email +\fBserver\fP (\fIstr\fP) \-\- The server used to send the email .IP \(bu 2 -\fBattachments\fP (\fI\%list\fP) \-\- A list of attachments. These will be the paths to +\fBattachments\fP (\fIlist\fP) \-\- A list of attachments. These will be the paths to the files to attach. ie: \fBattachments="[\(aqC:\eattachment1.txt\(aq, \(aqC:\eattachment2.txt\(aq]"\fP .UNINDENT @@ -271213,16 +294880,16 @@ are required. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtitle\fP (\fI\%str\fP) \-\- The dialog box title. +\fBtitle\fP (\fIstr\fP) \-\- The dialog box title. .IP \(bu 2 -\fBmessage\fP (\fI\%str\fP) \-\- The dialog box message body +\fBmessage\fP (\fIstr\fP) \-\- The dialog box message body .UNINDENT .TP .B Returns True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271239,19 +294906,19 @@ salt \(aqminion\-id\(aq task.add_action cmd=\(aqdel /Q /S C:\e\eTemp .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_task.add_trigger(name=None, location=u\(aq\e\e\(aq, trigger_type=None, trigger_enabled=True, start_date=None, start_time=None, end_date=None, end_time=None, random_delay=None, repeat_interval=None, repeat_duration=None, repeat_stop_at_duration_end=False, execution_time_limit=None, **kwargs) +.B salt.modules.win_task.add_trigger(name=None, location=u\(aq\e\e\(aq, trigger_type=None, trigger_enabled=True, start_date=None, start_time=None, end_date=None, end_time=None, random_delay=None, repeat_interval=None, repeat_duration=None, repeat_stop_at_duration_end=False, execution_time_limit=None, delay=None, **kwargs) .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task to which to add the trigger. +\fBname\fP (\fIstr\fP) \-\- The name of the task to which to add the trigger. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .IP \(bu 2 -\fBtrigger_type\fP (\fI\%str\fP) \-\- The type of trigger to create. This is defined +\fBtrigger_type\fP (\fIstr\fP) \-\- The type of trigger to create. This is defined when the trigger is created and cannot be changed later. Options are as follows: .UNINDENT @@ -271285,10 +294952,10 @@ OnSessionChange .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtrigger_enabled\fP (\fI\%bool\fP) \-\- Boolean value that indicates whether the +\fBtrigger_enabled\fP (\fIbool\fP) \-\- Boolean value that indicates whether the trigger is enabled. .IP \(bu 2 -\fBstart_date\fP (\fI\%str\fP) \-\- The date when the trigger is activated. If no value +\fBstart_date\fP (\fIstr\fP) \-\- The date when the trigger is activated. If no value is passed, the current date will be used. Can be one of the following formats: .UNINDENT @@ -271310,7 +294977,7 @@ formats: .INDENT 7.0 .TP .B Parameters -\fBstart_time\fP (\fI\%str\fP) \-\- The time when the trigger is activated. If no value +\fBstart_time\fP (\fIstr\fP) \-\- The time when the trigger is activated. If no value is passed, midnight will be used. Can be one of the following formats: .UNINDENT .INDENT 7.0 @@ -271326,7 +294993,7 @@ is passed, midnight will be used. Can be one of the following formats: .INDENT 7.0 .TP .B Parameters -\fBend_date\fP (\fI\%str\fP) \-\- The date when the trigger is deactivated. The trigger +\fBend_date\fP (\fIstr\fP) \-\- The date when the trigger is deactivated. The trigger cannot start the task after it is deactivated. Can be one of the following formats: .UNINDENT @@ -271347,7 +295014,7 @@ following formats: .INDENT 7.0 .TP .B Parameters -\fBend_time\fP (\fI\%str\fP) \-\- The time when the trigger is deactivated. If the this +\fBend_time\fP (\fIstr\fP) \-\- The time when the trigger is deactivated. If the this is not passed with \fBend_date\fP it will be set to midnight. Can be one of the following formats: .UNINDENT @@ -271364,7 +295031,7 @@ of the following formats: .INDENT 7.0 .TP .B Parameters -\fBrandom_delay\fP (\fI\%str\fP) \-\- The delay time that is randomly added to the start +\fBrandom_delay\fP (\fIstr\fP) \-\- The delay time that is randomly added to the start time of the trigger. Valid values are: .UNINDENT .INDENT 7.0 @@ -271384,7 +295051,7 @@ time of the trigger. Valid values are: .INDENT 7.0 .TP .B Parameters -\fBrepeat_interval\fP (\fI\%str\fP) \-\- The amount of time between each restart of the +\fBrepeat_interval\fP (\fIstr\fP) \-\- The amount of time between each restart of the task. Valid values are: .UNINDENT .INDENT 7.0 @@ -271402,7 +295069,7 @@ task. Valid values are: .INDENT 7.0 .TP .B Parameters -\fBrepeat_duration\fP (\fI\%str\fP) \-\- How long the pattern is repeated. Valid values +\fBrepeat_duration\fP (\fIstr\fP) \-\- How long the pattern is repeated. Valid values are: .UNINDENT .INDENT 7.0 @@ -271424,11 +295091,11 @@ Indefinitely .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBrepeat_stop_at_duration_end\fP (\fI\%bool\fP) \-\- Boolean value that indicates if a +\fBrepeat_stop_at_duration_end\fP (\fIbool\fP) \-\- Boolean value that indicates if a running instance of the task is stopped at the end of the repetition pattern duration. .IP \(bu 2 -\fBexecution_time_limit\fP (\fI\%str\fP) \-\- The maximum amount of time that the task +\fBexecution_time_limit\fP (\fIstr\fP) \-\- The maximum amount of time that the task launched by the trigger is allowed to run. Valid values are: .UNINDENT .UNINDENT @@ -271449,6 +295116,31 @@ launched by the trigger is allowed to run. Valid values are: 1 day .IP \(bu 2 3 days (default) +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +\fBdelay\fP (\fIstr\fP) \-\- +.sp +The time the trigger waits after its activation to start the task. +Valid values are: +.INDENT 7.0 +.IP \(bu 2 +15 seconds +.IP \(bu 2 +30 seconds +.IP \(bu 2 +1 minute +.IP \(bu 2 +30 minutes +.IP \(bu 2 +1 hour +.IP \(bu 2 +8 hours +.IP \(bu 2 +1 day +.UNINDENT + .UNINDENT .sp \fBkwargs\fP @@ -271460,7 +295152,7 @@ being defined. They are as follows: .INDENT 7.0 .TP .B Parameters -\fBsubscription\fP (\fI\%str\fP) \-\- An event definition in xml format that fires the +\fBsubscription\fP (\fIstr\fP) \-\- An event definition in xml format that fires the trigger. The easiest way to get this would is to create an event in windows task scheduler and then copy the xml text. .UNINDENT @@ -271473,7 +295165,7 @@ No special parameters required. .INDENT 7.0 .TP .B Parameters -\fBdays_interval\fP (\fI\%int\fP) \-\- The interval between days in the schedule. An +\fBdays_interval\fP (\fIint\fP) \-\- The interval between days in the schedule. An interval of 1 produces a daily schedule. An interval of 2 produces an every\-other day schedule. If no interval is specified, 1 is used. Valid entries are 1 \- 999. @@ -271483,7 +295175,7 @@ entries are 1 \- 999. .INDENT 7.0 .TP .B Parameters -\fBweeks_interval\fP (\fI\%int\fP) \-\- The interval between weeks in the schedule. +\fBweeks_interval\fP (\fIint\fP) \-\- The interval between weeks in the schedule. An interval of 1 produces a weekly schedule. An interval of 2 produces an every\-other week schedule. If no interval is specified, 1 is used. Valid entries are 1 \- 52. @@ -271501,16 +295193,16 @@ entries are the names of the days of the week. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBmonths_of_year\fP (\fI\%list\fP) \-\- Sets the months of the year during which the +\fBmonths_of_year\fP (\fIlist\fP) \-\- Sets the months of the year during which the task runs. Should be a list. ie: [\(aqJanuary\(aq,\(aqJuly\(aq]. Valid entries are the full names of all the months. .IP \(bu 2 -\fBdays_of_month\fP (\fI\%list\fP) \-\- Sets the days of the month during which the +\fBdays_of_month\fP (\fIlist\fP) \-\- Sets the days of the month during which the task runs. Should be a list. ie: [1, 15, \(aqLast\(aq]. Options are all days of the month 1 \- 31 and the word \(aqLast\(aq to indicate the last day of the month. .IP \(bu 2 -\fBlast_day_of_month\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the +\fBlast_day_of_month\fP (\fIbool\fP) \-\- Boolean value that indicates that the task runs on the last day of the month regardless of the actual date of that day. .UNINDENT @@ -271526,11 +295218,11 @@ including the word \(aqLast\(aq in the list of days, or setting the parameter .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBmonths_of_year\fP (\fI\%list\fP) \-\- Sets the months of the year during which the +\fBmonths_of_year\fP (\fIlist\fP) \-\- Sets the months of the year during which the task runs. Should be a list. ie: [\(aqJanuary\(aq,\(aqJuly\(aq]. Valid entries are the full names of all the months. .IP \(bu 2 -\fBweeks_of_month\fP (\fI\%list\fP) \-\- Sets the weeks of the month during which the +\fBweeks_of_month\fP (\fIlist\fP) \-\- Sets the weeks of the month during which the task runs. Should be a list. ie: [\(aqFirst\(aq,\(aqThird\(aq]. Valid options are: .UNINDENT .UNINDENT @@ -271549,10 +295241,10 @@ Fourth .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBlast_week_of_month\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the task +\fBlast_week_of_month\fP (\fIbool\fP) \-\- Boolean value that indicates that the task runs on the last week of the month. .IP \(bu 2 -\fBdays_of_week\fP (\fI\%list\fP) \-\- Sets the days of the week during which the task +\fBdays_of_week\fP (\fIlist\fP) \-\- Sets the days of the week during which the task runs. Should be a list. ie: [\(aqMonday\(aq,\(aqWednesday\(aq,\(aqFriday\(aq]. Valid entries are the names of the days of the week. .UNINDENT @@ -271576,12 +295268,12 @@ No special parameters required. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsession_user_name\fP (\fI\%str\fP) \-\- Sets the user for the Terminal Server +\fBsession_user_name\fP (\fIstr\fP) \-\- Sets the user for the Terminal Server session. When a session state change is detected for this user, a task is started. To detect session status change for any user, do not pass this parameter. .IP \(bu 2 -\fBstate_change\fP (\fI\%str\fP) \-\- Sets the kind of Terminal Server session change +\fBstate_change\fP (\fIstr\fP) \-\- Sets the kind of Terminal Server session change that would trigger a task launch. Valid options are: .UNINDENT .UNINDENT @@ -271614,7 +295306,7 @@ idiosyncrasies. Therefore, time values in some formats (\fB%H:%M:%S\fP and True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271638,9 +295330,9 @@ Remove all triggers from the task. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task from which to clear all triggers. +\fBname\fP (\fIstr\fP) \-\- The name of the task from which to clear all triggers. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -271649,7 +295341,7 @@ Default is \(aq\e\(aq which is the root for the task scheduler True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271673,10 +295365,10 @@ Create a folder in which to create tasks. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the folder. This will be displayed in the task +\fBname\fP (\fIstr\fP) \-\- The name of the folder. This will be displayed in the task scheduler. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location in which to +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location in which to create the folder. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -271685,7 +295377,7 @@ scheduler (C:WindowsSystem32tasks). True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271718,29 +295410,29 @@ arguments that are not listed here. For additional arguments see: .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task. This will be displayed in the task +\fBname\fP (\fIstr\fP) \-\- The name of the task. This will be displayed in the task scheduler. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location in which to +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location in which to create the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .IP \(bu 2 -\fBuser_name\fP (\fI\%str\fP) \-\- The user account under which to run the task. To +\fBuser_name\fP (\fIstr\fP) \-\- The user account under which to run the task. To specify the \(aqSystem\(aq account, use \(aqSystem\(aq. The password will be ignored. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password to use for authentication. This should set +\fBpassword\fP (\fIstr\fP) \-\- The password to use for authentication. This should set the task to run whether the user is logged in or not, but is currently not working. .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- If the task exists, overwrite the existing task. +\fBforce\fP (\fIbool\fP) \-\- If the task exists, overwrite the existing task. .UNINDENT .TP .B Returns True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271764,24 +295456,24 @@ Create a task based on XML. Source can be a file or a string of XML. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task. This will be displayed in the task +\fBname\fP (\fIstr\fP) \-\- The name of the task. This will be displayed in the task scheduler. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location in which to +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location in which to create the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .IP \(bu 2 -\fBxml_text\fP (\fI\%str\fP) \-\- A string of xml representing the task to be created. +\fBxml_text\fP (\fIstr\fP) \-\- A string of xml representing the task to be created. This will be overridden by \fIxml_path\fP if passed. .IP \(bu 2 -\fBxml_path\fP (\fI\%str\fP) \-\- The path to an XML file on the local system containing +\fBxml_path\fP (\fIstr\fP) \-\- The path to an XML file on the local system containing the xml that defines the task. This will override \fIxml_text\fP .IP \(bu 2 -\fBuser_name\fP (\fI\%str\fP) \-\- The user account under which to run the task. To +\fBuser_name\fP (\fIstr\fP) \-\- The user account under which to run the task. To specify the \(aqSystem\(aq account, use \(aqSystem\(aq. The password will be ignored. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password to use for authentication. This should set +\fBpassword\fP (\fIstr\fP) \-\- The password to use for authentication. This should set the task to run whether the user is logged in or not, but is currently not working. .UNINDENT @@ -271790,7 +295482,7 @@ not working. True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271814,9 +295506,9 @@ Delete a folder from the task scheduler. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the folder to delete. +\fBname\fP (\fIstr\fP) \-\- The name of the folder to delete. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the folder. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -271825,7 +295517,7 @@ folder. Default is \(aq\e\(aq which is the root for the task scheduler True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271849,9 +295541,9 @@ Delete a task from the task scheduler. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task to delete. +\fBname\fP (\fIstr\fP) \-\- The name of the task to delete. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -271860,7 +295552,7 @@ Default is \(aq\e\(aq which is the root for the task scheduler True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -271884,18 +295576,18 @@ Edit the parameters of a task. Triggers and Actions cannot be edited yet. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task. This will be displayed in the task +\fBname\fP (\fIstr\fP) \-\- The name of the task. This will be displayed in the task scheduler. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location in which to +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location in which to create the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .IP \(bu 2 -\fBuser_name\fP (\fI\%str\fP) \-\- The user account under which to run the task. To +\fBuser_name\fP (\fIstr\fP) \-\- The user account under which to run the task. To specify the \(aqSystem\(aq account, use \(aqSystem\(aq. The password will be ignored. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password to use for authentication. This should set +\fBpassword\fP (\fIstr\fP) \-\- The password to use for authentication. This should set the task to run whether the user is logged in or not, but is currently not working. .UNINDENT @@ -271917,19 +295609,19 @@ password parameter is ignored. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBdescription\fP (\fI\%str\fP) \-\- A string representing the text that will be +\fBdescription\fP (\fIstr\fP) \-\- A string representing the text that will be displayed in the description field in the task scheduler. .IP \(bu 2 -\fBenabled\fP (\fI\%bool\fP) \-\- A boolean value representing whether or not the task is +\fBenabled\fP (\fIbool\fP) \-\- A boolean value representing whether or not the task is enabled. .IP \(bu 2 -\fBhidden\fP (\fI\%bool\fP) \-\- A boolean value representing whether or not the task is +\fBhidden\fP (\fIbool\fP) \-\- A boolean value representing whether or not the task is hidden. .IP \(bu 2 -\fBrun_if_idle\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the Task +\fBrun_if_idle\fP (\fIbool\fP) \-\- Boolean value that indicates that the Task Scheduler will run the task only if the computer is in an idle state. .IP \(bu 2 -\fBidle_duration\fP (\fI\%str\fP) \-\- A value that indicates the amount of time that the +\fBidle_duration\fP (\fIstr\fP) \-\- A value that indicates the amount of time that the computer must be in an idle state before the task is run. Valid values are: .UNINDENT @@ -271951,7 +295643,7 @@ are: .INDENT 7.0 .TP .B Parameters -\fBidle_wait_timeout\fP (\fI\%str\fP) \-\- A value that indicates the amount of time that +\fBidle_wait_timeout\fP (\fIstr\fP) \-\- A value that indicates the amount of time that the Task Scheduler will wait for an idle condition to occur. Valid values are: .UNINDENT @@ -271978,35 +295670,35 @@ Do not wait .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBidle_stop_on_end\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the Task +\fBidle_stop_on_end\fP (\fIbool\fP) \-\- Boolean value that indicates that the Task Scheduler will terminate the task if the idle condition ends before the task is completed. .IP \(bu 2 -\fBidle_restart\fP (\fI\%bool\fP) \-\- Boolean value that indicates whether the task is +\fBidle_restart\fP (\fIbool\fP) \-\- Boolean value that indicates whether the task is restarted when the computer cycles into an idle condition more than once. .IP \(bu 2 -\fBac_only\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the Task Scheduler +\fBac_only\fP (\fIbool\fP) \-\- Boolean value that indicates that the Task Scheduler will launch the task only while on AC power. .IP \(bu 2 -\fBstop_if_on_batteries\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the task +\fBstop_if_on_batteries\fP (\fIbool\fP) \-\- Boolean value that indicates that the task will be stopped if the computer begins to run on battery power. .IP \(bu 2 -\fBwake_to_run\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the Task +\fBwake_to_run\fP (\fIbool\fP) \-\- Boolean value that indicates that the Task Scheduler will wake the computer when it is time to run the task. .IP \(bu 2 -\fBrun_if_network\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the Task +\fBrun_if_network\fP (\fIbool\fP) \-\- Boolean value that indicates that the Task Scheduler will run the task only when a network is available. .IP \(bu 2 \fBnetwork_id\fP (\fIguid\fP) \-\- GUID value that identifies a network profile. .IP \(bu 2 -\fBnetwork_name\fP (\fI\%str\fP) \-\- Sets the name of a network profile. The name is +\fBnetwork_name\fP (\fIstr\fP) \-\- Sets the name of a network profile. The name is used for display purposes. .IP \(bu 2 -\fBallow_demand_start\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the task +\fBallow_demand_start\fP (\fIbool\fP) \-\- Boolean value that indicates that the task can be started by using either the Run command or the Context menu. .IP \(bu 2 -\fBstart_when_available\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the Task +\fBstart_when_available\fP (\fIbool\fP) \-\- Boolean value that indicates that the Task Scheduler can start the task at any time after its scheduled time has passed. .IP \(bu 2 @@ -272037,7 +295729,7 @@ False (to disable) .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBrestart_count\fP (\fI\%int\fP) \-\- The number of times the Task Scheduler will +\fBrestart_count\fP (\fIint\fP) \-\- The number of times the Task Scheduler will attempt to restart the task. Valid values are integers 1 \- 999. .IP \(bu 2 \fBexecution_time_limit\fP \-\- The amount of time allowed to complete the @@ -272067,7 +295759,7 @@ False (to disable) .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBforce_stop\fP (\fI\%bool\fP) \-\- Boolean value that indicates that the task may be +\fBforce_stop\fP (\fIbool\fP) \-\- Boolean value that indicates that the task may be terminated by using TerminateProcess. .IP \(bu 2 \fBdelete_after\fP \-\- The amount of time that the Task Scheduler will @@ -272092,7 +295784,7 @@ Immediately .INDENT 7.0 .TP .B Parameters -\fBmultiple_instances\fP (\fI\%str\fP) \-\- Sets the policy that defines how the Task +\fBmultiple_instances\fP (\fIstr\fP) \-\- Sets the policy that defines how the Task Scheduler deals with multiple instances of the task. Valid values are: .UNINDENT .INDENT 7.0 @@ -272111,7 +295803,7 @@ Stop Existing True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -272135,9 +295827,9 @@ Get the details about a task in the task scheduler. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task for which to return the status +\fBname\fP (\fIstr\fP) \-\- The name of the task for which to return the status .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272146,7 +295838,7 @@ Default is \(aq\e\(aq which is the root for the task scheduler .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -272170,9 +295862,9 @@ List all actions that pertain to a task in the specified location. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task for which list actions. +\fBname\fP (\fIstr\fP) \-\- The name of the task for which list actions. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task from which to list actions. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272181,7 +295873,7 @@ task scheduler (C:WindowsSystem32tasks). Returns a list of actions. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -272203,7 +295895,7 @@ List all folders located in a specific location in the task scheduler. .INDENT 7.0 .TP .B Parameters -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the folder from which you +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the folder from which you want to list tasks. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .TP @@ -272211,7 +295903,7 @@ scheduler (C:WindowsSystem32tasks). Returns a list of folders. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -272233,7 +295925,7 @@ List all tasks located in a specific location in the task scheduler. .INDENT 7.0 .TP .B Parameters -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the folder from which you +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the folder from which you want to list tasks. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .TP @@ -272241,7 +295933,7 @@ scheduler (C:WindowsSystem32tasks). Returns a list of tasks. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -272265,9 +295957,9 @@ List all triggers that pertain to a task in the specified location. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task for which list triggers. +\fBname\fP (\fIstr\fP) \-\- The name of the task for which list triggers. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task from which to list triggers. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272276,7 +295968,7 @@ task scheduler (C:WindowsSystem32tasks). Returns a list of triggers. .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -272300,9 +295992,9 @@ Run a scheduled task manually. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task to run. +\fBname\fP (\fIstr\fP) \-\- The name of the task to run. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272311,7 +296003,7 @@ Default is \(aq\e\(aq which is the root for the task scheduler True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -272335,9 +296027,9 @@ Run a scheduled task and return when the task finishes .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task to run. +\fBname\fP (\fIstr\fP) \-\- The name of the task to run. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272346,7 +296038,7 @@ Default is \(aq\e\(aq which is the root for the task scheduler True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -272370,9 +296062,9 @@ Determine the status of a task. Is it Running, Queued, Ready, etc. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task for which to return the status +\fBname\fP (\fIstr\fP) \-\- The name of the task for which to return the status .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272419,9 +296111,9 @@ Stop a scheduled task. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the task to stop. +\fBname\fP (\fIstr\fP) \-\- The name of the task to stop. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- A string value representing the location of the task. +\fBlocation\fP (\fIstr\fP) \-\- A string value representing the location of the task. Default is \(aq\e\(aq which is the root for the task scheduler (C:WindowsSystem32tasks). .UNINDENT @@ -272430,7 +296122,7 @@ Default is \(aq\e\(aq which is the root for the task scheduler True if successful, False if unsuccessful .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -272511,7 +296203,7 @@ Get current numeric timezone offset from UTC (i.e. \-0700) Offset from UTC .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -272536,7 +296228,7 @@ Get current timezone (i.e. America/Denver) Timezone in unix format .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -272561,7 +296253,7 @@ Get current timezone (i.e. PST, MDT, etc) An abbreviated timezone code .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -272587,14 +296279,14 @@ New in version 2018.3.3. .INDENT 7.0 .TP .B Parameters -\fBunix_style\fP (\fI\%bool\fP) \-\- \fBTrue\fP returns Unix\-style timezones. \fBFalse\fP returns +\fBunix_style\fP (\fIbool\fP) \-\- \fBTrue\fP returns Unix\-style timezones. \fBFalse\fP returns Windows\-style timezones. Default is \fBTrue\fP .TP .B Returns A list of supported timezones .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -272645,13 +296337,13 @@ Sets the timezone using the tzutil. .INDENT 7.0 .TP .B Parameters -\fBtimezone\fP (\fI\%str\fP) \-\- A valid timezone +\fBtimezone\fP (\fIstr\fP) \-\- A valid timezone .TP .B Returns \fBTrue\fP if successful, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .TP .B Raises \fBCommandExecutionError\fP \-\- If invalid timezone is passed @@ -272677,14 +296369,14 @@ running state checks. .INDENT 7.0 .TP .B Parameters -\fBtimezone\fP (\fI\%str\fP) \-\- The timezone to compare. This can be in Windows or Unix format. Can +\fBtimezone\fP (\fIstr\fP) \-\- The timezone to compare. This can be in Windows or Unix format. Can be any of the values returned by the \fBtimezone.list\fP function .TP .B Returns \fBTrue\fP if they match, otherwise \fBFalse\fP .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp Example: @@ -272699,346 +296391,6 @@ salt \(aq*\(aq timezone.zone_compare \(aqAmerica/Denver\(aq .UNINDENT .UNINDENT .UNINDENT -.SS salt.modules.win_update -.sp -Module for running windows updates. -.sp -This module is being deprecated and will be removed in Salt Fluorine. Please use -the \fBwin_wua\fP module instead. -.INDENT 0.0 -.TP -.B depends -.INDENT 7.0 -.IP \(bu 2 -win32com -.IP \(bu 2 -win32con -.IP \(bu 2 -win32api -.IP \(bu 2 -pywintypes -.UNINDENT -.UNINDENT -.sp -New in version 2014.7.0. - -.sp -Set windows updates to run by category. Default behavior is to install -all updates that do not require user interaction to complete. -Optionally set \fBcategories\fP to a category of your choice to only -install certain updates. Default is to set to install all available but driver updates. -The following example will install all Security and Critical Updates, -and download but not install standard updates. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq win_update.install_updates categories="[\(aqCritical Updates\(aq, \(aqSecurity Updates\(aq]" -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -You can also specify a number of features about the update to have a -fine grain approach to specific types of updates. These are the following -features/states of updates available for configuring: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -\(aqUI\(aq \- User interaction required, skipped by default -\(aqdownloaded\(aq \- Already downloaded, included by default -\(aqpresent\(aq \- Present on computer, included by default -\(aqinstalled\(aq \- Already installed, skipped by default -\(aqreboot\(aq \- Reboot required, included by default -\(aqhidden\(aq \- Skip hidden updates, skipped by default -\(aqsoftware\(aq \- Software updates, included by default -\(aqdriver\(aq \- Driver updates, included by default -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -The following example installs all updates that don\(aqt require a reboot: -.. code\-block:: bash -.INDENT 0.0 -.INDENT 3.5 -salt \(aq*\(aq win_update.install_updates skips="[{\(aqreboot\(aq:True}]" -.UNINDENT -.UNINDENT -.sp -Once installed Salt will return a similar output: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -2 : Windows Server 2012 Update (KB123456) -4 : Internet Explorer Security Update (KB098765) -2 : Malware Definition Update (KB321456) -\&... -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -The number at the beginning of the line is an OperationResultCode from the Windows Update Agent, -it\(aqs enumeration is described here: \fI\%https://msdn.microsoft.com/en\-us/library/windows/desktop/aa387095(v=vs.85).aspx\fP\&. -The result code is then followed by the update name and its KB identifier. -.INDENT 0.0 -.TP -.B class salt.modules.win_update.PyWinUpdater(categories=None, skipUI=True, skipDownloaded=False, skipInstalled=True, skipReboot=False, skipPresent=False, skipSoftwareUpdates=False, skipDriverUpdates=False, skipHidden=True) -.INDENT 7.0 -.TP -.B AutoSearch() -this function generates a search string. simplifying the search function while -still providing as many features as possible. -.UNINDENT -.INDENT 7.0 -.TP -.B Download() -.UNINDENT -.INDENT 7.0 -.TP -.B GetAvailableCategories() -.UNINDENT -.INDENT 7.0 -.TP -.B GetCategories() -.UNINDENT -.INDENT 7.0 -.TP -.B GetDownloadResults() -.UNINDENT -.INDENT 7.0 -.TP -.B GetInstallationResults() -this gets results of installation process. -.UNINDENT -.INDENT 7.0 -.TP -.B GetInstallationResultsPretty() -converts the installation results into a pretty print. -.UNINDENT -.INDENT 7.0 -.TP -.B GetSearchResults(fields=None) -Reduce full updates information to the most important information. -.UNINDENT -.INDENT 7.0 -.TP -.B GetSearchResultsVerbose() -.UNINDENT -.INDENT 7.0 -.TP -.B Install() -.UNINDENT -.INDENT 7.0 -.TP -.B Search(searchString) -.UNINDENT -.INDENT 7.0 -.TP -.B SetCategories(categories) -.UNINDENT -.INDENT 7.0 -.TP -.B SetSkip(skip, state) -.UNINDENT -.INDENT 7.0 -.TP -.B SetSkips(skips) -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_update.download_updates(skips=None, retries=5, categories=None) -Downloads all available updates, skipping those that require user -interaction. -.sp -Various aspects of the updates can be included or excluded. this feature is -still in development. -.INDENT 7.0 -.TP -.B retries -Number of retries to make before giving up. This is total, not per -step. -.TP -.B categories -Specify the categories to update. Must be passed as a list. -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq win_update.download_updates categories="[\(aqUpdates\(aq]" -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Categories include the following: -.INDENT 7.0 -.IP \(bu 2 -Updates -.IP \(bu 2 -Windows 7 -.IP \(bu 2 -Critical Updates -.IP \(bu 2 -Security Updates -.IP \(bu 2 -Update Rollups -.UNINDENT -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Normal Usage -salt \(aq*\(aq win_update.download_updates - -# Download critical updates only -salt \(aq*\(aq win_update.download_updates categories="[\(aqCritical Updates\(aq]" -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_update.install_updates(skips=None, retries=5, categories=None) -Downloads and installs all available updates, skipping those that require -user interaction. -.sp -Add \fBcached\fP to only install those updates which have already been downloaded. -.sp -you can set the maximum number of retries to \fBn\fP in the search process by -adding: \fBretries=n\fP -.sp -various aspects of the updates can be included or excluded. This function is -still under development. -.INDENT 7.0 -.TP -.B retries -Number of retries to make before giving up. This is total, not per -step. -.TP -.B categories -Specify the categories to install. Must be passed as a list. -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq win_update.install_updates categories="[\(aqUpdates\(aq]" -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Categories include the following: -.INDENT 7.0 -.IP \(bu 2 -Updates -.IP \(bu 2 -Windows 7 -.IP \(bu 2 -Critical Updates -.IP \(bu 2 -Security Updates -.IP \(bu 2 -Update Rollups -.UNINDENT -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Normal Usage -salt \(aq*\(aq win_update.install_updates - -# Install all critical updates -salt \(aq*\(aq win_update.install_updates categories="[\(aqCritical Updates\(aq]" -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_update.list_updates(verbose=False, fields=None, skips=None, retries=5, categories=None) -Returns a summary of available updates, grouped into their non\-mutually -exclusive categories. -.INDENT 7.0 -.TP -.B verbose -Return full set of results, including several fields from the COM. -.TP -.B fields -Return a list of specific fields for each update. The optional -values here are those at the root level of the verbose list. This -is superseded by the verbose option. -.TP -.B retries -Number of retries to make before giving up. This is total, not per -step. -.TP -.B categories -Specify the categories to list. Must be passed as a list. -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq win_update.list_updates categories="[\(aqUpdates\(aq]" -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Categories include, but are not limited to, the following: -.INDENT 7.0 -.IP \(bu 2 -Updates -.IP \(bu 2 -Windows 7 -.IP \(bu 2 -Critical Updates -.IP \(bu 2 -Security Updates -.IP \(bu 2 -Update Rollups -.UNINDENT -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Normal Usage -salt \(aq*\(aq win_update.list_updates - -# Specific Fields -salt \(aq*\(aq win_update.list_updates fields="[\(aqTitle\(aq, \(aqDescription\(aq]" - -# List all critical updates list in verbose detail -salt \(aq*\(aq win_update.list_updates categories="[\(aqCritical Updates\(aq]" verbose=True -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT .SS salt.modules.win_useradd .sp Module for managing Windows Users @@ -273093,27 +296445,27 @@ Add a user to the minion. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- User name +\fBname\fP (\fIstr\fP) \-\- User name .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- User\(aqs password in plain text. +\fBpassword\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- User\(aqs password in plain text. .IP \(bu 2 -\fBfullname\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The user\(aqs full name. +\fBfullname\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The user\(aqs full name. .IP \(bu 2 -\fBdescription\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- A brief description of the user account. +\fBdescription\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- A brief description of the user account. .IP \(bu 2 -\fBgroups\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- A list of groups to add the user to. +\fBgroups\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- A list of groups to add the user to. (see chgroups) .IP \(bu 2 -\fBhome\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The path to the user\(aqs home directory. +\fBhome\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The path to the user\(aqs home directory. .IP \(bu 2 -\fBhomedrive\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The drive letter to assign to the home +\fBhomedrive\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The drive letter to assign to the home directory. Must be the Drive Letter followed by a colon. ie: U: .IP \(bu 2 -\fBprofile\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- An explicit path to a profile. Can be a UNC or +\fBprofile\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- An explicit path to a profile. Can be a UNC or a folder on the system. If left blank, windows uses it\(aqs default profile directory. .IP \(bu 2 -\fBlogonscript\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- Path to a login script to run when the user +\fBlogonscript\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- Path to a login script to run when the user logs on. .UNINDENT .TP @@ -273121,7 +296473,7 @@ logs on. True if successful. False is unsuccessful. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273145,16 +296497,16 @@ Add user to a group .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name to add to the group +\fBname\fP (\fIstr\fP) \-\- The user name to add to the group .IP \(bu 2 -\fBgroup\fP (\fI\%str\fP) \-\- The name of the group to which to add the user +\fBgroup\fP (\fIstr\fP) \-\- The name of the group to which to add the user .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273178,16 +296530,16 @@ Change the full name of the user .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name for which to change the full name +\fBname\fP (\fIstr\fP) \-\- The user name for which to change the full name .IP \(bu 2 -\fBfullname\fP (\fI\%str\fP) \-\- The new value for the full name +\fBfullname\fP (\fIstr\fP) \-\- The new value for the full name .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273212,13 +296564,13 @@ member of only the specified groups .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name for which to change groups +\fBname\fP (\fIstr\fP) \-\- The user name for which to change groups .IP \(bu 2 -\fBgroups\fP (\fI\%str\fP\fI, \fP\fI\%list\fP) \-\- A single group or a list of groups to assign to the +\fBgroups\fP (\fIstr\fP\fI, \fP\fIlist\fP) \-\- A single group or a list of groups to assign to the user. For multiple groups this can be a comma delimited string or a list. .IP \(bu 2 -\fBappend\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- True adds the passed groups to the user\(aqs +\fBappend\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- True adds the passed groups to the user\(aqs current groups. False sets the user\(aqs groups to the passed groups only. Default is True. .UNINDENT @@ -273227,7 +296579,7 @@ only. Default is True. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273252,16 +296604,16 @@ to the new home directory if the old home directory exist. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the user whose home directory you wish to change +\fBname\fP (\fIstr\fP) \-\- The name of the user whose home directory you wish to change .IP \(bu 2 -\fBhome\fP (\fI\%str\fP) \-\- The new location of the home directory +\fBhome\fP (\fIstr\fP) \-\- The new location of the home directory .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273285,16 +296637,16 @@ Change the profile directory of the user .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the user whose profile you wish to change +\fBname\fP (\fIstr\fP) \-\- The name of the user whose profile you wish to change .IP \(bu 2 -\fBprofile\fP (\fI\%str\fP) \-\- The new location of the profile +\fBprofile\fP (\fIstr\fP) \-\- The new location of the profile .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273322,7 +296674,7 @@ New in version 2015.5.6. .INDENT 7.0 .TP .B Parameters -\fBsam\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- False returns just the username without any domain +\fBsam\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- False returns just the username without any domain notation. True returns the domain with the username in the SAM format. Ie: \fBdomain\eusername\fP .TP @@ -273330,7 +296682,7 @@ format. Ie: \fBdomain\eusername\fP Returns username .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -273354,13 +296706,13 @@ Remove a user from the minion .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the user to delete +\fBname\fP (\fIstr\fP) \-\- The name of the user to delete .IP \(bu 2 -\fBpurge\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- Boolean value indicating that the user profile +\fBpurge\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- Boolean value indicating that the user profile should also be removed when the user account is deleted. If set to True the profile will be removed. Default is False. .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- Boolean value indicating that the user account +\fBforce\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- Boolean value indicating that the user account should be deleted even if the user is logged in. True will log the user out and delete user. .UNINDENT @@ -273369,7 +296721,7 @@ user out and delete user. True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273391,13 +296743,13 @@ Get the Security ID for the user .INDENT 7.0 .TP .B Parameters -\fBusername\fP (\fI\%str\fP) \-\- The user name for which to look up the SID +\fBusername\fP (\fIstr\fP) \-\- The user name for which to look up the SID .TP .B Returns The user SID .TP .B Return type -\fI\%str\fP +str .UNINDENT .sp CLI Example: @@ -273419,14 +296771,14 @@ Return the list of all info for all users .INDENT 7.0 .TP .B Parameters -\fBrefresh\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- Refresh the cached user information. Useful +\fBrefresh\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- Refresh the cached user information. Useful when used from within a state function. Default is False. .TP .B Returns A dictionary containing information about all users on the system .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -273448,7 +296800,7 @@ Return user information .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- Username for which to display information +\fBname\fP (\fIstr\fP) \-\- Username for which to display information .TP .B Returns .INDENT 7.0 @@ -273502,7 +296854,7 @@ gid .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -273524,13 +296876,13 @@ Return a list of groups the named user belongs to .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The user name for which to list groups +\fBname\fP (\fIstr\fP) \-\- The user name for which to list groups .TP .B Returns A list of groups to which the user belongs .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -273555,7 +296907,7 @@ Return a list of all users on Windows A list of all users on the system .TP .B Return type -\fI\%list\fP +list .UNINDENT .sp CLI Example: @@ -273579,16 +296931,16 @@ Remove user from a group .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name to remove from the group +\fBname\fP (\fIstr\fP) \-\- The user name to remove from the group .IP \(bu 2 -\fBgroup\fP (\fI\%str\fP) \-\- The name of the group from which to remove the user +\fBgroup\fP (\fIstr\fP) \-\- The name of the group from which to remove the user .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273612,16 +296964,16 @@ Change the username for a named user .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name to change +\fBname\fP (\fIstr\fP) \-\- The user name to change .IP \(bu 2 -\fBnew_name\fP (\fI\%str\fP) \-\- The new name for the current user +\fBnew_name\fP (\fIstr\fP) \-\- The new name for the current user .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273645,16 +296997,16 @@ Set the user\(aqs password .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name for which to set the password +\fBname\fP (\fIstr\fP) \-\- The user name for which to set the password .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The new password +\fBpassword\fP (\fIstr\fP) \-\- The new password .UNINDENT .TP .B Returns True if successful, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273682,43 +297034,43 @@ New in version 2015.8.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The user name to update. +\fBname\fP (\fIstr\fP) \-\- The user name to update. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- New user password in plain text. +\fBpassword\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- New user password in plain text. .IP \(bu 2 -\fBfullname\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The user\(aqs full name. +\fBfullname\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The user\(aqs full name. .IP \(bu 2 -\fBdescription\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- A brief description of the user account. +\fBdescription\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- A brief description of the user account. .IP \(bu 2 -\fBhome\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The path to the user\(aqs home directory. +\fBhome\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The path to the user\(aqs home directory. .IP \(bu 2 -\fBhomedrive\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The drive letter to assign to the home +\fBhomedrive\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The drive letter to assign to the home directory. Must be the Drive Letter followed by a colon. ie: U: .IP \(bu 2 -\fBlogonscript\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The path to the logon script. +\fBlogonscript\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The path to the logon script. .IP \(bu 2 -\fBprofile\fP (\fI\%str\fP\fI, \fP\fIoptional\fP) \-\- The path to the user\(aqs profile directory. +\fBprofile\fP (\fIstr\fP\fI, \fP\fIoptional\fP) \-\- The path to the user\(aqs profile directory. .IP \(bu 2 \fBexpiration_date\fP (\fIdate\fP\fI, \fP\fIoptional\fP) \-\- The date and time when the account expires. Can be a valid date/time string. To set to never expire pass the string \(aqNever\(aq. .IP \(bu 2 -\fBexpired\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- Pass \fITrue\fP to expire the account. The user +\fBexpired\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- Pass \fITrue\fP to expire the account. The user will be prompted to change their password at the next logon. Pass \fIFalse\fP to mark the account as \(aqnot expired\(aq. You can\(aqt use this to negate the expiration if the expiration was caused by the account expiring. You\(aqll have to change the \fIexpiration_date\fP as well. .IP \(bu 2 -\fBaccount_disabled\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- True disables the account. False +\fBaccount_disabled\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- True disables the account. False enables the account. .IP \(bu 2 -\fBunlock_account\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- True unlocks a locked user account. +\fBunlock_account\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- True unlocks a locked user account. False is ignored. .IP \(bu 2 -\fBpassword_never_expires\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- True sets the password to never +\fBpassword_never_expires\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- True sets the password to never expire. False allows the password to expire. .IP \(bu 2 -\fBdisallow_change_password\fP (\fI\%bool\fP\fI, \fP\fIoptional\fP) \-\- True blocks the user from +\fBdisallow_change_password\fP (\fIbool\fP\fI, \fP\fIoptional\fP) \-\- True blocks the user from changing the password. False allows the user to change the password. .UNINDENT .TP @@ -273726,7 +297078,7 @@ changing the password. False allows the user to change the password. True if successful. False is unsuccessful. .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Example: @@ -273827,11 +297179,11 @@ options than \fI\%list()\fP\&. Good for finding a specific GUID or KB. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsoftware\fP (\fI\%bool\fP) \-\- Include software updates in the results (default is True) +\fBsoftware\fP (\fIbool\fP) \-\- Include software updates in the results (default is True) .IP \(bu 2 -\fBdrivers\fP (\fI\%bool\fP) \-\- Include driver updates in the results (default is True) +\fBdrivers\fP (\fIbool\fP) \-\- Include driver updates in the results (default is True) .IP \(bu 2 -\fBsummary\fP (\fI\%bool\fP) \-\- .INDENT 2.0 +\fBsummary\fP (\fIbool\fP) \-\- .INDENT 2.0 .IP \(bu 2 True: Return a summary of updates available for each category. .IP \(bu 2 @@ -273839,15 +297191,15 @@ False (default): Return a detailed list of available updates. .UNINDENT .IP \(bu 2 -\fBskip_installed\fP (\fI\%bool\fP) \-\- Skip updates that are already installed. Default is False. +\fBskip_installed\fP (\fIbool\fP) \-\- Skip updates that are already installed. Default is False. .IP \(bu 2 -\fBskip_hidden\fP (\fI\%bool\fP) \-\- Skip updates that have been hidden. Default is True. +\fBskip_hidden\fP (\fIbool\fP) \-\- Skip updates that have been hidden. Default is True. .IP \(bu 2 -\fBskip_mandatory\fP (\fI\%bool\fP) \-\- Skip mandatory updates. Default is False. +\fBskip_mandatory\fP (\fIbool\fP) \-\- Skip mandatory updates. Default is False. .IP \(bu 2 -\fBskip_reboot\fP (\fI\%bool\fP) \-\- Skip updates that require a reboot. Default is False. +\fBskip_reboot\fP (\fIbool\fP) \-\- Skip updates that require a reboot. Default is False. .IP \(bu 2 -\fBcategories\fP (\fI\%list\fP) \-\- +\fBcategories\fP (\fIlist\fP) \-\- .sp Specify the categories to list. Must be passed as a list. All categories returned by default. @@ -273883,7 +297235,7 @@ Windows Defender .UNINDENT .IP \(bu 2 -\fBseverities\fP (\fI\%list\fP) \-\- +\fBseverities\fP (\fIlist\fP) \-\- .sp Specify the severities to include. Must be passed as a list. All severities returned by default. @@ -273940,7 +297292,7 @@ Summary of Updates: .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -273982,7 +297334,7 @@ use this function by using list_updates and setting install=True. .INDENT 7.0 .TP .B Parameters -\fBnames\fP (\fI\%str\fP\fI, \fP\fI\%list\fP) \-\- A single update or a list of updates to download. This can be any +\fBnames\fP (\fIstr\fP\fI, \fP\fIlist\fP) \-\- A single update or a list of updates to download. This can be any combination of GUIDs, KB numbers, or names. GUIDs or KBs are preferred. .UNINDENT @@ -274000,7 +297352,7 @@ in the names parameter A dictionary containing the details about the downloaded updates .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -274018,84 +297370,6 @@ salt \(aq*\(aq win_wua.download names=[\(aq12345678\-abcd\-1234\-abcd\-123456789 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_wua.download_update(name) -Deprecated since version 2017.7.0: Use \fI\%download()\fP instead - -.sp -Downloads a single update. -.INDENT 7.0 -.TP -.B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the update to download. This can be a GUID, a KB number, -or any part of the name. To ensure a single item is matched the GUID -is preferred. -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -If more than one result is returned an error will be raised. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Returns -A dictionary containing the results of the download -.TP -.B Return type -\fI\%dict\fP -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq win_wua.download_update 12345678\-abcd\-1234\-abcd\-1234567890ab - -salt \(aq*\(aq win_wua.download_update KB12312321 -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_wua.download_updates(names) -Deprecated since version 2017.7.0: Use \fI\%download()\fP instead - -.sp -Downloads updates that match the list of passed identifiers. It\(aqs easier to -use this function by using list_updates and setting install=True. -.INDENT 7.0 -.TP -.B Parameters -\fBnames\fP (\fI\%list\fP) \-\- A list of updates to download. This can be any combination of GUIDs, -KB numbers, or names. GUIDs or KBs are preferred. -.TP -.B Returns -A dictionary containing the details about the downloaded updates -.TP -.B Return type -\fI\%dict\fP -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Normal Usage -salt \(aq*\(aq win_wua.download_updates guid=[\(aq12345678\-abcd\-1234\-abcd\-1234567890ab\(aq, \(aqKB2131233\(aq] -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.win_wua.get(name, download=False, install=False) New in version 2017.7.0. @@ -274106,16 +297380,16 @@ Returns details for the named update .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the update you\(aqre searching for. This can be the GUID, a +\fBname\fP (\fIstr\fP) \-\- The name of the update you\(aqre searching for. This can be the GUID, a KB number, or any part of the name of the update. GUIDs and KBs are preferred. Run \fBlist\fP to get the GUID for the update you\(aqre looking for. .IP \(bu 2 -\fBdownload\fP (\fI\%bool\fP) \-\- Download the update returned by this function. Run this function +\fBdownload\fP (\fIbool\fP) \-\- Download the update returned by this function. Run this function first to see if the update exists, then set \fBdownload=True\fP to download the update. .IP \(bu 2 -\fBinstall\fP (\fI\%bool\fP) \-\- Install the update returned by this function. Run this function +\fBinstall\fP (\fIbool\fP) \-\- Install the update returned by this function. Run this function first to see if the update exists, then set \fBinstall=True\fP to install the update. .UNINDENT @@ -274157,7 +297431,7 @@ List of Updates: .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -274195,7 +297469,7 @@ Determines if the system needs to be rebooted. True if the system requires a reboot, otherwise False .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp CLI Examples: @@ -274276,7 +297550,7 @@ Time at which Automatic Updates installs or uninstalls updates. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -274302,7 +297576,7 @@ the list_updates function and set install=True. .INDENT 7.0 .TP .B Parameters -\fBnames\fP (\fI\%str\fP\fI, \fP\fI\%list\fP) \-\- A single update or a list of updates to install. This can be any +\fBnames\fP (\fIstr\fP\fI, \fP\fIlist\fP) \-\- A single update or a list of updates to install. This can be any combination of GUIDs, KB numbers, or names. GUIDs or KBs are preferred. .UNINDENT @@ -274320,7 +297594,7 @@ in the names parameter A dictionary containing the details about the installed updates .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -274338,94 +297612,6 @@ salt \(aq*\(aq win_wua.install KB12323211 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_wua.install_update(name) -Deprecated since version 2017.7.0: Use \fI\%install()\fP instead - -.sp -Installs a single update -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the update to install. This can be a GUID, a KB -.IP \(bu 2 -\fBor any part of the name. To ensure a single item is matched the\fP (\fInumber\fP\fI,\fP) \-\- -.IP \(bu 2 -\fBis preferred.\fP (\fIGUID\fP) \-\- -.UNINDENT -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -If no results or more than one result is returned an error will be -raised. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Returns -A dictionary containing the results of the install -.TP -.B Return type -\fI\%dict\fP -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq win_wua.install_update 12345678\-abcd\-1234\-abcd\-1234567890ab - -salt \(aq*\(aq win_wua.install_update KB12312231 -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_wua.install_updates(names) -Deprecated since version 2017.7.0: Use \fI\%install()\fP instead - -.sp -Installs updates that match the list of identifiers. It may be easier to use -the list_updates function and set install=True. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBnames\fP (\fI\%list\fP) \-\- A list of updates to install. This can be any combination -.IP \(bu 2 -\fBGUIDs\fP\fB, \fP\fBKB numbers\fP\fB, or \fP\fBnames. GUIDs\fP\fB or \fP\fBKBs are preferred.\fP (\fIof\fP) \-\- -.UNINDENT -.TP -.B Returns -A dictionary containing the details about the installed updates -.TP -.B Return type -\fI\%dict\fP -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Normal Usage -salt \(aq*\(aq win_wua.install_updates guid=[\(aq12345678\-abcd\-1234\-abcd\-1234567890ab\(aq, \(aqKB12323211\(aq] -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.win_wua.list(software=True, drivers=False, summary=False, skip_installed=True, categories=None, severities=None, download=False, install=False) New in version 2017.7.0. @@ -274437,11 +297623,11 @@ install is True the same list will be downloaded and/or installed. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsoftware\fP (\fI\%bool\fP) \-\- Include software updates in the results (default is True) +\fBsoftware\fP (\fIbool\fP) \-\- Include software updates in the results (default is True) .IP \(bu 2 -\fBdrivers\fP (\fI\%bool\fP) \-\- Include driver updates in the results (default is False) +\fBdrivers\fP (\fIbool\fP) \-\- Include driver updates in the results (default is False) .IP \(bu 2 -\fBsummary\fP (\fI\%bool\fP) \-\- .INDENT 2.0 +\fBsummary\fP (\fIbool\fP) \-\- .INDENT 2.0 .IP \(bu 2 True: Return a summary of updates available for each category. .IP \(bu 2 @@ -274449,19 +297635,19 @@ False (default): Return a detailed list of available updates. .UNINDENT .IP \(bu 2 -\fBskip_installed\fP (\fI\%bool\fP) \-\- Skip installed updates in the results (default is False) +\fBskip_installed\fP (\fIbool\fP) \-\- Skip installed updates in the results (default is False) .IP \(bu 2 -\fBdownload\fP (\fI\%bool\fP) \-\- (Overrides reporting functionality) Download the list of updates +\fBdownload\fP (\fIbool\fP) \-\- (Overrides reporting functionality) Download the list of updates returned by this function. Run this function first with \fBdownload=False\fP to see what will be downloaded, then set \fBdownload=True\fP to download the updates. .IP \(bu 2 -\fBinstall\fP (\fI\%bool\fP) \-\- (Overrides reporting functionality) Install the list of updates +\fBinstall\fP (\fIbool\fP) \-\- (Overrides reporting functionality) Install the list of updates returned by this function. Run this function first with \fBinstall=False\fP to see what will be installed, then set \fBinstall=True\fP to install the updates. .IP \(bu 2 -\fBcategories\fP (\fI\%list\fP) \-\- +\fBcategories\fP (\fIlist\fP) \-\- .sp Specify the categories to list. Must be passed as a list. All categories returned by default. @@ -274497,7 +297683,7 @@ Windows Defender .UNINDENT .IP \(bu 2 -\fBseverities\fP (\fI\%list\fP) \-\- +\fBseverities\fP (\fIlist\fP) \-\- .sp Specify the severities to include. Must be passed as a list. All severities returned by default. @@ -274554,7 +297740,7 @@ Summary of Updates: .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -274587,258 +297773,6 @@ salt \(aq*\(aq win_wua.list categories=[\(aqFeature Packs\(aq,\(aqWindows 8.1\(a .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_wua.list_update(name, download=False, install=False) -Deprecated since version 2017.7.0: Use \fI\%get()\fP instead - -.sp -Returns details for all updates that match the search criteria -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the update you\(aqre searching for. This can be the GUID, a -KB number, or any part of the name of the update. GUIDs and KBs are -preferred. Run \fBlist_updates\fP to get the GUID for the update -you\(aqre looking for. -.IP \(bu 2 -\fBdownload\fP (\fI\%bool\fP) \-\- Download the update returned by this function. Run this function -first to see if the update exists, then set \fBdownload=True\fP to -download the update. -.IP \(bu 2 -\fBinstall\fP (\fI\%bool\fP) \-\- Install the update returned by this function. Run this function -first to see if the update exists, then set \fBinstall=True\fP to -install the update. -.UNINDENT -.TP -.B Returns -Returns a dict containing a list of updates that match the name if -download and install are both set to False. Should usually be a single -update, but can return multiple if a partial name is given. -.sp -If download or install is set to true it will return the results of the -operation. -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -List of Updates: -{\(aq\(aq: {\(aqTitle\(aq: , - \(aqKB\(aq: <KB>, - \(aqGUID\(aq: <the globally unique identifier for the update> - \(aqDescription\(aq: <description>, - \(aqDownloaded\(aq: <has the update been downloaded>, - \(aqInstalled\(aq: <has the update been installed>, - \(aqMandatory\(aq: <is the update mandatory>, - \(aqUserInput\(aq: <is user input required>, - \(aqEULAAccepted\(aq: <has the EULA been accepted>, - \(aqSeverity\(aq: <update severity>, - \(aqNeedsReboot\(aq: <is the update installed and awaiting reboot>, - \(aqRebootBehavior\(aq: <will the update require a reboot>, - \(aqCategories\(aq: [ \(aq<category 1>\(aq, - \(aq<category 2>\(aq, - ...] - } -} -.ft P -.fi -.UNINDENT -.UNINDENT - -.TP -.B Return type -\fI\%dict\fP -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Recommended Usage using GUID without braces -# Use this to find the status of a specific update -salt \(aq*\(aq win_wua.list_update 12345678\-abcd\-1234\-abcd\-1234567890ab - -# Use the following if you don\(aqt know the GUID: - -# Using a KB number (could possibly return multiple results) -# Not all updates have an associated KB -salt \(aq*\(aq win_wua.list_update KB3030298 - -# Using part or all of the name of the update -# Could possibly return multiple results -# Not all updates have an associated KB -salt \(aq*\(aq win_wua.list_update \(aqMicrosoft Camera Codec Pack\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_wua.list_updates(software=True, drivers=False, summary=False, skip_installed=True, categories=None, severities=None, download=False, install=False) -Deprecated since version 2017.7.0: Use \fI\%list()\fP instead - -.sp -Returns a detailed list of available updates or a summary. If download or -install is True the same list will be downloaded and/or installed. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBsoftware\fP (\fI\%bool\fP) \-\- Include software updates in the results (default is True) -.IP \(bu 2 -\fBdrivers\fP (\fI\%bool\fP) \-\- Include driver updates in the results (default is False) -.IP \(bu 2 -\fBsummary\fP (\fI\%bool\fP) \-\- .INDENT 2.0 -.IP \(bu 2 -True: Return a summary of updates available for each category. -.IP \(bu 2 -False (default): Return a detailed list of available updates. -.UNINDENT - -.IP \(bu 2 -\fBskip_installed\fP (\fI\%bool\fP) \-\- Skip installed updates in the results (default is False) -.IP \(bu 2 -\fBdownload\fP (\fI\%bool\fP) \-\- (Overrides reporting functionality) Download the list of updates -returned by this function. Run this function first with -\fBdownload=False\fP to see what will be downloaded, then set -\fBdownload=True\fP to download the updates. -.IP \(bu 2 -\fBinstall\fP (\fI\%bool\fP) \-\- (Overrides reporting functionality) Install the list of updates -returned by this function. Run this function first with -\fBinstall=False\fP to see what will be installed, then set -\fBinstall=True\fP to install the updates. -.IP \(bu 2 -\fBcategories\fP (\fI\%list\fP) \-\- -.sp -Specify the categories to list. Must be passed as a list. All -categories returned by default. -.sp -Categories include the following: -.INDENT 2.0 -.IP \(bu 2 -Critical Updates -.IP \(bu 2 -Definition Updates -.IP \(bu 2 -Drivers (make sure you set drivers=True) -.IP \(bu 2 -Feature Packs -.IP \(bu 2 -Security Updates -.IP \(bu 2 -Update Rollups -.IP \(bu 2 -Updates -.IP \(bu 2 -Update Rollups -.IP \(bu 2 -Windows 7 -.IP \(bu 2 -Windows 8.1 -.IP \(bu 2 -Windows 8.1 drivers -.IP \(bu 2 -Windows 8.1 and later drivers -.IP \(bu 2 -Windows Defender -.UNINDENT - -.IP \(bu 2 -\fBseverities\fP (\fI\%list\fP) \-\- -.sp -Specify the severities to include. Must be passed as a list. All -severities returned by default. -.sp -Severities include the following: -.INDENT 2.0 -.IP \(bu 2 -Critical -.IP \(bu 2 -Important -.UNINDENT - -.UNINDENT -.TP -.B Returns -Returns a dict containing either a summary or a list of updates: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -List of Updates: -{\(aq<GUID>\(aq: {\(aqTitle\(aq: <title>, - \(aqKB\(aq: <KB>, - \(aqGUID\(aq: <the globally unique identifier for the update> - \(aqDescription\(aq: <description>, - \(aqDownloaded\(aq: <has the update been downloaded>, - \(aqInstalled\(aq: <has the update been installed>, - \(aqMandatory\(aq: <is the update mandatory>, - \(aqUserInput\(aq: <is user input required>, - \(aqEULAAccepted\(aq: <has the EULA been accepted>, - \(aqSeverity\(aq: <update severity>, - \(aqNeedsReboot\(aq: <is the update installed and awaiting reboot>, - \(aqRebootBehavior\(aq: <will the update require a reboot>, - \(aqCategories\(aq: [ \(aq<category 1>\(aq, - \(aq<category 2>\(aq, - ...] - } -} - -Summary of Updates: -{\(aqTotal\(aq: <total number of updates returned>, - \(aqAvailable\(aq: <updates that are not downloaded or installed>, - \(aqDownloaded\(aq: <updates that are downloaded but not installed>, - \(aqInstalled\(aq: <updates installed (usually 0 unless installed=True)>, - \(aqCategories\(aq: { <category 1>: <total for that category>, - <category 2>: <total for category 2>, - ... } -} -.ft P -.fi -.UNINDENT -.UNINDENT - -.TP -.B Return type -\fI\%dict\fP -.UNINDENT -.sp -CLI Examples: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Normal Usage (list all software updates) -salt \(aq*\(aq win_wua.list_updates - -# List all updates with categories of Critical Updates and Drivers -salt \(aq*\(aq win_wua.list_updates categories=[\(aqCritical Updates\(aq,\(aqDrivers\(aq] - -# List all Critical Security Updates -salt \(aq*\(aq win_wua.list_updates categories=[\(aqSecurity Updates\(aq] severities=[\(aqCritical\(aq] - -# List all updates with a severity of Critical -salt \(aq*\(aq win_wua.list_updates severities=[\(aqCritical\(aq] - -# A summary of all available updates -salt \(aq*\(aq win_wua.list_updates summary=True - -# A summary of all Feature Packs and Windows 8.1 Updates -salt \(aq*\(aq win_wua.list_updates categories=[\(aqFeature Packs\(aq,\(aqWindows 8.1\(aq] summary=True -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.win_wua.set_wu_settings(level=None, recommended=None, featured=None, elevated=None, msupdate=None, day=None, time=None) Change Windows Update settings. If no parameters are passed, the current value will be returned. @@ -274861,7 +297795,7 @@ Windows 8.1 / Server 2012R2 .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBlevel\fP (\fI\%int\fP) \-\- +\fBlevel\fP (\fIint\fP) \-\- .sp Number from 1 to 4 indicating the update level: .INDENT 2.0 @@ -274876,20 +297810,20 @@ Install updates automatically .UNINDENT .IP \(bu 2 -\fBrecommended\fP (\fI\%bool\fP) \-\- Boolean value that indicates whether to include optional or +\fBrecommended\fP (\fIbool\fP) \-\- Boolean value that indicates whether to include optional or recommended updates when a search for updates and installation of updates is performed. .IP \(bu 2 -\fBfeatured\fP (\fI\%bool\fP) \-\- Boolean value that indicates whether to display notifications for +\fBfeatured\fP (\fIbool\fP) \-\- Boolean value that indicates whether to display notifications for featured updates. .IP \(bu 2 -\fBelevated\fP (\fI\%bool\fP) \-\- Boolean value that indicates whether non\-administrators can perform +\fBelevated\fP (\fIbool\fP) \-\- Boolean value that indicates whether non\-administrators can perform some update\-related actions without administrator approval. .IP \(bu 2 -\fBmsupdate\fP (\fI\%bool\fP) \-\- Boolean value that indicates whether to turn on Microsoft Update for +\fBmsupdate\fP (\fIbool\fP) \-\- Boolean value that indicates whether to turn on Microsoft Update for other Microsoft products .IP \(bu 2 -\fBday\fP (\fI\%str\fP) \-\- +\fBday\fP (\fIstr\fP) \-\- .sp Days of the week on which Automatic Updates installs or uninstalls updates. Accepted values: @@ -274911,7 +297845,7 @@ Saturday .UNINDENT .IP \(bu 2 -\fBtime\fP (\fI\%str\fP) \-\- Time at which Automatic Updates installs or uninstalls updates. Must +\fBtime\fP (\fIstr\fP) \-\- Time at which Automatic Updates installs or uninstalls updates. Must be in the ##:## 24hr format, eg. 3:00 PM would be 15:00. Must be in 1 hour increments. .UNINDENT @@ -274920,7 +297854,7 @@ be in the ##:## 24hr format, eg. 3:00 PM would be 15:00. Must be in Returns a dictionary containing the results. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -274945,7 +297879,7 @@ Uninstall updates. .INDENT 7.0 .TP .B Parameters -\fBnames\fP (\fI\%str\fP\fI, \fP\fI\%list\fP) \-\- A single update or a list of updates to uninstall. This can be any +\fBnames\fP (\fIstr\fP\fI, \fP\fIlist\fP) \-\- A single update or a list of updates to uninstall. This can be any combination of GUIDs, KB numbers, or names. GUIDs or KBs are preferred. .TP @@ -274953,7 +297887,7 @@ preferred. A dictionary containing the details about the uninstalled updates .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Examples: @@ -275210,8 +298144,8 @@ Signing policies should be defined in the minion configuration, or in a minion pillar. It should be a yaml formatted list of arguments which will override any arguments passed to this function. If the \fBminions\fP key is included in the signing policy, only minions -matching that pattern will be permitted to remotely request -certificates from that policy. +matching that pattern (see match.glob and match.compound) will be +permitted to remotely request certificates from that policy. .sp Example: .INDENT 7.0 @@ -277510,11 +300444,16 @@ salt \(aq*\(aq pkg.hold pkgs=\(aq["foo", "bar"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.yumpkg.info_installed(*names) +.B salt.modules.yumpkg.info_installed(*names, **kwargs) New in version 2015.8.1. .sp Return the information of the named package(s), installed on the system. +.INDENT 7.0 +.TP +.B Parameters +\fBall_versions\fP \-\- Include information for all versions of the packages installed on the minion. +.UNINDENT .sp CLI example: .INDENT 7.0 @@ -277524,6 +300463,7 @@ CLI example: .ft C salt \(aq*\(aq pkg.info_installed <package1> salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> ... +salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> all_versions=True .ft P .fi .UNINDENT @@ -277610,6 +300550,26 @@ error will be raised. .sp New in version 2016.11.0. +.TP +.B setopt +A comma\-separated or Python list of key=value options. This list will +be expanded and \fB\-\-setopt\fP prepended to each in the yum/dnf command +that is run. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.install foo setopt=\(aqobsoletes=0,plugins=0\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .sp Repository Options: @@ -278098,6 +301058,14 @@ yum/dnf. .sp New in version 2017.7.0. +.TP +.B setopt +A comma\-separated or Python list of key=value options. This list will +be expanded and \fB\-\-setopt\fP prepended to each in the yum/dnf command +that is run. +.sp +New in version Fluorine. + .UNINDENT .sp CLI Examples: @@ -278284,7 +301252,7 @@ New in version 2014.7.0. .sp Return the name of the package that owns the file. Multiple file paths can -be passed. Like \fBpkg.version <salt.modules.yumpkg.version\fP, if a +be passed. Like \fI\%pkg.version\fP, if a single path is passed, a string will be returned, and if multiple paths are passed, a dictionary of file/package name pairs will be returned. .sp @@ -278386,6 +301354,14 @@ options: \- \fBall\fP \- disable all excludes \- \fBmain\fP \- disable excludes defined in [main] in yum.conf \- \fBrepoid\fP \- disable excludes defined for that repo +.TP +.B setopt +A comma\-separated or Python list of key=value options. This list will +be expanded and \fB\-\-setopt\fP prepended to each in the yum/dnf command +that is run. +.sp +New in version Fluorine. + .UNINDENT .sp CLI Example: @@ -278500,7 +301476,28 @@ salt \(aq*\(aq pkg.unhold pkgs=\(aq["foo", "bar"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.yumpkg.upgrade(name=None, pkgs=None, refresh=True, skip_verify=False, normalize=True, **kwargs) +.B salt.modules.yumpkg.update(name=None, pkgs=None, refresh=True, skip_verify=False, normalize=True, minimal=False, obsoletes=False, **kwargs) +New in version Fluorine. + +.sp +Calls \fI\%pkg.upgrade\fP with +\fBobsoletes=False\fP\&. Mirrors the CLI behavior of \fByum update\fP\&. +See \fI\%pkg.upgrade\fP for +further documentation. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.update +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.yumpkg.upgrade(name=None, pkgs=None, refresh=True, skip_verify=False, normalize=True, minimal=False, obsoletes=True, **kwargs) Run a full system upgrade (a \fByum upgrade\fP or \fBdnf upgrade\fP), or upgrade specified packages. If the packages aren\(aqt installed, they will not be installed. @@ -278518,7 +301515,8 @@ from killing any yum/dnf commands spawned by Salt when the \fBFalse\fP (no quotes). .sp -Run a full system upgrade, a yum upgrade +Changed in version Fluorine: Added \fBobsoletes\fP and \fBminimal\fP arguments + .sp Returns a dictionary containing the changes: .INDENT 7.0 @@ -278636,6 +301634,51 @@ salt \-G role:nsd pkg.upgrade gpfs.gplbin\-2.6.32\-279.31.1.el6.x86_64 normalize .sp New in version 2016.3.0. +.TP +.B minimal +False +Use upgrade\-minimal instead of upgrade (e.g., \fByum upgrade\-minimal\fP) +Goes to the \(aqnewest\(aq package match which fixes a problem that affects your system. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.upgrade minimal=True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B obsoletes +True +Controls wether yum/dnf should take obsoletes into account and remove them. +If set to \fBFalse\fP yum will use \fBupdate\fP instead of \fBupgrade\fP +and dnf will be run with \fB\-\-obsoletes=False\fP +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.upgrade obsoletes=False +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B setopt +A comma\-separated or Python list of key=value options. This list will +be expanded and \fB\-\-setopt\fP prepended to each in the yum/dnf command +that is run. +.sp +New in version Fluorine. + .UNINDENT .sp \fBNOTE:\fP @@ -278658,7 +301701,7 @@ salt \(aq*\(aq pkg.upgrade security=True exclude=\(aqkernel*\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.yumpkg.upgrade_available(name) +.B salt.modules.yumpkg.upgrade_available(name, **kwargs) Check whether or not an upgrade is available for a given package .sp CLI Example: @@ -278782,7 +301825,7 @@ zabbix.url: http://127.0.0.1/zabbix/api_jsonrpc.php .UNINDENT .sp Connection arguments from the minion config file can be overridden on the CLI by using arguments with -_connection_ prefix. +\fB_connection_\fP prefix. .INDENT 7.0 .INDENT 3.5 .sp @@ -278830,6 +301873,108 @@ salt \(aq*\(aq zabbix.apiinfo_version .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zabbix.compare_params(defined, existing, return_old_value=False) +New in version 2017.7. + +.sp +Compares Zabbix object definition against existing Zabbix object. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBdefined\fP \-\- Zabbix object definition taken from sls file. +.IP \(bu 2 +\fBexisting\fP \-\- Existing Zabbix object taken from result of an API call. +.IP \(bu 2 +\fBreturn_old_value\fP \-\- Default False. If True, returns dict("old"=old_val, "new"=new_val) for rollback purpose. +.UNINDENT +.TP +.B Returns +Params that are different from existing object. Result extended by +object ID can be passed directly to Zabbix API update method. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.configuration_import(config_file, rules=None, file_format=u\(aqxml\(aq, **connection_args) +New in version 2017.7. + +.sp +Imports Zabbix configuration specified in file to Zabbix server. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconfig_file\fP \-\- File with Zabbix config (local or remote) +.IP \(bu 2 +\fBrules\fP \-\- Optional \- Rules that have to be different from default (defaults are the same as in Zabbix web UI.) +.IP \(bu 2 +\fBfile_format\fP \-\- Config file format (default: xml) +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq zabbix.configuration_import salt://zabbix/config/zabbix_templates.xml "{\(aqscreens\(aq: {\(aqcreateMissing\(aq: True, \(aqupdateExisting\(aq: True}}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.get_object_id_by_params(obj, params=None, **connection_args) +New in version 2017.7. + +.sp +Get ID of single Zabbix object specified by its name. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBobj\fP \-\- Zabbix object type +.IP \(bu 2 +\fBparams\fP \-\- Parameters by which object is uniquely identified +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.TP +.B Returns +object ID +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.get_zabbix_id_mapper() +New in version 2017.7. + +.sp +Make ZABBIX_ID_MAPPER constant available to state modules. +.INDENT 7.0 +.TP +.B Returns +ZABBIX_ID_MAPPER +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zabbix.host_create(host, groups, interfaces, **connection_args) New in version 2016.3.0. @@ -278876,7 +302021,7 @@ CLI Example: .ft C salt \(aq*\(aq zabbix.host_create technicalname 4 interfaces=\(aq{type: 1, main: 1, useip: 1, ip: "192.168.3.1", dns: "", port: 10050}\(aq -visible_name=\(aqHost Visible Name\(aq +visible_name=\(aqHost Visible Name\(aq inventory_mode=0 inventory=\(aq{"alias": "something"}\(aq .ft P .fi .UNINDENT @@ -279003,6 +302148,77 @@ salt \(aq*\(aq zabbix.host_get \(aqZabbix server\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zabbix.host_inventory_get(hostids, **connection_args) +Retrieve host inventory according to the given parameters. +See: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory\fP +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhostids\fP \-\- Return only host interfaces used by the given hosts. +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.TP +.B Returns +Array with host interfaces details, False if no convenient host interfaces found or on failure. +.UNINDENT +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq zabbix.host_inventory_get 101054 +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.host_inventory_set(hostid, **connection_args) +Update host inventory items +NOTE: This function accepts all standard host: keyword argument names for inventory +see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory\fP +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhostid\fP \-\- ID of the host to update +.IP \(bu 2 +\fBclear_old\fP \-\- Set to True in order to remove all existing inventory items before setting the specified items +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.TP +.B Returns +ID of the updated host, False on failure. +.UNINDENT +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq zabbix.host_inventory_set 101054 asset_tag=jml3322 type=vm clear_old=True +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zabbix.host_list(**connection_args) Retrieve all hosts. .sp @@ -279317,7 +302533,7 @@ salt \(aq*\(aq zabbix.hostgroup_update 24 name=\(aqRenamed Name\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zabbix.hostinterface_create(hostid, ip, dns=u\(aq\(aq, main=1, type=1, useip=1, port=None, **connection_args) +.B salt.modules.zabbix.hostinterface_create(hostid, ip_, dns=u\(aq\(aq, main=1, if_type=1, useip=1, port=None, **connection_args) New in version 2016.3.0. .sp @@ -279485,7 +302701,7 @@ CLI Example: .. code\-block:: bash .INDENT 7.0 .INDENT 3.5 -salt \(aq*\(aq zabbix.hostinterface_update 6 ip=0.0.0.2 +salt \(aq*\(aq zabbix.hostinterface_update 6 ip_=0.0.0.2 .UNINDENT .UNINDENT .UNINDENT @@ -279596,7 +302812,7 @@ _connection_user: zabbix user (can also be set in opts or pillar, see module\(aq _connection_password: zabbix password (can also be set in opts or pillar, see module\(aqs docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module\(aqs docstring) .sp -all optional mediatype.get parameters: keyword argument names differ depending on your zabbix version, see: +all optional mediatype.get parameters: keyword argument names depends on your zabbix version, see: .sp \fI\%https://www.zabbix.com/documentation/2.2/manual/api/reference/mediatype/get\fP @@ -279672,7 +302888,7 @@ _connection_user: zabbix user (can also be set in opts or pillar, see module\(aq _connection_password: zabbix password (can also be set in opts or pillar, see module\(aqs docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module\(aqs docstring) .sp -all optional template.get parameters: keyword argument names differ depending on your zabbix version, see: +all optional template.get parameters: keyword argument names depends on your zabbix version, see: .sp \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/\fP @@ -279692,6 +302908,36 @@ salt \(aq*\(aq zabbix.run_query proxy.create \(aq{"host": "zabbixproxy.domain.co .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zabbix.substitute_params(input_object, extend_params=None, filter_key=u\(aqname\(aq, **kwargs) +New in version 2017.7. + +.sp +Go through Zabbix object params specification and if needed get given object ID from Zabbix API and put it back +as a value. Definition of the object is done via dict with keys "query_object" and "query_name". +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBinput_object\fP \-\- Zabbix object type specified in state file +.IP \(bu 2 +\fBextend_params\fP \-\- Specify query with params +.IP \(bu 2 +\fBfilter_key\fP \-\- Custom filtering key (default: name) +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.TP +.B Returns +Params structure with values converted to string for further comparison purposes +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zabbix.template_get(name=None, host=None, templateids=None, **connection_args) Retrieve templates according to the given parameters. .INDENT 7.0 @@ -279711,7 +302957,7 @@ _connection_user: zabbix user (can also be set in opts or pillar, see module\(aq _connection_password: zabbix password (can also be set in opts or pillar, see module\(aqs docstring) _connection_url: url of zabbix frontend (can also be set in opts or pillar, see module\(aqs docstring) .sp -all optional template.get parameters: keyword argument names differ depending on your zabbix version, see: +all optional template.get parameters: keyword argument names depends on your zabbix version, see: .sp \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/template/get\fP @@ -281396,7 +304642,7 @@ salt \(aq*\(aq zfs.inherit canmount myzpool/mydataset [recursive=True|False] .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zfs.list(name=None, **kwargs) +.B salt.modules.zfs.list_(name=None, **kwargs) Return a list of all datasets or a specified dataset on the system and the values of their used, available, referenced, and mountpoint properties. .INDENT 7.0 @@ -281502,7 +304748,7 @@ Changed in version 2018.3.1. \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 -Passing \(aq\-a\(aq as name is deprecated and will be removed 2 verions after Fluorine. +Passing \(aq\-a\(aq as name is deprecated and will be removed in Sodium. .UNINDENT .UNINDENT .sp @@ -281864,7 +305110,7 @@ Changed in version 2018.3.1. \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 -Passing \(aq\-a\(aq as name is deprecated and will be removed 2 verions after Fluorine. +Passing \(aq\-a\(aq as name is deprecated and will be removed in Sodium. .UNINDENT .UNINDENT .sp @@ -282288,7 +305534,7 @@ salt \(aq*\(aq zoneadm.install teddy True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zoneadm.list(verbose=True, installed=False, configured=False, hide_global=True) +.B salt.modules.zoneadm.list_zones(verbose=True, installed=False, configured=False, hide_global=True) List all zones .INDENT 7.0 .TP @@ -282710,7 +305956,7 @@ salt \(aq*\(aq zonecfg.export epyon /zones/epyon.cfg .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zonecfg.import(zone, path) +.B salt.modules.zonecfg.import_(zone, path) Import the configuration to memory from stable storage. .INDENT 7.0 .TP @@ -283891,7 +307137,7 @@ salt \(aq*\(aq zpool.upgrade myzpool .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zpool.import(zpool=None, new_name=None, **kwargs) +.B salt.modules.zpool.import_(zpool=None, new_name=None, **kwargs) New in version 2015.5.0. .sp @@ -284063,7 +307309,7 @@ salt \(aq*\(aq zpool.labelclear /path/to/dev .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zpool.list(properties=u\(aqsize, alloc, free, cap, frag, health\(aq, zpool=None, parsable=True) +.B salt.modules.zpool.list_(properties=u\(aqsize, alloc, free, cap, frag, health\(aq, zpool=None, parsable=True) New in version 2015.5.0. .sp @@ -284822,6 +308068,8 @@ a \(aqN/A (broken)\(aq (not available, broken) text is placed. ignore, report .UNINDENT +.IP \(bu 2 +\fBall_versions\fP \-\- Include information for all versions of the packages installed on the minion. .UNINDENT .UNINDENT .sp @@ -284833,7 +308081,8 @@ CLI example: .ft C salt \(aq*\(aq pkg.info_installed <package1> salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> ... -salt \(aq*\(aq pkg.info_installed <package1> attr=version,vendor +salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> all_versions=True +salt \(aq*\(aq pkg.info_installed <package1> attr=version,vendor all_versions=True salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=ignore salt \(aq*\(aq pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=report @@ -285517,6 +308766,30 @@ salt \(aq*\(aq pkg.modified httpd owner=True group=False .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zypper.normalize_name(name) +Strips the architecture from the specified package name, if necessary. +Circumstances where this would be done include: +.INDENT 7.0 +.IP \(bu 2 +If the arch is 32 bit and the package name ends in a 32\-bit arch. +.IP \(bu 2 +If the arch matches the OS arch, or is \fBnoarch\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.normalize_name zsh.x86_64 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zypper.owner(*paths) Return the name of the package that owns the file. Multiple file paths can be passed. If a single path is passed, a string will be returned, @@ -286209,7 +309482,7 @@ A filesystem path to an HTML file that will be served as a static file. This is useful for bootstrapping a single\-page JavaScript app. .sp Warning! If you set this option to a custom web application, anything -that uses cookie\-based authentcation is vulnerable to XSRF attacks. +that uses cookie\-based authentication is vulnerable to XSRF attacks. Send the custom \fBX\-Auth\-Token\fP header instead and consider disabling the \fBenable_sessions\fP setting. .sp @@ -286251,7 +309524,7 @@ curl \-sSk https://localhost:8000/login \e \-H \(aqAccept: application/x\-yaml\(aq \e \-d username=saltdev \e \-d password=saltdev \e - \-d eauth=auto + \-d eauth=pam .ft P .fi .UNINDENT @@ -290014,6 +313287,7 @@ _ T{ \fBec2_pillar\fP T} T{ +Retrieve EC2 instance data for minions for ec2_tags and ec2_tags_list T} _ T{ @@ -290095,6 +313369,12 @@ Retrieve Pillar data by doing a MySQL query T} _ T{ +\fBnetbox\fP +T} T{ +A module that adds data to the Pillar structure from a NetBox API. +T} +_ +T{ \fBneutron\fP T} T{ Use Openstack Neutron data as a Pillar source. @@ -290103,6 +313383,7 @@ _ T{ \fBnodegroups\fP T} T{ +Nodegroups Pillar T} _ T{ @@ -290148,6 +313429,12 @@ Copy pillar data from a bucket in Amazon S3 T} _ T{ +\fBsaltclass\fP +T} T{ +SaltClass Pillar Module +T} +_ +T{ \fBsql_base\fP T} T{ Retrieve Pillar data by doing a SQL query @@ -290226,8 +313513,9 @@ Execute a command and read the output as YAML .UNINDENT .SS salt.pillar.cmd_yamlex .sp -Execute a command and read the output as YAMLEX. The YAMLEX data is then -directly overlaid onto the minion\(aqs Pillar data +Execute a command and read the output as YAMLEX. +.sp +The YAMLEX data is then directly overlaid onto the minion\(aqs Pillar data .INDENT 0.0 .TP .B salt.pillar.cmd_yamlex.ext_pillar(minion_id, pillar, command) @@ -290510,6 +313798,33 @@ ext_pillar: .fi .UNINDENT .UNINDENT +.sp +The data from Consul can be merged into a nested key in Pillar. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- consul: my_consul_config pillar_root=consul_data +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +By default, keys containing YAML data will be deserialized before being merged into Pillar. +This behavior can be disabled by setting \fBexpand_keys\fP to \fBfalse\fP\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- consul: my_consul_config expand_keys=false +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.pillar.consul_pillar.consul_fetch(client, path) @@ -290522,7 +313837,7 @@ Check consul for all data .UNINDENT .INDENT 0.0 .TP -.B salt.pillar.consul_pillar.fetch_tree(client, path) +.B salt.pillar.consul_pillar.fetch_tree(client, path, expand_keys) Grab data from consul, trim base path and remove any keys which are folders. Take the remaining data and send it to be formatted in such a way as to be used as pillar data. @@ -290534,7 +313849,7 @@ Return a client object for accessing consul .UNINDENT .INDENT 0.0 .TP -.B salt.pillar.consul_pillar.pillar_format(ret, keys, value) +.B salt.pillar.consul_pillar.pillar_format(ret, keys, value, expand_keys) Perform data formatting to be used as pillar data and merge it with the current pillar data .UNINDENT @@ -290656,13 +313971,13 @@ Read a CSV into Pillar .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- Absolute path to a CSV file. +\fBpath\fP (\fIstr\fP) \-\- Absolute path to a CSV file. .IP \(bu 2 -\fBidkey\fP (\fI\%str\fP) \-\- (Optional) The column name of minion IDs. +\fBidkey\fP (\fIstr\fP) \-\- (Optional) The column name of minion IDs. .IP \(bu 2 -\fBnamespace\fP (\fI\%str\fP) \-\- (Optional) A pillar key to namespace the values under. +\fBnamespace\fP (\fIstr\fP) \-\- (Optional) A pillar key to namespace the values under. .IP \(bu 2 -\fBfieldnames\fP (\fI\%list\fP) \-\- (Optional) if the first row of the CSV is not +\fBfieldnames\fP (\fIlist\fP) \-\- (Optional) if the first row of the CSV is not column names they may be specified here instead. .UNINDENT .UNINDENT @@ -290808,23 +314123,79 @@ Connect to a Django database through the ORM and retrieve model fields .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBpillar_name\fP (\fI\%str\fP) \-\- The name of the pillar to be returned +\fBpillar_name\fP (\fIstr\fP) \-\- The name of the pillar to be returned .IP \(bu 2 -\fBproject_path\fP (\fI\%str\fP) \-\- The full path to your Django project (the directory +\fBproject_path\fP (\fIstr\fP) \-\- The full path to your Django project (the directory manage.py is in) .IP \(bu 2 -\fBsettings_module\fP (\fI\%str\fP) \-\- The settings module for your project. This can be +\fBsettings_module\fP (\fIstr\fP) \-\- The settings module for your project. This can be found in your manage.py file .IP \(bu 2 -\fBdjango_app\fP (\fI\%str\fP) \-\- A dictionary containing your apps, models, and fields +\fBdjango_app\fP (\fIstr\fP) \-\- A dictionary containing your apps, models, and fields .IP \(bu 2 -\fBenv\fP (\fI\%str\fP) \-\- The full path to the virtualenv for your Django project +\fBenv\fP (\fIstr\fP) \-\- The full path to the virtualenv for your Django project .IP \(bu 2 -\fBenv_file\fP (\fI\%str\fP) \-\- An optional bash file that sets up your environment. The +\fBenv_file\fP (\fIstr\fP) \-\- An optional bash file that sets up your environment. The file is run in a subprocess and the changed variables are then added .UNINDENT .UNINDENT .UNINDENT +.SS salt.pillar.ec2_pillar +.sp +Retrieve EC2 instance data for minions for ec2_tags and ec2_tags_list +.sp +The minion id must be the AWS instance\-id or value in \(aqtag_match_key\(aq. +For example set \(aqtag_match_key\(aq to \(aqName\(aq, to have the minion\-id matched against the +tag \(aqName\(aq. The tag contents must be unique. The value of tag_match_value can +be \(aquqdn\(aq or \(aqasis\(aq. if \(aquqdn\(aq strips any domain before comparison. +.sp +The option use_grain can be set to True. This allows the use of an +instance\-id grain instead of the minion\-id. Since this is a potential +security risk, the configuration can be further expanded to include +a list of minions that are trusted to only allow the alternate id +of the instances to specific hosts. There is no glob matching at +this time. +.sp +The optional \(aqtag_list_key\(aq indicates which keys should be added to +\(aqec2_tags_list\(aq and be split by tag_list_sep (default \fI;\fP). If a tag key is +included in \(aqtag_list_key\(aq it is removed from ec2_tags. If a tag does not +exist it is still included as an empty list. +.INDENT 0.0 +.INDENT 3.5 +Note: restart the salt\-master for changes to take effect. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- ec2_pillar: + tag_match_key: \(aqName\(aq + tag_match_value: \(aqasis\(aq + tag_list_key: + \- Role + tag_list_sep: \(aq;\(aq + use_grain: True + minion_ids: + \- trusted\-minion\-1 + \- trusted\-minion\-2 + \- trusted\-minion\-3 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This is a very simple pillar that simply retrieves the instance data +from AWS. Currently the only portion implemented are EC2 tags, which +returns a list of key/value pairs for all of the EC2 tags assigned to +the instance. +.INDENT 0.0 +.TP +.B salt.pillar.ec2_pillar.ext_pillar(minion_id, pillar, use_grain=False, minion_ids=None, tag_match_key=None, tag_match_value=u\(aqasis\(aq, tag_list_key=None, tag_list_sep=u\(aq;\(aq) +Execute a command and read the output as YAML +.UNINDENT .SS salt.pillar.etcd_pillar .sp Use etcd data as a Pillar source @@ -291530,7 +314901,7 @@ The corresponding Pillar top file would look like this: .sp .nf .ft C -{{saltenv}}: +"{{saltenv}}": \(aq*\(aq: \- bar .ft P @@ -291746,9 +315117,35 @@ Use of the \fBmountpoint\fP feature requires that .IP \(bu 2 Content from mounted git_pillar repos can only be referenced by a top file in the same pillar environment. +.IP \(bu 2 +Salt versions prior to 2018.3.4 ignore the \fBroot\fP parameter when +\fBmountpoint\fP is set. .UNINDENT .UNINDENT .UNINDENT +.SS all_saltenvs +.sp +New in version 2018.3.4. + +.sp +When \fB__env__\fP is specified as the branch name, \fBall_saltenvs\fP per\-remote configuration parameter overrides the logic Salt uses to map branches/tags to pillar environments (i.e. pillarenvs). This allows a single branch/tag to appear in all saltenvs. Example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- git: + \- __env__ https://mydomain.tld/top.git + \- all_saltenvs: master + \- __env__ https://mydomain.tld/pillar\-nginx.git: + \- mountpoint: web/server/ + \- __env__ https://mydomain.tld/pillar\-appdata.git: + \- mountpoint: web/server/ +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.pillar.git_pillar.ext_pillar(minion_id, pillar, *repos) @@ -291901,16 +315298,16 @@ Read pillar data from HTTP response. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBurl\fP (\fI\%str\fP) \-\- Url to request. +\fBurl\fP (\fIstr\fP) \-\- Url to request. .IP \(bu 2 -\fBwith_grains\fP (\fI\%bool\fP) \-\- Whether to substitute strings in the url with their grain values. +\fBwith_grains\fP (\fIbool\fP) \-\- Whether to substitute strings in the url with their grain values. .UNINDENT .TP .B Returns A dictionary of the pillar data to add. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .UNINDENT .SS salt.pillar.http_yaml module @@ -291975,16 +315372,16 @@ Read pillar data from HTTP response. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBurl\fP (\fI\%str\fP) \-\- Url to request. +\fBurl\fP (\fIstr\fP) \-\- Url to request. .IP \(bu 2 -\fBwith_grains\fP (\fI\%bool\fP) \-\- Whether to substitute strings in the url with their grain values. +\fBwith_grains\fP (\fIbool\fP) \-\- Whether to substitute strings in the url with their grain values. .UNINDENT .TP .B Returns A dictionary of the pillar data to add. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .UNINDENT .SS salt.pillar.libvirt @@ -292979,6 +316376,72 @@ can use. The return is a list of consistently laid out dicts. .B salt.pillar.mysql.ext_pillar(minion_id, pillar, *args, **kwargs) Execute queries against MySQL, merge and return as a dict .UNINDENT +.SS salt.pillar.netbox +.sp +A module that adds data to the Pillar structure from a NetBox API. +.sp +New in version Fluorine. + +.SS Configuring the NetBox ext_pillar +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- netbox: + api_url: http://netbox_url.com/api/ + api_token: 123abc +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Create a token in your NetBox instance at +\fI\%http://netbox_url.com/user/api\-tokens/\fP +.sp +The following options are optional, and determine whether or not +the module will attempt to configure the \fBproxy\fP pillar data for +use with the napalm proxy\-minion: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy_return: True +proxy_username: admin +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +By default, this module will query the NetBox API for the platform +associated with the device, and use the \(aqNAPALM driver\(aq field to +set the napalm proxy\-minion driver. (Currently only \(aqnapalm\(aq is supported +for drivertype.) +.sp +This module currently only supports the napalm proxy minion and assumes +you will use SSH keys to authenticate to the network device. If password +authentication is desired, it is recommended to create another \fBproxy\fP +key in pillar_roots (or git_pillar) with just the \fBpasswd\fP key and use +\fBsalt.renderers.gpg\fP to encrypt the value. +If any additional options for the proxy setup are needed they should also be +configured in pillar_roots. +.sp +Other available options: +.INDENT 0.0 +.TP +.B site_details: \fBTrue\fP +Whether should retrieve details of the site the device belongs to. +.TP +.B site_prefixes: \fBTrue\fP +Whether should retrieve the prefixes of the site the device belongs to. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.pillar.netbox.ext_pillar(minion_id, pillar, *args, **kwargs) +Query NetBox API for minion data +.UNINDENT .SS salt.pillar.neutron module .sp Use Openstack Neutron data as a Pillar source. Will list all networks listed @@ -293618,7 +317081,7 @@ psycopg2 .B platform all .UNINDENT -.SS Complete example +.SS Complete Example .INDENT 0.0 .INDENT 3.5 .sp @@ -293916,6 +317379,27 @@ to issue #22471 (\fI\%https://github.com/saltstack/salt/issues/22471\fP) .B salt.pillar.s3.ext_pillar(minion_id, pillar, bucket, key=None, keyid=None, verify_ssl=True, location=None, multiple_env=False, environment=u\(aqbase\(aq, prefix=u\(aq\(aq, service_url=None, kms_keyid=None, s3_cache_expire=30, s3_sync_on_update=True, path_style=False, https_enable=True) Execute a command and read the output as YAML .UNINDENT +.SS salt.pillar.saltclass +.SS SaltClass Pillar Module +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- saltclass: + \- path: /srv/saltclass +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +For additional configuration instructions, see the \fBsaltclass\fP module +.INDENT 0.0 +.TP +.B salt.pillar.saltclass.ext_pillar(minion_id, pillar, *args, **kwargs) +Compile pillar data +.UNINDENT .SS salt.pillar.sql_base module .sp Retrieve Pillar data by doing a SQL query @@ -294269,7 +317753,7 @@ sqlcipher: .fi .UNINDENT .UNINDENT -.SS Complete example +.SS Complete Example .INDENT 0.0 .INDENT 3.5 .sp @@ -295320,6 +318804,25 @@ ext_pillar: .sp Each key needs to have all the key\-value pairs with the names you require. Avoid naming every key \(aqpassword\(aq as you they will collide: +.sp +If you want to nest results under a nesting_key name use the following format: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B ext_pillar: +.INDENT 7.0 +.IP \(bu 2 +.INDENT 2.0 +.TP +.B vault: +conf: path=secret/salt +nesting_key: vault_key_name +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .INDENT 0.0 .INDENT 3.5 .sp @@ -295360,9 +318863,85 @@ ext_pillar: .fi .UNINDENT .UNINDENT +.sp +You can also use nesting here as well. Identical nesting keys will get merged. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- vault: + conf: path=secret/salt + nesting_key: keyname1 + \- vault: + conf: path=secret/root + nesting_key: keyname1 + \- vault: + conf: path=secret/minions/{minion}/pass + nesting_key: keyname2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The difference between the return with and without the nesting key is shown below. +This example takes the key value pairs returned from vault as follows: +.sp +path=secret/salt +.sp +Key Value +\-\-\- \-\-\-\-\- +salt\-passwd badpasswd1 +.sp +path=secret/root +.sp +Key Value +\-\-\- \-\-\-\-\- +root\-passwd rootbadpasswd1 +.sp +path=secret/minions/{minion}/pass +.sp +Key Value +\-\-\- \-\-\-\-\- +minion\-passwd minionbadpasswd1 +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +#Nesting Key not defined + +local: + \-\-\-\-\-\-\-\-\-\- + salt\-passwd: + badpasswd1 + root\-passwd: + rootbadpasswd1 + minion\-passwd: + minionbadpasswd1 + +#Nesting Key defined + +local: + \-\-\-\-\-\-\-\-\-\- + keyname1: + \-\-\-\-\-\-\-\-\-\- + salt\-passwd: + badpasswd1 + root\-passwd: + rootbadpasswd1 + keyname2: + \-\-\-\-\-\-\-\-\-\- + minion\-passwd: + minionbadpasswd1 +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP -.B salt.pillar.vault.ext_pillar(minion_id, pillar, conf) +.B salt.pillar.vault.ext_pillar(minion_id, pillar, conf, nesting_key=None) Get pillar data from Vault for the configuration \fBconf\fP\&. .UNINDENT .SS salt.pillar.venafi module @@ -295606,6 +319185,18 @@ center; |l|l|. _ T{ +\fBarista_pyeapi\fP +T} T{ +Arista pyeapi +T} +_ +T{ +\fBcimc\fP +T} T{ +Proxy Minion interface module for managing Cisco Integrated Management Controller devices +T} +_ +T{ \fBchronos\fP T} T{ Chronos @@ -295660,12 +319251,24 @@ NAPALM: Network Automation and Programmability Abstraction Layer with Multivendo T} _ T{ +\fBnetmiko_px\fP +T} T{ +Netmiko +T} +_ +T{ \fBnxos\fP T} T{ Proxy Minion for Cisco NX OS Switches T} _ T{ +\fBnxos_api\fP +T} T{ +Proxy Minion to manage Cisco Nexus Switches (NX\-OS) over the NX\-API +T} +_ +T{ \fBpanos\fP T} T{ Proxy Minion interface module for managing Palo Alto firewall devices @@ -295690,48 +319293,113 @@ This is a simple proxy\-minion designed to connect to and communicate with a ser T} _ .TE -.SS salt.proxy.chronos module -.SS Chronos +.SS salt.proxy.arista_pyeapi +.SS Arista pyeapi .sp -Proxy minion for managing a Chronos cluster. -.SS Dependencies +New in version Fluorine. + +.sp +Proxy module for managing Arista switches via the eAPI using the +\fI\%pyeapi\fP library. .INDENT 0.0 -.IP \(bu 2 -\fBchronos execution module (salt.modules.chronos)\fP +.TP +.B codeauthor +Mircea Ulinic <\fI\%ping@mirceaulinic.net\fP> +.TP +.B maturity +new +.TP +.B depends +pyeapi +.TP +.B platform +unix .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +To understand how to correctly enable the eAPI on your switch, please check +\fI\%https://eos.arista.com/arista\-eapi\-101/\fP\&. +.UNINDENT +.UNINDENT +.SS Dependencies +.sp +The \fBpyeapi\fP Proxy module requires pyeapi to be installed: +\fBpip install pyeapi\fP\&. .SS Pillar .sp -The chronos proxy configuration requires a \(aqbase_url\(aq property that points to -the chronos endpoint: +The \fBpyeapi\fP proxy configuration requires the following parameters in order +to connect to the network device: +.INDENT 0.0 +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBsocket\fP, \fBhttp_local\fP, \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the eAPI connection. +.TP +.B password +The password to pass to the device to authenticate the eAPI connection. +.TP +.B port +The TCP port of the endpoint for the eAPI connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B enablepwd +The enable mode password if required by the destination node. +.UNINDENT +.sp +All the arguments may be optional, depending on your setup. +.SS Proxy Pillar Example .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C proxy: - proxytype: chronos - base_url: http://my\-chronos\-master.mydomain.com:4400 + proxytype: pyeapi + host: router1.example.com + username: example + password: example .ft P .fi .UNINDENT .UNINDENT -.sp -New in version 2015.8.2. - .INDENT 0.0 .TP -.B salt.proxy.chronos.init(opts) -Perform any needed setup. +.B salt.proxy.arista_pyeapi.call(method, *args, **kwargs) +Calls an arbitrary pyeapi method. .UNINDENT .INDENT 0.0 .TP -.B salt.proxy.chronos.ping() -Is the chronos api responding? +.B salt.proxy.arista_pyeapi.conn() +Return the connection object. .UNINDENT .INDENT 0.0 .TP -.B salt.proxy.chronos.shutdown(opts) -For this proxy shutdown is a no\-op +.B salt.proxy.arista_pyeapi.init(opts) +Open the connection to the Arista switch over the eAPI. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.arista_pyeapi.initialized() +Connection finished initializing? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.arista_pyeapi.ping() +Connection open successfully? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.arista_pyeapi.shutdown(opts) +Closes connection with the device. .UNINDENT .SS salt.proxy.cimc module .SS Proxy Minion interface module for managing Cisco Integrated Management Controller devices @@ -295858,6 +319526,49 @@ The configConfMo method configures the specified managed object in a single subt Shutdown the connection to the proxy device. For this proxy, shutdown is a no\-op. .UNINDENT +.SS salt.proxy.chronos module +.SS Chronos +.sp +Proxy minion for managing a Chronos cluster. +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBchronos execution module (salt.modules.chronos)\fP +.UNINDENT +.SS Pillar +.sp +The chronos proxy configuration requires a \(aqbase_url\(aq property that points to +the chronos endpoint: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy: + proxytype: chronos + base_url: http://my\-chronos\-master.mydomain.com:4400 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2015.8.2. + +.INDENT 0.0 +.TP +.B salt.proxy.chronos.init(opts) +Perform any needed setup. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.chronos.ping() +Is the chronos api responding? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.chronos.shutdown(opts) +For this proxy shutdown is a no\-op +.UNINDENT .SS salt.proxy.cisconso .sp Proxy Minion interface module for managing (practically) any network device with @@ -297160,6 +320871,9 @@ For this proxy shutdown is a no\-op .UNINDENT .SS salt.proxy.napalm .SS NAPALM: Network Automation and Programmability Abstraction Layer with Multivendor support +.sp +New in version 2016.11.0. + .sp Proxy minion for managing network devices via \fI\%NAPALM\fP library. .INDENT 0.0 @@ -297327,8 +321041,32 @@ proxy: .UNINDENT .UNINDENT .sp -New in version 2016.11.0. - +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Beginning with release codename Fluorine, any NAPALM command executed when +running under a NAPALM Proxy Minion supports the \fBforce_reconnect\fP +magic argument. +.sp +Proxy Minions generally establish a connection with the remote network +device at the time of the Minion startup and that connection is going to be +used forever. +.sp +If one would need execute a command on the device but connecting using +different parameters (due to various causes, e.g., unable to authenticate +the user specified in the Pillar as the authentication system \- say +TACACS+ is not available, or the DNS resolver is currently down and would +like to temporarily use the IP address instead, etc.), it implies updating +the Pillar data and restarting the Proxy Minion process restart. +In particular cases like that, you can pass the \fBforce_reconnect=True\fP +keyword argument, together with the alternative connection details, to +enforce the command to be executed over a separate connection. +.sp +For example, if the usual command is \fBsalt \(aq*\(aq net.arp\fP, you can use the +following to connect using a different username instead: +\fBsalt \(aq*\(aq net.arp username=my\-alt\-usr force_reconnect=True\fP\&. +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.proxy.napalm.alive(opts) @@ -297426,6 +321164,313 @@ Connection open successfully? .B salt.proxy.napalm.shutdown(opts) Closes connection with the device. .UNINDENT +.SS salt.proxy.netmiko_px +.SS Netmiko +.sp +New in version Fluorine. + +.sp +Proxy module for managing network devices via +\fI\%Netmiko\fP\&. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%ping@mirceaulinic.net\fP> & Kirk Byers <\fI\%ktbyers@twb\-tech.com\fP> +.TP +.B maturity +new +.TP +.B depends +netmiko +.TP +.B platform +unix +.UNINDENT +.SS Dependencies +.sp +The \fBnetmiko\fP proxy modules requires Netmiko to be installed: \fBpip install netmiko\fP\&. +.SS Pillar +.sp +The \fBnetmiko\fP proxy configuration requires the following parameters in order +to connect to the network device: +.INDENT 0.0 +.IP \(bu 2 +\fBdevice_type\fP \- Class selection based on device type. Supported options: +.INDENT 2.0 +.IP \(bu 2 +\fBa10\fP: A10 Networks +.IP \(bu 2 +\fBaccedian\fP: Accedian Networks +.IP \(bu 2 +\fBalcatel_aos\fP: Alcatel AOS +.IP \(bu 2 +\fBalcatel_sros\fP: Alcatel SROS +.IP \(bu 2 +\fBapresia_aeos\fP: Apresia AEOS +.IP \(bu 2 +\fBarista_eos\fP: Arista EOS +.IP \(bu 2 +\fBaruba_os\fP: Aruba +.IP \(bu 2 +\fBavaya_ers\fP: Avaya ERS +.IP \(bu 2 +\fBavaya_vsp\fP: Avaya VSP +.IP \(bu 2 +\fBbrocade_fastiron\fP: Brocade Fastiron +.IP \(bu 2 +\fBbrocade_netiron\fP: Brocade Netiron +.IP \(bu 2 +\fBbrocade_nos\fP: Brocade NOS +.IP \(bu 2 +\fBbrocade_vdx\fP: Brocade NOS +.IP \(bu 2 +\fBbrocade_vyos\fP: VyOS +.IP \(bu 2 +\fBcheckpoint_gaia\fP: Check Point GAiA +.IP \(bu 2 +\fBcalix_b6\fP: Calix B6 +.IP \(bu 2 +\fBciena_saos\fP: Ciena SAOS +.IP \(bu 2 +\fBcisco_asa\fP: Cisco SA +.IP \(bu 2 +\fBcisco_ios\fP: Cisco IOS +.IP \(bu 2 +\fBcisco_nxos\fP: Cisco NX\-oS +.IP \(bu 2 +\fBcisco_s300\fP: Cisco S300 +.IP \(bu 2 +\fBcisco_tp\fP: Cisco TpTcCe +.IP \(bu 2 +\fBcisco_wlc\fP: Cisco WLC +.IP \(bu 2 +\fBcisco_xe\fP: Cisco IOS +.IP \(bu 2 +\fBcisco_xr\fP: Cisco XR +.IP \(bu 2 +\fBcoriant\fP: Coriant +.IP \(bu 2 +\fBdell_force10\fP: Dell Force10 +.IP \(bu 2 +\fBdell_os10\fP: Dell OS10 +.IP \(bu 2 +\fBdell_powerconnect\fP: Dell PowerConnect +.IP \(bu 2 +\fBeltex\fP: Eltex +.IP \(bu 2 +\fBenterasys\fP: Enterasys +.IP \(bu 2 +\fBextreme\fP: Extreme +.IP \(bu 2 +\fBextreme_wing\fP: Extreme Wing +.IP \(bu 2 +\fBf5_ltm\fP: F5 LTM +.IP \(bu 2 +\fBfortinet\fP: Fortinet +.IP \(bu 2 +\fBgeneric_termserver\fP: TerminalServer +.IP \(bu 2 +\fBhp_comware\fP: HP Comware +.IP \(bu 2 +\fBhp_procurve\fP: HP Procurve +.IP \(bu 2 +\fBhuawei\fP: Huawei +.IP \(bu 2 +\fBhuawei_vrpv8\fP: Huawei VRPV8 +.IP \(bu 2 +\fBjuniper\fP: Juniper Junos +.IP \(bu 2 +\fBjuniper_junos\fP: Juniper Junos +.IP \(bu 2 +\fBlinux\fP: Linux +.IP \(bu 2 +\fBmellanox\fP: Mellanox +.IP \(bu 2 +\fBmrv_optiswitch\fP: MrvOptiswitch +.IP \(bu 2 +\fBnetapp_cdot\fP: NetAppcDot +.IP \(bu 2 +\fBnetscaler\fP: Netscaler +.IP \(bu 2 +\fBovs_linux\fP: OvsLinux +.IP \(bu 2 +\fBpaloalto_panos\fP: PaloAlto Panos +.IP \(bu 2 +\fBpluribus\fP: Pluribus +.IP \(bu 2 +\fBquanta_mesh\fP: Quanta Mesh +.IP \(bu 2 +\fBruckus_fastiron\fP: Ruckus Fastiron +.IP \(bu 2 +\fBubiquiti_edge\fP: Ubiquiti Edge +.IP \(bu 2 +\fBubiquiti_edgeswitch\fP: Ubiquiti Edge +.IP \(bu 2 +\fBvyatta_vyos\fP: VyOS +.IP \(bu 2 +\fBvyos\fP: VyOS +.IP \(bu 2 +\fBbrocade_fastiron_telnet\fP: Brocade Fastiron over Telnet +.IP \(bu 2 +\fBbrocade_netiron_telnet\fP: Brocade Netiron over Telnet +.IP \(bu 2 +\fBcisco_ios_telnet\fP: Cisco IOS over Telnet +.IP \(bu 2 +\fBapresia_aeos_telnet\fP: Apresia AEOS over Telnet +.IP \(bu 2 +\fBarista_eos_telnet\fP: Arista EOS over Telnet +.IP \(bu 2 +\fBhp_procurve_telnet\fP: HP Procurve over Telnet +.IP \(bu 2 +\fBhp_comware_telnet\fP: HP Comware over Telnet +.IP \(bu 2 +\fBjuniper_junos_telnet\fP: Juniper Junos over Telnet +.IP \(bu 2 +\fBcalix_b6_telnet\fP: Calix B6 over Telnet +.IP \(bu 2 +\fBdell_powerconnect_telnet\fP: Dell PowerConnect over Telnet +.IP \(bu 2 +\fBgeneric_termserver_telnet\fP: TerminalServer over Telnet +.IP \(bu 2 +\fBextreme_telnet\fP: Extreme Networks over Telnet +.IP \(bu 2 +\fBruckus_fastiron_telnet\fP: Ruckus Fastiron over Telnet +.IP \(bu 2 +\fBcisco_ios_serial\fP: Cisco IOS over serial port +.UNINDENT +.IP \(bu 2 +\fBip\fP \- IP address of target device (not required if \fBhost\fP is provided) +.IP \(bu 2 +\fBhost\fP \- Hostname of target device (not required if \fBip\fP is provided) +.IP \(bu 2 +\fBusername\fP \- Username to authenticate against target device, if required +.IP \(bu 2 +\fBpassword\fP \- Password to authenticate against target device, if required +.IP \(bu 2 +\fBsecret\fP \- The enable password if target device requires one +.IP \(bu 2 +\fBport\fP \- The destination port used to connect to the target device +.IP \(bu 2 +\fBglobal_delay_factor\fP \- Multiplication factor affecting Netmiko delays +(default: \fB1\fP) +.IP \(bu 2 +\fBuse_keys\fP \- Connect to target device using SSH keys (default: \fBFalse\fP) +.IP \(bu 2 +\fBkey_file\fP \- Filename path of the SSH key file to use +.IP \(bu 2 +\fBallow_agent\fP \- Enable use of SSH key\-agent +.IP \(bu 2 +\fBssh_strict\fP \- Automatically reject unknown SSH host keys (default: +\fBFalse\fP, which means unknown SSH host keys will be accepted) +.IP \(bu 2 +\fBsystem_host_keys\fP \- Load host keys from the user\(aqs "known_hosts" file +(default: \fBFalse\fP) +.IP \(bu 2 +\fBalt_host_keys\fP \- If \fBTrue\fP, host keys will be loaded from the file +specified in \fBalt_key_file\fP (default: \fBFalse\fP) +.IP \(bu 2 +\fBalt_key_file\fP \- SSH host key file to use (if \fBalt_host_keys=True\fP) +.IP \(bu 2 +\fBssh_config_file\fP \- File name of OpenSSH configuration file +.IP \(bu 2 +\fBtimeout\fP \- Connection timeout, in seconds (default: \fB90\fP) +.IP \(bu 2 +\fBsession_timeout\fP \- Set a timeout for parallel requests, in seconds +(default: \fB60\fP) +.IP \(bu 2 +\fBkeepalive\fP \- Send SSH keepalive packets at a specific interval, in +seconds. Currently defaults to \fB0\fP, for backwards compatibility (it will +not attempt to keep the connection alive using the KEEPALIVE packets). +.IP \(bu 2 +\fBdefault_enter\fP \- Character(s) to send to correspond to enter key (default: +\fB\en\fP) +.IP \(bu 2 +\fBresponse_return\fP \- Character(s) to use in normalized return data to +represent enter key (default: \fB\en\fP) +.IP \(bu 2 +\fBalways_alive\fP \- In certain less dynamic environments, maintaining the +remote connection permanently open with the network device is not always +beneficial. In that case, the user can select to initialize the connection +only when needed, by setting this option to \fBFalse\fP\&. By default this option +is set to \fBTrue\fP (maintains the connection with the remote network device) +.IP \(bu 2 +\fBmultiprocessing\fP \- Overrides the \fBmultiprocessing\fP option, +per proxy minion, as the Netmiko communication channel is mainly SSH +(default: \fBFalse\fP) +.UNINDENT +.SS Proxy Pillar Example +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy: + proxytype: netmiko + device_type: juniper_junos + host: router1.example.com + username: example + password: example +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy: + proxytype: netmiko + device_type: cisco_ios + ip: 1.2.3.4 + username: test + use_keys: true + secret: w3@k +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.alive(opts) +Return the connection status with the network device. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.args() +Return the Netmiko device args. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.call(method, *args, **kwargs) +Calls an arbitrary netmiko method. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.conn() +Return the connection object. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.init(opts) +Open the connection to the network device +managed through netmiko. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.initialized() +Connection finished initializing? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.ping() +Connection open successfully? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.netmiko_px.shutdown(opts) +Closes connection with the device. +.UNINDENT .SS salt.proxy.nxos module .sp Proxy Minion for Cisco NX OS Switches @@ -297465,8 +321510,69 @@ proxy: (REQUIRED) password to use to login with .TP .B prompt_name -(REQUIRED) The name in the prompt on the switch. By default, use your -devices hostname. +(REQUIRED, this or \fIprompt_regex\fP below, but not both) +The name in the prompt on the switch. Recommended to use your +device\(aqs hostname. +.TP +.B prompt_regex +(REQUIRED, this or \fIprompt_name\fP above, but not both) +A regular expression that matches the prompt on the switch +and any other possible prompt at which you need the proxy minion +to continue sending input. This feature was specifically developed +for situations where the switch may ask for confirmation. \fIprompt_name\fP +above would not match these, and so the session would timeout. +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +dc01\-switch\-01#.*|\e(y\e/n\e)\e?.* +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This should match +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +dc01\-switch\-01# +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +or +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +Flash complete. Reboot this switch (y/n)? [n] +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If neither \fIprompt_name\fP nor \fIprompt_regex\fP is specified the prompt will be +defaulted to +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\&.+#$ +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +which should match any number of characters followed by a \fI#\fP at the end +of the line. This may be far too liberal for most installations. .TP .B ssh_args Any extra args to use to connect to the switch. @@ -297736,6 +321842,170 @@ salt \(aq*\(aq nxos.cmd unset_role username=daniel role=vdc\-admin .UNINDENT .UNINDENT .UNINDENT +.SS salt.proxy.nxos_api module +.sp +Proxy Minion to manage Cisco Nexus Switches (NX\-OS) over the NX\-API +.sp +New in version Fluorine. + +.sp +Proxy module for managing Cisco Nexus switches via the NX\-API. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%ping@mirceaulinic.net\fP> +.TP +.B maturity +new +.TP +.B platform +any +.UNINDENT +.SS Usage +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +To be able to use this module you need to enable to NX\-API on your switch, +by executing \fBfeature nxapi\fP in configuration mode. +.sp +Configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +switch# conf t +switch(config)# feature nxapi +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To check that NX\-API is properly enabled, execute \fBshow nxapi\fP\&. +.sp +Output example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +switch# show nxapi +nxapi enabled +HTTPS Listen on port 443 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +NX\-API requires modern NXOS distributions, typically at least 7.0 depending +on the hardware. Due to reliability reasons it is recommended to run the +most recent version. +.sp +Check \fI\%https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/programmability/guide/b_Cisco_Nexus_7000_Series_NX\-OS_Programmability_Guide/b_Cisco_Nexus_7000_Series_NX\-OS_Programmability_Guide_chapter_0101.html\fP +for more details. +.UNINDENT +.UNINDENT +.SS Pillar +.sp +The \fBnxos_api\fP proxy configuration requires the following parameters in order +to connect to the network switch: +.INDENT 0.0 +.TP +.B transport: \fBhttps\fP +Specifies the type of connection transport to use. Valid values for the +connection are \fBhttp\fP, and \fBhttps\fP\&. +.TP +.B host: \fBlocalhost\fP +The IP address or DNS host name of the connection device. +.TP +.B username: \fBadmin\fP +The username to pass to the device to authenticate the NX\-API connection. +.TP +.B password +The password to pass to the device to authenticate the NX\-API connection. +.TP +.B port +The TCP port of the endpoint for the NX\-API connection. If this keyword is +not specified, the default value is automatically determined by the +transport type (\fB80\fP for \fBhttp\fP, or \fB443\fP for \fBhttps\fP). +.TP +.B timeout: \fB60\fP +Time in seconds to wait for the device to respond. Default: 60 seconds. +.TP +.B verify: \fBTrue\fP +Either a boolean, in which case it controls whether we verify the NX\-API +TLS certificate, or a string, in which case it must be a path to a CA bundle +to use. Defaults to \fBTrue\fP\&. +.sp +When there is no certificate configuration on the device and this option is +set as \fBTrue\fP (default), the commands will fail with the following error: +\fBSSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)\fP\&. +In this case, you either need to configure a proper certificate on the +device (\fIrecommended\fP), or bypass the checks setting this argument as \fBFalse\fP +with all the security risks considered. +.sp +Check \fI\%https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/programmability/6_x/b_Cisco_Nexus_3000_Series_NX\-OS_Programmability_Guide/b_Cisco_Nexus_3000_Series_NX\-OS_Programmability_Guide_chapter_01.html\fP +to see how to properly configure the certificate. +.UNINDENT +.sp +All the arguments may be optional, depending on your setup. +.SS Proxy Pillar Example +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy: + proxytype: nxos_api + host: switch1.example.com + username: example + password: example +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos_api.get_conn_args() +Returns the connection arguments of the Proxy Minion. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos_api.init(opts) +Open the connection to the Nexsu switch over the NX\-API. +.sp +As the communication is HTTP based, there is no connection to maintain, +however, in order to test the connectivity and make sure we are able to +bring up this Minion, we are executing a very simple command (\fBshow clock\fP) +which doesn\(aqt come with much overhead and it\(aqs sufficient to confirm we are +indeed able to connect to the NX\-API endpoint as configured. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos_api.initialized() +Connection finished initializing? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos_api.ping() +Connection open successfully? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos_api.rpc(commands, method=u\(aqcli\(aq, **kwargs) +Executes an RPC request over the NX\-API. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos_api.shutdown(opts) +Closes connection with the device. +.UNINDENT .SS salt.proxy.panos module .SS Proxy Minion interface module for managing Palo Alto firewall devices .sp @@ -298814,6 +323084,12 @@ T} T{ Parses roster entries out of Host directives from SSH config T} _ +T{ +\fBterraform\fP +T} T{ +Dynamic roster from terraform current state +T} +_ .TE .SS salt.roster.ansible .sp @@ -298848,15 +323124,15 @@ then salt\-ssh can be used to hit any of them .sp .nf .ft C -[~]# salt\-ssh all test.ping +[~]# salt\-ssh \-N all test.ping salt.gtmanfred.com: True home: True -[~]# salt\-ssh desktop test.ping +[~]# salt\-ssh \-N desktop test.ping home: True -[~]# salt\-ssh computers test.ping +[~]# salt\-ssh \-N computers test.ping salt.gtmanfred.com: True home: @@ -298929,30 +323205,6 @@ salt.gtmanfred.com: Any of the [groups] or direct hostnames will return. The \(aqall\(aq is special, and returns everything. .INDENT 0.0 .TP -.B class salt.roster.ansible.Inventory(tgt, tgt_type=u\(aqglob\(aq, inventory_file=u\(aq/etc/salt/roster\(aq) -Matcher for static inventory files -.UNINDENT -.INDENT 0.0 -.TP -.B class salt.roster.ansible.Script(tgt, tgt_type=u\(aqglob\(aq, inventory_file=u\(aq/etc/salt/roster\(aq) -Matcher for Inventory scripts -.UNINDENT -.INDENT 0.0 -.TP -.B class salt.roster.ansible.Target -.INDENT 7.0 -.TP -.B get_glob() -Return minions that match via glob -.UNINDENT -.INDENT 7.0 -.TP -.B targets() -Execute the correct tgt_type routine and return -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.roster.ansible.targets(tgt, tgt_type=u\(aqglob\(aq, **kwargs) Return the targets from the ansible inventory_file Default: /etc/salt/roster @@ -299140,47 +323392,6 @@ Return the targets Read in the roster from a flat file using the renderer system .INDENT 0.0 .TP -.B class salt.roster.flat.RosterMatcher(raw, tgt, tgt_type, ipv=u\(aqipv4\(aq) -Matcher for the roster data structure -.INDENT 7.0 -.TP -.B get_data(minion) -Return the configured ip -.UNINDENT -.INDENT 7.0 -.TP -.B ret_glob_minions() -Return minions that match via glob -.UNINDENT -.INDENT 7.0 -.TP -.B ret_list_minions() -Return minions that match via list -.UNINDENT -.INDENT 7.0 -.TP -.B ret_nodegroup_minions() -Return minions which match the special list\-only groups defined by -ssh_list_nodegroups -.UNINDENT -.INDENT 7.0 -.TP -.B ret_pcre_minions() -Return minions that match via pcre -.UNINDENT -.INDENT 7.0 -.TP -.B ret_range_minions() -Return minions that are returned by a range query -.UNINDENT -.INDENT 7.0 -.TP -.B targets() -Execute the correct tgt_type routine and return -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.roster.flat.targets(tgt, tgt_type=u\(aqglob\(aq, **kwargs) Return the targets from the flat yaml file, checks opts for location but defaults to /etc/salt/roster @@ -299290,6 +323501,78 @@ Dictionary of targets in similar style to the flat roster Return the targets from the flat yaml file, checks opts for location but defaults to /etc/salt/roster .UNINDENT +.SS salt.roster.terraform +.SS Dynamic roster from terraform current state +.sp +This roster module allows you dynamically generate the roster from the terraform +resources defined with the \fI\%Terraform Salt\fP provider. +.sp +It exposes all salt_host resources with the same attributes to the salt\-ssh +roster, making it completely independent of the type of terraform resource, and +providing the integration using terraform constructs with interpolation. +.SS Basic Example +.sp +Given a simple salt\-ssh tree with a Saltfile: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-ssh: + config_dir: etc/salt + max_procs: 30 + wipe_ssh: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +and \fBetc/salt/master\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +root_dir: . + file_roots: + base: + \- srv/salt + pillar_roots: + base: + \- srv/pillar + roster: terraform +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In the same folder as your \fBSaltfile\fP, create terraform file with resources +like cloud instances, virtual machines, etc. For every single one of those that +you want to manage with Salt, create a \fBsalt_host\fP resource: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +resource "salt_host" "dbminion" { + salt_id = "dbserver" + host = "${libvirt_domain.vm\-db.network_interface.0.addresses.0}" + user = "root" + passwd = "linux" +} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +You can use the count attribute to create multiple roster entries with a single +definition. Please refer to the \fI\%Terraform Salt\fP provider for more detailed +examples. +.INDENT 0.0 +.TP +.B salt.roster.terraform.targets(tgt, tgt_type=u\(aqglob\(aq, **kwargs) +Returns the roster from the terraform state file, checks opts for location, but defaults to terraform.tfstate +.UNINDENT .SS runner modules .TS center; @@ -299947,7 +324230,7 @@ ________________________________________________________________________________ Return cached data from minions .INDENT 0.0 .TP -.B salt.runners.cache.clear_all(tgt=None, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.runners.cache.clear_all(tgt=None, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -300027,7 +324310,7 @@ salt\-run cache.clear_git_lock git_pillar type=\(aq["update", "mountpoint"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.clear_grains(tgt=None, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.runners.cache.clear_grains(tgt=None, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -300048,7 +324331,7 @@ salt\-run cache.clear_grains .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.clear_mine(tgt=None, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.runners.cache.clear_mine(tgt=None, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -300069,7 +324352,7 @@ salt\-run cache.clear_mine .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.clear_mine_func(tgt=None, tgt_type=u\(aqglob\(aq, clear_mine_func_flag=None, expr_form=None) +.B salt.runners.cache.clear_mine_func(tgt=None, tgt_type=u\(aqglob\(aq, clear_mine_func_flag=None) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -300090,7 +324373,7 @@ salt\-run cache.clear_mine_func tgt=\(aq*\(aq clear_mine_func_flag=\(aqnetwork.i .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.clear_pillar(tgt=None, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.runners.cache.clear_pillar(tgt=None, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -300185,7 +324468,21 @@ Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \f releases must use \fBexpr_form\fP\&. .sp -Return cached grains of the targeted minions +Return cached grains of the targeted minions. +.INDENT 7.0 +.TP +.B tgt +Target to match minion ids. +.sp +Changed in version 2017.7.5,2018.3.0: The \fBtgt\fP argument is now required to display cached grains. If +not used, the function will not return grains. This optional +argument will become mandatory in the Salt \fBSodium\fP release. + +.TP +.B tgt_type +The type of targeting to use for matching, such as \fBglob\fP, \fBlist\fP, +etc. +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -300193,7 +324490,7 @@ CLI Example: .sp .nf .ft C -salt\-run cache.grains +salt\-run cache.grains \(aq*\(aq .ft P .fi .UNINDENT @@ -300201,7 +324498,7 @@ salt\-run cache.grains .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.list(bank, cachedir=None) +.B salt.runners.cache.list_(bank, cachedir=None) Lists entries stored in the specified bank. .sp CLI Example: @@ -301765,8 +326062,8 @@ New in version 2015.5.0. .B salt.runners.http.query(url, output=True, **kwargs) Query a resource, and decode the return data .sp -New in version 2015.5.0. - +Passes through all the parameters described in the +\fButils.http.query function\fP: .sp CLI Example: .INDENT 7.0 @@ -302366,7 +326663,7 @@ the name of the container. .UNINDENT .INDENT 0.0 .TP -.B salt.runners.lxc.list(host=None, quiet=False, path=None) +.B salt.runners.lxc.list_(host=None, quiet=False, path=None) List defined containers (running, stopped, and frozen) for the named (or all) host(s). .INDENT 7.0 @@ -302492,9 +326789,13 @@ General management functions for salt, tools like seeing what hosts are up and what hosts are down .INDENT 0.0 .TP -.B salt.runners.manage.alived(subset=None, show_ipv4=False) +.B salt.runners.manage.alived(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are up according to Salt\(aqs presence detection (no commands will be sent to minions) @@ -302504,7 +326805,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -302523,9 +326824,13 @@ salt\-run manage.alived .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.allowed(subset=None, show_ipv4=False) +.B salt.runners.manage.allowed(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are up according to Salt\(aqs presence detection (no commands will be sent to minions) @@ -302535,7 +326840,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -302689,7 +326994,7 @@ salt\-run manage.bootstrap_psexec hosts=\(aqhost1,host2\(aq installer_url=\(aqht .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.down(removekeys=False, tgt=u\(aq*\(aq, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.runners.manage.down(removekeys=False, tgt=u\(aq*\(aq, tgt_type=u\(aqglob\(aq, timeout=None, gather_job_timeout=None) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -302741,9 +327046,13 @@ salt\-run manage.get_stats [estate=alpha_minion] [stack=lane] .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.joined(subset=None, show_ipv4=False) +.B salt.runners.manage.joined(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are up according to Salt\(aqs presence detection (no commands will be sent to minions) @@ -302753,7 +327062,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -302827,9 +327136,13 @@ salt\-run manage.lane_stats [estate=alpha_minion] .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.list_not_state(subset=None, show_ipv4=False, state=None) +.B salt.runners.manage.list_not_state(subset=None, show_ip=False, show_ipv4=None, state=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are NOT up according to Salt\(aqs presence detection (no commands will be sent to minions) @@ -302839,7 +327152,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .TP @@ -302863,9 +327176,13 @@ salt\-run manage.list_not_state .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.list_state(subset=None, show_ipv4=False, state=None) +.B salt.runners.manage.list_state(subset=None, show_ip=False, show_ipv4=None, state=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are up according to Salt\(aqs presence detection (no commands will be sent to minions) @@ -302875,7 +327192,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .TP @@ -302899,9 +327216,13 @@ salt\-run manage.list_state .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.not_alived(subset=None, show_ipv4=False) +.B salt.runners.manage.not_alived(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are NOT up according to Salt\(aqs presence detection (no commands will be sent) @@ -302911,7 +327232,7 @@ detection (no commands will be sent) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -302930,9 +327251,13 @@ salt\-run manage.not_alived .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.not_allowed(subset=None, show_ipv4=False) +.B salt.runners.manage.not_allowed(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are NOT up according to Salt\(aqs presence detection (no commands will be sent) @@ -302942,7 +327267,7 @@ detection (no commands will be sent) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -302961,9 +327286,13 @@ salt\-run manage.not_allowed .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.not_joined(subset=None, show_ipv4=False) +.B salt.runners.manage.not_joined(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are NOT up according to Salt\(aqs presence detection (no commands will be sent) @@ -302973,7 +327302,7 @@ detection (no commands will be sent) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -302992,9 +327321,13 @@ salt\-run manage.not_joined .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.not_present(subset=None, show_ipv4=False) +.B salt.runners.manage.not_present(subset=None, show_ip=False, show_ipv4=None) New in version 2015.5.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are NOT up according to Salt\(aqs presence detection (no commands will be sent) @@ -303004,7 +327337,7 @@ detection (no commands will be sent) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -303023,9 +327356,13 @@ salt\-run manage.not_present .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.not_reaped(subset=None, show_ipv4=False) +.B salt.runners.manage.not_reaped(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are NOT up according to Salt\(aqs presence detection (no commands will be sent) @@ -303035,7 +327372,7 @@ detection (no commands will be sent) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -303054,7 +327391,11 @@ salt\-run manage.not_reaped .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.present(subset=None, show_ipv4=False) +.B salt.runners.manage.present(subset=None, show_ip=False, show_ipv4=None) +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + +.sp Print a list of all minions that are up according to Salt\(aqs presence detection (no commands will be sent to minions) .INDENT 7.0 @@ -303063,7 +327404,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -303082,9 +327423,13 @@ salt\-run manage.present .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.reaped(subset=None, show_ipv4=False) +.B salt.runners.manage.reaped(subset=None, show_ip=False, show_ipv4=None) New in version 2015.8.0. +.sp +Changed in version Fluorine: The \(aqshow_ipv4\(aq argument has been renamed to \(aqshow_ip\(aq as it now +includes IPv6 addresses for IPv6\-connected minions. + .sp Print a list of all minions that are up according to Salt\(aqs presence detection (no commands will be sent to minions) @@ -303094,7 +327439,7 @@ detection (no commands will be sent to minions) None Pass in a CIDR range to filter minions by IP address. .TP -.B show_ipv4 +.B show_ip False Also show the IP address each minion is connecting from. .UNINDENT @@ -303136,7 +327481,7 @@ salt\-run manage.road_stats [estate=alpha_minion] .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.safe_accept(target, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.runners.manage.safe_accept(target, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -303158,7 +327503,7 @@ salt\-run manage.safe_accept minion1,minion2 tgt_type=list .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.status(output=True, tgt=u\(aq*\(aq, tgt_type=u\(aqglob\(aq, expr_form=None, timeout=None, gather_job_timeout=None) +.B salt.runners.manage.status(output=True, tgt=u\(aq*\(aq, tgt_type=u\(aqglob\(aq, timeout=None, gather_job_timeout=None) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -303181,7 +327526,7 @@ salt\-run manage.status timeout=5 gather_job_timeout=10 .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.up(tgt=u\(aq*\(aq, tgt_type=u\(aqglob\(aq, expr_form=None, timeout=None, gather_job_timeout=None) +.B salt.runners.manage.up(tgt=u\(aq*\(aq, tgt_type=u\(aqglob\(aq, timeout=None, gather_job_timeout=None) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -304875,7 +329220,7 @@ salt\-run reactor.delete \(aqsalt/cloud/*/destroyed\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.runners.reactor.list(saltenv=u\(aqbase\(aq, test=None) +.B salt.runners.reactor.list_(saltenv=u\(aqbase\(aq, test=None) List currently configured reactors .sp CLI Example: @@ -305601,6 +329946,41 @@ salt\-run saltutil.sync_sdb .UNINDENT .INDENT 0.0 .TP +.B salt.runners.saltutil.sync_serializers(saltenv=u\(aqbase\(aq, extmod_whitelist=None, extmod_blacklist=None) +New in version Fluorine. + +.sp +Sync serializer modules from \fBsalt://_serializers\fP to the master +.INDENT 7.0 +.TP +.B saltenv +base +The fileserver environment from which to sync. To sync from more than +one environment, pass a comma\-separated list. +.TP +.B extmod_whitelist +None +comma\-seperated list of modules to sync +.TP +.B extmod_blacklist +None +comma\-seperated list of modules to blacklist based on type +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-run saltutil.sync_utils +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.saltutil.sync_states(saltenv=u\(aqbase\(aq, extmod_whitelist=None, extmod_blacklist=None) Sync state modules from \fBsalt://_states\fP to the master .INDENT 7.0 @@ -305830,7 +330210,7 @@ surround the call with single quotes. .UNINDENT .INDENT 0.0 .TP -.B salt.runners.sdb.set(uri, value) +.B salt.runners.sdb.set_(uri, value) Set a value in a db, using a uri in the form of \fBsdb://<profile>/<key>\fP\&. If the uri provided does not start with \fBsdb://\fP or the value is not successfully set, return \fBFalse\fP\&. @@ -305927,7 +330307,7 @@ salt\-run vmadm.is_running search=\(aqalias=julia\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.runners.smartos_vmadm.list(search=None, verbose=False) +.B salt.runners.smartos_vmadm.list_vms(search=None, verbose=False) List all vms .INDENT 7.0 .TP @@ -306253,7 +330633,7 @@ A Runner module interface on top of the salt\-ssh Python API. This allows for programmatic use from salt\-api, the Reactor, Orchestrate, etc. .INDENT 0.0 .TP -.B salt.runners.ssh.cmd(tgt, fun, arg=(), timeout=None, tgt_type=u\(aqglob\(aq, kwarg=None, expr_form=None) +.B salt.runners.ssh.cmd(tgt, fun, arg=(), timeout=None, tgt_type=u\(aqglob\(aq, kwarg=None) New in version 2015.5.0. .sp @@ -306276,6 +330656,9 @@ Watch Salt\(aqs event bus and block until the given tag is matched .sp New in version 2014.7.0. +.sp +Changed in version Fluorine: \fBtagmatch\fP can now be either a glob or regular expression. + .sp This is useful for utilizing Salt\(aqs event bus from shell scripts or for taking simple actions directly from the CLI. @@ -306287,7 +330670,7 @@ Enable debug logging to see ignored events. .INDENT 7.0 .IP \(bu 2 \fBtagmatch\fP \-\- the event is written to stdout for each tag that matches -this pattern; uses the same matching semantics as Salt\(aqs Reactor. +this glob or regular expression. .IP \(bu 2 \fBcount\fP \-\- this number is decremented for each event that matches the \fBtagmatch\fP parameter; pass \fB\-1\fP to listen forever. @@ -306784,6 +331167,45 @@ salt\-run vault.show_policies myminion .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.runners.vault.unseal() +Unseal Vault server +.sp +This function uses the \(aqkeys\(aq from the \(aqvault\(aq configuration to unseal vault server +.INDENT 7.0 +.TP +.B vault: +.INDENT 7.0 +.TP +.B keys: +.INDENT 7.0 +.IP \(bu 2 +n63/TbrQuL3xaIW7ZZpuXj/tIfnK1/MbVxO4vT3wYD2A +.IP \(bu 2 +S9OwCvMRhErEA4NVVELYBs6w/Me6+urgUr24xGK44Uy3 +.IP \(bu 2 +F1j4b7JKq850NS6Kboiy5laJ0xY8dWJvB3fcwA+SraYl +.IP \(bu 2 +1cYtvjKJNDVam9c7HNqJUfINk4PYyAXIpjkpN/sIuzPv +.IP \(bu 2 +3pPK5X6vGtwLhNOFv1U2elahECz3HpRUfNXJFYLw6lid +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-run vault.unseal +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.runners.venafiapi .sp Support for Venafi @@ -307430,6 +331852,12 @@ Memcached sdb Module T} _ T{ +\fBredis_sdb\fP +T} T{ +Redis SDB module +T} +_ +T{ \fBrest\fP T} T{ Generic REST API SDB Module @@ -307549,7 +331977,7 @@ Get a value from the cache service .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.cache.set(key, value, service=None, profile=None) +.B salt.sdb.cache.set_(key, value, service=None, profile=None) Set a key/value pair in the cache service .UNINDENT .SS salt.sdb.confidant @@ -307665,7 +332093,7 @@ Return a client object for accessing consul .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.consul.set(key, value, profile=None) +.B salt.sdb.consul.set_(key, value, profile=None) .UNINDENT .SS salt.sdb.couchdb .sp @@ -307731,7 +332159,7 @@ Get a value from couchdb by id .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.couchdb.set(key, value, profile=None) +.B salt.sdb.couchdb.set_(key, value, profile=None) Set a key/value pair in couchdb .UNINDENT .SS salt.sdb.env module @@ -307824,7 +332252,7 @@ Get a value .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.env.set(key, value, profile=None) +.B salt.sdb.env.set_(key, value, profile=None) Set a key/value pair .UNINDENT .SS salt.sdb.etcd_db @@ -307862,7 +332290,7 @@ requires very little. In the example: myetcd: driver: etcd etcd.host: 127.0.0.1 - etcd.port: 4001 + etcd.port: 2379 .ft P .fi .UNINDENT @@ -307892,7 +332320,7 @@ Get a value from the etcd service .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.etcd_db.set(key, value, service=None, profile=None) +.B salt.sdb.etcd_db.set_(key, value, service=None, profile=None) Set a key/value pair in the etcd service .UNINDENT .SS salt.sdb.keyring_db @@ -307969,7 +332397,7 @@ Get a value from a keyring service .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.keyring_db.set(key, value, service=None, profile=None) +.B salt.sdb.keyring_db.set_(key, value, service=None, profile=None) Set a key/value pair in a keyring service .UNINDENT .SS salt.sdb.memcached @@ -308030,9 +332458,56 @@ Get a value from memcached .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.memcached.set(key, value, profile=None) +.B salt.sdb.memcached.set_(key, value, profile=None) Set a key/value pair in memcached .UNINDENT +.SS salt.sdb.redis_sdb module +.SS Redis SDB module +.INDENT 0.0 +.INDENT 3.5 +New in version Fluorine. + +.UNINDENT +.UNINDENT +.sp +This module allows access to Redis using an \fBsdb://\fP URI. +.sp +Like all SDB modules, the Redis module requires a configuration profile to +be configured in either the minion or master configuration file. This profile +requires very little. For example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sdb_redis: + driver: redis + host: 127.0.0.1 + port: 6379 + password: pass + db: 1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The \fBdriver\fP refers to the Redis module, all other options are optional. +For option details see: \fI\%https://redis\-py.readthedocs.io/en/latest/\fP\&. +.INDENT 0.0 +.TP +.B salt.sdb.redis_sdb.delete(key, profile=None) +Delete a key from the Redis SDB. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.redis_sdb.get(key, profile=None) +Get a value from the Redis SDB. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.redis_sdb.set_(key, value, profile=None) +Set a value into the Redis SDB. +.UNINDENT .SS salt.sdb.rest module .sp Generic REST API SDB Module @@ -308148,7 +332623,7 @@ Get a value from the REST interface .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.rest.set(key, value, service=None, profile=None) +.B salt.sdb.rest.set_(key, value, service=None, profile=None) Set a key/value pair in the REST interface .UNINDENT .SS salt.sdb.sqlite3 @@ -308201,7 +332676,7 @@ Get a value from sqlite3 .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.sqlite3.set(key, value, profile=None) +.B salt.sdb.sqlite3.set_(key, value, profile=None) Set a key/value pair in sqlite3 .UNINDENT .SS salt.sdb.tism module @@ -308330,7 +332805,7 @@ Get a value from the vault service .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.vault.set(key, value, profile=None) +.B salt.sdb.vault.set_(key, value, profile=None) Set a key/value pair in the vault service .UNINDENT .SS salt.sdb.yaml module @@ -308399,7 +332874,7 @@ Get a value from the dictionary .UNINDENT .INDENT 0.0 .TP -.B salt.sdb.yaml.set(*args, **kwargs) +.B salt.sdb.yaml.set_(*args, **kwargs) Setting a value is not supported; edit the YAML files directly .UNINDENT .SS serializer modules @@ -308833,6 +333308,12 @@ Configuration of the alternatives system T} _ T{ +\fBansiblegate\fP +T} T{ +Execution of Ansible modules from within states +T} +_ +T{ \fBapache\fP T} T{ Apache state @@ -309133,6 +333614,12 @@ Configure Chronos jobs via a salt proxy. T} _ T{ +\fBcimc\fP +T} T{ +A state module to manage Cisco UCS chassis devices. +T} +_ +T{ \fBcisconso\fP T} T{ State module for Cisco NSO Proxy minions @@ -309199,12 +333686,6 @@ Disk monitoring state T} _ T{ -\fBdocker\fP -T} T{ -States to manage Docker containers, images, volumes, and networks -T} -_ -T{ \fBdocker_container\fP T} T{ Management of Docker containers @@ -309565,12 +334046,6 @@ State modules to interact with Junos devices. T} _ T{ -\fBk8s\fP -T} T{ -Manage Kubernetes -T} -_ -T{ \fBkapacitor\fP T} T{ Kapacitor state module. @@ -310015,6 +334490,12 @@ Manage PagerDuty users. T} _ T{ +\fBpanos\fP +T} T{ +A state module to manage Palo Alto network devices. +T} +_ +T{ \fBpcs\fP T} T{ Management of Pacemaker/Corosync clusters with PCS @@ -310383,7 +334864,7 @@ _ T{ \fBsysctl\fP T} T{ -Configuration of the Linux kernel using sysctl +Configuration of the kernel using sysctl T} _ T{ @@ -310590,12 +335071,6 @@ Management of Windows system information T} _ T{ -\fBwin_update\fP -T} T{ -Management of the windows update agent -T} -_ -T{ \fBwin_wua\fP T} T{ Installation of Windows Updates using the Windows Update Agent @@ -310620,6 +335095,12 @@ Sending Messages over XMPP T} _ T{ +\fBzabbix_action\fP +T} T{ +New in version 2017.7. +T} +_ +T{ \fBzabbix_host\fP T} T{ Management of Zabbix hosts. @@ -310638,6 +335119,12 @@ Management of Zabbix mediatypes. T} _ T{ +\fBzabbix_template\fP +T} T{ +New in version 2017.7. +T} +_ +T{ \fBzabbix_user\fP T} T{ Management of Zabbix users. @@ -310650,6 +335137,12 @@ Management of Zabbix user groups. T} _ T{ +\fBzabbix_valuemap\fP +T} T{ +New in version 2017.7. +T} +_ +T{ \fBzcbuildout\fP T} T{ Management of zc.buildout @@ -310725,7 +335218,7 @@ dev.example.com: .UNINDENT .INDENT 0.0 .TP -.B salt.states.acme.cert(name, aliases=None, email=None, webroot=None, test_cert=False, renew=None, keysize=None, server=None, owner=u\(aqroot\(aq, group=u\(aqroot\(aq, mode=u\(aq0640\(aq, certname=None) +.B salt.states.acme.cert(name, aliases=None, email=None, webroot=None, test_cert=False, renew=None, keysize=None, server=None, owner=u\(aqroot\(aq, group=u\(aqroot\(aq, mode=u\(aq0640\(aq, certname=None, preferred_challenges=None, tls_sni_01_port=None, tls_sni_01_address=None, http_01_port=None, http_01_address=None, dns_plugin=None, dns_plugin_credentials=None) Obtain/renew a certificate from an ACME CA, probably Let\(aqs Encrypt. .INDENT 7.0 .TP @@ -310755,6 +335248,27 @@ Obtain/renew a certificate from an ACME CA, probably Let\(aqs Encrypt. \fBmode\fP \-\- mode of the private key file .IP \(bu 2 \fBcertname\fP \-\- Name of the certificate to save +.IP \(bu 2 +\fBpreferred_challenges\fP \-\- A sorted, comma delimited list of the preferred +challenge to use during authorization with the +most preferred challenge listed first. +.IP \(bu 2 +\fBtls_sni_01_port\fP \-\- Port used during tls\-sni\-01 challenge. This only affects +the port Certbot listens on. A conforming ACME server +will still attempt to connect on port 443. +.IP \(bu 2 +\fBtls_sni_01_address\fP \-\- The address the server listens to during tls\-sni\-01 +challenge. +.IP \(bu 2 +\fBhttp_01_port\fP \-\- Port used in the http\-01 challenge. This only affects +the port Certbot listens on. A conforming ACME server +will still attempt to connect on port 80. +.IP \(bu 2 +\fBhttps_01_address\fP \-\- The address the server listens to during http\-01 challenge. +.IP \(bu 2 +\fBdns_plugin\fP \-\- Name of a DNS plugin to use (currently only \(aqcloudflare\(aq) +.IP \(bu 2 +\fBdns_plugin_credentials\fP \-\- Path to the credentials file if required by the specified DNS plugin .UNINDENT .UNINDENT .UNINDENT @@ -310917,7 +335431,7 @@ is the location of one of the alternative target files. .UNINDENT .INDENT 0.0 .TP -.B salt.states.alternatives.set(name, path) +.B salt.states.alternatives.set_(name, path) New in version 0.17.0. .sp @@ -310933,6 +335447,100 @@ is the master name for this link group is the location of one of the alternative target files. (e.g. /usr/bin/less) .UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + alternatives.set: + \- path: /usr/bin/foo\-2.0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.states.ansiblegate +.SS Execution of Ansible modules from within states +.sp +With \fIansible.call\fP these states allow individual Ansible module calls to be +made via states. To call an Ansible module function use a \fBmodule.run\fP +state: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +some_set_of_tasks: + ansible: + \- system.ping + \- packaging.os.zypper + \- name: emacs + \- state: installed +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B class salt.states.ansiblegate.AnsibleState +Ansible state caller. +.INDENT 7.0 +.TP +.B get_args(argset) +Get args and kwargs from the argset. +.INDENT 7.0 +.TP +.B Parameters +\fBargset\fP \-\- +.TP +.B Returns + +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.ansiblegate.playbooks(name, rundir=None, git_repo=None, git_kwargs=None, ansible_kwargs=None) +Run Ansible Playbooks +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- path to playbook. This can be relative to rundir or the git repo +.IP \(bu 2 +\fBrundir\fP \-\- location to run ansible\-playbook from. +.IP \(bu 2 +\fBgit_repo\fP \-\- git repository to clone for ansible playbooks. This is cloned +using the \fIgit.latest\fP state, and is cloned to the \fIrundir\fP +if specified, otherwise it is clone to the \fIcache_dir\fP +.IP \(bu 2 +\fBgit_kwargs\fP \-\- extra kwargs to pass to \fIgit.latest\fP state module besides +the \fIname\fP and \fItarget\fP +.IP \(bu 2 +\fBansible_kwargs\fP \-\- extra kwargs to pass to \fIansible.playbooks\fP execution +module besides the \fIname\fP and \fItarget\fP +.UNINDENT +.TP +.B Returns +Ansible playbook output. +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +run nginx install: + ansible.playbooks: + \- name: install.yml + \- git_repo: git://github.com/gituser/playbook.git + \- git_kwargs: + rev: master +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.states.apache .sp @@ -310979,6 +335587,60 @@ the above word between angle brackets (<>). .fi .UNINDENT .UNINDENT +.sp +Changed in version 2018.3. + +.sp +Allows having the same section container multiple times (e.g. <Directory /path/to/dir>). +.sp +YAML structure stays the same only replace dictionary with a list. +.sp +When a section container does not have mandatory attribute, such as <Else>, +it still needs keyword \fBthis\fP with empty string (or "" if nicer output is required \- without space). +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/httpd/conf.d/website.com.conf: + apache.configfile: + \- config: + \- VirtualHost: + \- this: \(aq*:80\(aq + \- ServerName: + \- website.com + \- DocumentRoot: /var/www/vhosts/website.com + \- Directory: + this: /var/www/vhosts/website.com + Order: Deny,Allow + Deny from: all + Allow from: + \- 127.0.0.1 + \- 192.168.100.0/24 + Options: + \- Indexes + \- FollowSymlinks + AllowOverride: All + \- Directory: + \- this: /var/www/vhosts/website.com/private + \- Order: Deny,Allow + \- Deny from: all + \- Allow from: + \- 127.0.0.1 + \- 192.168.100.0/24 + \- If: + this: some condition + do: something + \- Else: + this: + do: something else + \- Else: + this: "" + do: another thing +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.states.apache.configfile(name, config) @@ -311954,6 +336616,16 @@ example5: .TP .B salt.states.at.mod_watch(name, **kwargs) The at watcher, called to invoke the watch command. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .INDENT 7.0 .TP .B name @@ -315159,6 +339831,18 @@ Dict, or pillar key pointing to a dict, containing AWS region/key/keyid. .sp New in version 2016.11.0. +.INDENT 0.0 +.TP +.B depends +.INDENT 7.0 +.IP \(bu 2 +boto >= 2.8.0 +.IP \(bu 2 +boto3 >= 1.2.1 +.IP \(bu 2 +botocore >= 1.4.49 +.UNINDENT +.UNINDENT .sp Create and destroy rest apis depending on a swagger version 2 definition file. Be aware that this interacts with Amazon\(aqs services, and so may incur charges. @@ -320089,7 +344773,8 @@ Ensure the IAM role exists. Name of the IAM role. .TP .B policy_document -The policy that grants an entity permission to assume the role. (See \fI\%https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role\fP) +The policy that grants an entity permission to assume the role. +(See \fI\%https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role\fP) .TP .B policy_document_from_pillars A pillar key that contains a role policy document. The statements @@ -320100,7 +344785,8 @@ New in version 2017.7.0. .TP .B path -The path to the role/instance profile. (See \fI\%https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role\fP) +The path to the role/instance profile. +(See \fI\%https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role\fP) .TP .B policies A dict of IAM role policies. @@ -321299,8 +345985,9 @@ groups must exist, or creation of the launch configuration will fail. The user data available to launched EC2 instances. .TP .B cloud_init -A dict of cloud_init configuration. Currently supported values: -scripts, cloud\-config. Mutually exclusive with user_data. +A dict of cloud_init configuration. Currently supported keys: +boothooks, scripts and cloud\-config. +Mutually exclusive with user_data. .TP .B instance_type The instance type. ex: m1.small. @@ -322382,6 +347069,11 @@ Ensure mysecgroup exists: from_port: \-1 to_port: \-1 source_group_name: mysecgroup + \- ip_protocol: tcp + from_port: 8080 + to_port: 8080 + source_group_name: MyOtherSecGroup + source_group_name_vpc: MyPeeredVPC \- rules_egress: \- ip_protocol: all from_port: \-1 @@ -323529,9 +348221,9 @@ boto_vpc.route_table_present: interface_id: eni\-123456 \- destination_cidr_block: 10.10.13.0/24 instance_name: mygatewayserver - \- subnet_names: - \- subnet1 - \- subnet2 + \- subnet_names: + \- subnet1 + \- subnet2 .ft P .fi .UNINDENT @@ -323599,7 +348291,7 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_vpc.subnet_present(name, cidr_block, vpc_name=None, vpc_id=None, availability_zone=None, tags=None, region=None, key=None, keyid=None, profile=None, route_table_id=None, route_table_name=None) +.B salt.states.boto_vpc.subnet_present(name, cidr_block, vpc_name=None, vpc_id=None, availability_zone=None, tags=None, region=None, key=None, keyid=None, profile=None, route_table_id=None, route_table_name=None, auto_assign_public_ipv4=False) Ensure a subnet exists. .INDENT 7.0 .TP @@ -324100,33 +348792,33 @@ Installs a package if not already installed .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to be installed. Required. +\fBname\fP (\fIstr\fP) \-\- The name of the package to be installed. Required. .IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- Install a specific version of the package. Defaults to latest +\fBversion\fP (\fIstr\fP) \-\- Install a specific version of the package. Defaults to latest version. If the version is different to the one installed then the specified version will be installed. Default is None. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Chocolatey repository (directory, share or remote URL, feed). +\fBsource\fP (\fIstr\fP) \-\- Chocolatey repository (directory, share or remote URL, feed). Defaults to the official Chocolatey feed. Default is None. .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- Reinstall the current version of an existing package. Do not use +\fBforce\fP (\fIbool\fP) \-\- Reinstall the current version of an existing package. Do not use with \fBallow_multiple\fP\&. Default is False. .IP \(bu 2 -\fBpre_versions\fP (\fI\%bool\fP) \-\- Include pre\-release packages. Default is False. +\fBpre_versions\fP (\fIbool\fP) \-\- Include pre\-release packages. Default is False. .IP \(bu 2 -\fBinstall_args\fP (\fI\%str\fP) \-\- Install arguments you want to pass to the installation process, i.e +\fBinstall_args\fP (\fIstr\fP) \-\- Install arguments you want to pass to the installation process, i.e product key or feature list. Default is None. .IP \(bu 2 -\fBoverride_args\fP (\fI\%bool\fP) \-\- Set to True if you want to override the original install arguments +\fBoverride_args\fP (\fIbool\fP) \-\- Set to True if you want to override the original install arguments (for the native installer) in the package and use your own. When this is set to False install_args will be appended to the end of the default arguments. Default is False. .IP \(bu 2 -\fBforce_x86\fP (\fI\%bool\fP) \-\- Force x86 (32bit) installation on 64 bit systems. Default is False. +\fBforce_x86\fP (\fIbool\fP) \-\- Force x86 (32bit) installation on 64 bit systems. Default is False. .IP \(bu 2 -\fBpackage_args\fP (\fI\%str\fP) \-\- Arguments you want to pass to the package. Default is None. +\fBpackage_args\fP (\fIstr\fP) \-\- Arguments you want to pass to the package. Default is None. .IP \(bu 2 -\fBallow_multiple\fP (\fI\%bool\fP) \-\- +\fBallow_multiple\fP (\fIbool\fP) \-\- .sp Allow mulitiple versions of the package to be installed. Do not use with \fBforce\fP\&. Does not work with all packages. Default is False. @@ -324188,32 +348880,32 @@ New in version 2018.3.0. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to be installed. Required. +\fBname\fP (\fIstr\fP) \-\- The name of the package to be installed. Required. .IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- Install a specific version of the package. Defaults to latest +\fBversion\fP (\fIstr\fP) \-\- Install a specific version of the package. Defaults to latest version. If the version is greater than the one installed then the specified version will be installed. Default is \fBNone\fP\&. .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- Chocolatey repository (directory, share or remote URL, feed). +\fBsource\fP (\fIstr\fP) \-\- Chocolatey repository (directory, share or remote URL, feed). Defaults to the official Chocolatey feed. Default is \fBNone\fP\&. .IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- \fBTrue\fP will reinstall an existing package with the same version. +\fBforce\fP (\fIbool\fP) \-\- \fBTrue\fP will reinstall an existing package with the same version. Default is \fBFalse\fP\&. .IP \(bu 2 -\fBpre_versions\fP (\fI\%bool\fP) \-\- \fBTrue\fP will nclude pre\-release packages. Default is \fBFalse\fP\&. +\fBpre_versions\fP (\fIbool\fP) \-\- \fBTrue\fP will nclude pre\-release packages. Default is \fBFalse\fP\&. .IP \(bu 2 -\fBinstall_args\fP (\fI\%str\fP) \-\- Install arguments you want to pass to the installation process, i.e +\fBinstall_args\fP (\fIstr\fP) \-\- Install arguments you want to pass to the installation process, i.e product key or feature list. Default is \fBNone\fP\&. .IP \(bu 2 -\fBoverride_args\fP (\fI\%bool\fP) \-\- \fBTrue\fP will override the original install arguments (for the +\fBoverride_args\fP (\fIbool\fP) \-\- \fBTrue\fP will override the original install arguments (for the native installer) in the package and use those specified in \fBinstall_args\fP\&. \fBFalse\fP will append install_args to the end of the default arguments. Default is \fBFalse\fP\&. .IP \(bu 2 -\fBforce_x86\fP (\fI\%bool\fP) \-\- \fBTrue\fP forces 32bit installation on 64 bit systems. Default is +\fBforce_x86\fP (\fIbool\fP) \-\- \fBTrue\fP forces 32bit installation on 64 bit systems. Default is \fBFalse\fP\&. .IP \(bu 2 -\fBpackage_args\fP (\fI\%str\fP) \-\- Arguments you want to pass to the package. Default is \fBNone\fP\&. +\fBpackage_args\fP (\fIstr\fP) \-\- Arguments you want to pass to the package. Default is \fBNone\fP\&. .UNINDENT .UNINDENT .INDENT 7.0 @@ -324284,6 +348976,247 @@ to match the given config values. A standard Salt changes dictionary .UNINDENT .UNINDENT +.SS salt.states.cimc +.sp +A state module to manage Cisco UCS chassis devices. +.INDENT 0.0 +.TP +.B codeauthor +\fBSpencer Ervin <spencer_ervin@hotmail.com>\fP +.TP +.B maturity +new +.TP +.B depends +none +.TP +.B platform +unix +.UNINDENT +.SS About +.sp +This state module was designed to handle connections to a Cisco Unified Computing System (UCS) chassis. This module +relies on the CIMC proxy module to interface with the device. +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBCIMC Proxy Module\fP +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.cimc.hostname(name, hostname=None) +Ensures that the hostname is set to the specified value. +.sp +New in version Fluorine. + +.sp +name: The name of the module function to execute. +.sp +hostname(str): The hostname of the server. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +set_name: + cimc.hostname: + \- hostname: foobar +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.cimc.logging_levels(name, remote=None, local=None) +Ensures that the logging levels are set on the device. The logging levels +must match the following options: emergency, alert, critical, error, warning, +notice, informational, debug. +.sp +New in version Fluorine. + +.sp +name: The name of the module function to execute. +.sp +remote(str): The logging level for SYSLOG logs. +.sp +local(str): The logging level for the local device. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +logging_levels: + cimc.logging_levels: + \- remote: informational + \- local: notice +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.cimc.ntp(name, servers) +Ensures that the NTP servers are configured. Servers are provided as an individual string or list format. Only four +NTP servers will be reviewed. Any entries past four will be ignored. +.sp +name: The name of the module function to execute. +.sp +servers(str, list): The IP address or FQDN of the NTP servers. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +ntp_configuration_list: + cimc.ntp: + \- servers: + \- foo.bar.com + \- 10.10.10.10 + +ntp_configuration_str: + cimc.ntp: + \- servers: foo.bar.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.cimc.power_configuration(name, policy=None, delayType=None, delayValue=None) +Ensures that the power configuration is configured on the system. This is +only available on some C\-Series servers. +.sp +New in version Fluorine. + +.sp +name: The name of the module function to execute. +.sp +policy(str): The action to be taken when chassis power is restored after +an unexpected power loss. This can be one of the following: +.INDENT 7.0 +.INDENT 3.5 +reset: The server is allowed to boot up normally when power is +restored. The server can restart immediately or, optionally, after a +fixed or random delay. +.sp +stay\-off: The server remains off until it is manually restarted. +.sp +last\-state: The server restarts and the system attempts to restore +any processes that were running before power was lost. +.UNINDENT +.UNINDENT +.sp +delayType(str): If the selected policy is reset, the restart can be +delayed with this option. This can be one of the following: +.INDENT 7.0 +.INDENT 3.5 +fixed: The server restarts after a fixed delay. +.sp +random: The server restarts after a random delay. +.UNINDENT +.UNINDENT +.sp +delayValue(int): If a fixed delay is selected, once chassis power is +restored and the Cisco IMC has finished rebooting, the system waits for +the specified number of seconds before restarting the server. Enter an +integer between 0 and 240. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +reset_power: + cimc.power_configuration: + \- policy: reset + \- delayType: fixed + \- delayValue: 0 + +power_off: + cimc.power_configuration: + \- policy: stay\-off +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.cimc.syslog(name, primary=None, secondary=None) +Ensures that the syslog servers are set to the specified values. A value of None will be ignored. +.sp +name: The name of the module function to execute. +.sp +primary(str): The IP address or FQDN of the primary syslog server. +.sp +secondary(str): The IP address or FQDN of the secondary syslog server. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog_configuration: + cimc.syslog: + \- primary: 10.10.10.10 + \- secondary: foo.bar.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.cimc.user(name, id=u\(aq\(aq, user=u\(aq\(aq, priv=u\(aq\(aq, password=u\(aq\(aq, status=u\(aqactive\(aq) +Ensures that a user is configured on the device. Due to being unable to +verify the user password. This is a forced operation. +.sp +New in version Fluorine. + +.sp +name: The name of the module function to execute. +.sp +id(int): The user ID slot on the device. +.sp +user(str): The username of the user. +.sp +priv(str): The privilege level of the user. +.sp +password(str): The password of the user. +.sp +status(str): The status of the user. Can be either active or inactive. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +user_configuration: + cimc.user: + \- id: 11 + \- user: foo + \- priv: admin + \- password: mypassword + \- status: active +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.cisconso .sp State module for Cisco NSO Proxy minions @@ -324804,10 +349737,20 @@ else return True .TP .B salt.states.cmd.mod_watch(name, **kwargs) Execute a cmd function based on a watch call +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.cmd.run(name, onlyif=None, unless=None, creates=None, cwd=None, runas=None, shell=None, env=None, prepend_path=None, stateful=False, umask=None, output_loglevel=u\(aqdebug\(aq, hide_output=False, timeout=None, ignore_timeout=False, use_vt=False, **kwargs) +.B salt.states.cmd.run(name, onlyif=None, unless=None, creates=None, cwd=None, runas=None, shell=None, env=None, prepend_path=None, stateful=False, umask=None, output_loglevel=u\(aqdebug\(aq, hide_output=False, timeout=None, ignore_timeout=False, use_vt=False, success_retcodes=None, **kwargs) Run a command if certain circumstances are met. Use \fBcmd.wait\fP if you want to use the \fBwatch\fP requisite. .INDENT 7.0 @@ -324975,6 +349918,18 @@ results. .sp New in version 2016.3.6. +.TP +.B success_retcodes: This parameter will be allow a list of +.INDENT 7.0 +.INDENT 3.5 +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .sp \fBNOTE:\fP @@ -325007,7 +349962,7 @@ getpip: .UNINDENT .INDENT 0.0 .TP -.B salt.states.cmd.script(name, source=None, template=None, onlyif=None, unless=None, creates=None, cwd=None, runas=None, shell=None, env=None, stateful=False, umask=None, timeout=None, use_vt=False, output_loglevel=u\(aqdebug\(aq, hide_output=False, defaults=None, context=None, **kwargs) +.B salt.states.cmd.script(name, source=None, template=None, onlyif=None, unless=None, creates=None, cwd=None, runas=None, shell=None, env=None, stateful=False, umask=None, timeout=None, use_vt=False, output_loglevel=u\(aqdebug\(aq, hide_output=False, defaults=None, context=None, success_retcodes=None, **kwargs) Download a script and execute it with specified arguments. .INDENT 7.0 .TP @@ -325175,11 +350130,23 @@ Salt logs to the minion log. .sp New in version 2018.3.0. +.TP +.B success_retcodes: This parameter will be allow a list of +.INDENT 7.0 +.INDENT 3.5 +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.cmd.wait(name, onlyif=None, unless=None, creates=None, cwd=None, runas=None, shell=None, env=(), stateful=False, umask=None, output_loglevel=u\(aqdebug\(aq, hide_output=False, use_vt=False, **kwargs) +.B salt.states.cmd.wait(name, onlyif=None, unless=None, creates=None, cwd=None, runas=None, shell=None, env=(), stateful=False, umask=None, output_loglevel=u\(aqdebug\(aq, hide_output=False, use_vt=False, success_retcodes=None, **kwargs) Run the given command only if the watch statement calls it. .sp \fBNOTE:\fP @@ -325319,6 +350286,18 @@ New in version 2018.3.0. Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental. +.TP +.B success_retcodes: This parameter will be allow a list of +.INDENT 7.0 +.INDENT 3.5 +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .UNINDENT .INDENT 0.0 @@ -325465,6 +350444,18 @@ Salt logs to the minion log. .sp New in version 2018.3.0. +.TP +.B success_retcodes: This parameter will be allow a list of +.INDENT 7.0 +.INDENT 3.5 +non\-zero return codes that should be considered a success. If the +return code returned from the run matches any in the provided list, +the return code will be overridden with zero. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .UNINDENT .UNINDENT .SS salt.states.composer @@ -325511,7 +350502,7 @@ install\-composer: .UNINDENT .INDENT 0.0 .TP -.B salt.states.composer.installed(name, composer=None, php=None, user=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq, always_check=True) +.B salt.states.composer.installed(name, composer=None, php=None, user=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq, always_check=True, env=None) Verify that the correct versions of composer dependencies are present. .INDENT 7.0 .TP @@ -325561,11 +350552,14 @@ New in version 2014.1.4. If \fBTrue\fP, \fIalways\fP run \fBcomposer install\fP in the directory. This is the default behavior. If \fBFalse\fP, only run \fBcomposer install\fP if there is no vendor directory present. +.TP +.B env +A list of environment variables to be set prior to execution. .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.composer.update(name, composer=None, php=None, user=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq) +.B salt.states.composer.update(name, composer=None, php=None, user=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home=u\(aq/root\(aq, env=None) Composer update the directory to ensure we have the latest versions of all project dependencies. .INDENT 7.0 @@ -325611,6 +350605,9 @@ New in version 2014.1.4. .TP .B composer_home \fB$COMPOSER_HOME\fP environment variable +.TP +.B env +A list of environment variables to be set prior to execution. .UNINDENT .UNINDENT .SS salt.states.cron @@ -325977,6 +350974,8 @@ Overrides the default backup mode for the user\(aqs crontab. .TP .B salt.states.cron.present(name, user=u\(aqroot\(aq, minute=u\(aq*\(aq, hour=u\(aq*\(aq, daymonth=u\(aq*\(aq, month=u\(aq*\(aq, dayweek=u\(aq*\(aq, comment=None, commented=False, identifier=False, special=None) Verifies that the specified cron job is present for the specified user. +It is recommended to use \fIidentifier\fP\&. Otherwise the cron job is installed +twice if you change the name. For more advanced information about what exactly can be set in the cron timing parameters, check your cron system\(aqs documentation. Most Unix\-like systems\(aq cron documentation can be found via the crontab man page: @@ -327114,141 +352113,6 @@ the \fIabsolute\fP flag to use kilobytes. New in version 2016.11.0. .UNINDENT -.UNINDENT -.SS salt.states.docker -.sp -States to manage Docker containers, images, volumes, and networks -.sp -Changed in version 2017.7.0: The legacy Docker state and execution module have been removed, and the -new modules (formerly called \fBdockerng\fP have taken their places). - -.sp -\fBIMPORTANT:\fP -.INDENT 0.0 -.INDENT 3.5 -As of the 2017.7.0 release, the states in this module have been separated -into the following four state modules: -.INDENT 0.0 -.IP \(bu 2 -\fBdocker_container\fP \- States to manage -Docker containers -.IP \(bu 2 -\fBdocker_image\fP \- States to manage Docker -images -.IP \(bu 2 -\fBdocker_volume\fP \- States to manage -Docker volumes -.IP \(bu 2 -\fBdocker_network\fP \- States to manage -Docker networks -.UNINDENT -.sp -The reason for this change was to make states and requisites more clear. -For example, imagine this SLS: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -myuser/appimage: - docker.image_present: - \- sls: docker.images.appimage - -myapp: - docker.running: - \- image: myuser/appimage - \- require: - \- docker: myuser/appimage -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -The new syntax would be: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -myuser/appimage: - docker_image.present: - \- sls: docker.images.appimage - -myapp: - docker_container.running: - \- image: myuser/appimage - \- require: - \- docker_image: myuser/appimage -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -This is similar to how Salt handles MySQL, MongoDB, Zabbix, and other cases -where the same execution module is used to manage several different kinds -of objects (users, databases, roles, etc.). -.sp -The old syntax will continue to work until the \fBFluorine\fP release of -Salt. -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.absent(name, **kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_container.absent\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.image_absent(**kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_image.absent\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.image_present(name, **kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_image.present\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.mod_watch(name, sfun=None, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.network_absent(name, **kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_network.absent\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.network_present(name, **kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_network.present\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.running(name, **kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_container.running\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.stopped(**kwargs) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_container.stopped\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.volume_absent(name, driver=None) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_volume.absent\fP\&. - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.docker.volume_present(name, driver=None, driver_opts=None, force=False) -Deprecated since version 2017.7.0: This state has been moved to \fBdocker_volume.present\fP\&. - .UNINDENT .SS salt.states.docker_container .sp @@ -327359,6 +352223,17 @@ the checks fail, otherwise returns True .INDENT 0.0 .TP .B salt.states.docker_container.mod_watch(name, sfun=None, **kwargs) +The docker_container watcher, called to invoke the watch command. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -327674,11 +352549,16 @@ This is only used if Salt needs to pull the requested image. .sp New in version 2018.3.0. +.sp +Changed in version Fluorine: If the \fBnetworks\fP option is used, any networks (including the default +\fBbridge\fP network) which are not specified will be disconnected. + .sp The \fBnetworks\fP argument can be used to ensure that a container is attached to one or more networks. Optionally, arguments can be passed to the networks. In the example below, \fBnet1\fP is being configured with -arguments, while \fBnet2\fP is being configured \fIwithout\fP arguments: +arguments, while \fBnet2\fP and \fBbridge\fP are being configured \fIwithout\fP +arguments: .INDENT 7.0 .INDENT 3.5 .sp @@ -327694,6 +352574,7 @@ foo: \- baz \- ipv4_address: 10.0.20.50 \- net2 + \- bridge \- require: \- docker_network: net1 \- docker_network: net2 @@ -327716,6 +352597,22 @@ documentation for the correct type/format of data to pass. .UNINDENT .UNINDENT .sp +To start a container with no network connectivity (only possible in +Fluorine and later) pass this option as an empty list. For example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + docker_container.running: + \- image: myuser/myimage:foo + \- networks: [] +.ft P +.fi +.UNINDENT +.UNINDENT +.sp \fBCONTAINER CONFIGURATION PARAMETERS\fP .INDENT 7.0 .TP @@ -329873,6 +354770,17 @@ For more granular control, setting a pillar variable named .INDENT 0.0 .TP .B salt.states.docker_image.mod_watch(name, sfun=None, **kwargs) +The docker_image watcher, called to invoke the watch command. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -330094,7 +355002,7 @@ These states were moved from the \fBdocker\fP state module (formerly called \fBdockerng\fP) in the 2017.7.0 release. .INDENT 0.0 .TP -.B salt.states.docker_network.absent(name, driver=None) +.B salt.states.docker_network.absent(name) Ensure that a network is absent. .INDENT 7.0 .TP @@ -330510,8 +355418,7 @@ mynet: \fBIP ADDRESS MANAGEMENT (IPAM)\fP .sp This state supports networks with either IPv4, or both IPv4 and IPv6. If -configuring IPv4, then you can pass the \fI\%IPAM pool arguments -\(ga\fP below as +configuring IPv4, then you can pass the \fI\%IPAM pool arguments\fP below as individual arguments. However, if configuring IPv4 and IPv6, the arguments must be passed as a list of dictionaries, in the \fBipam_pools\fP argument (click \fI\%here\fP for @@ -331124,7 +356031,7 @@ Required dict for creation parameters as per \fI\%https://www.elastic.co/guide/e .nf .ft C test_pipeline: - elasticsearch_pipeline.present: + elasticsearch.pipeline_present: \- definition: description: example pipeline processors: @@ -331367,20 +356274,8 @@ a_dict_env: .sp A state module to manage Gentoo configuration via eselect .INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -profile: - eselect.set: - target: hardened/linux/amd64 -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 .TP -.B salt.states.eselect.set(name, target, module_parameter=None, action_parameter=None) +.B salt.states.eselect.set_(name, target, module_parameter=None, action_parameter=None) Verify that the given module is set to the given target .INDENT 7.0 .TP @@ -331396,6 +356291,18 @@ additional params passed to the defined module .B action_parameter additional params passed to the defined action .UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +profile: + eselect.set: + \- target: hardened/linux/amd64 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.states.etcd_mod .SS Manage etcd Keys @@ -331590,12 +356497,23 @@ my_etd_config: .INDENT 0.0 .TP .B salt.states.etcd_mod.mod_watch(name, **kwargs) -Execute a etcd function based on a watch call requisite. +The etcd watcher, called to invoke the watch command. +When called, execute a etcd function based on a watch call requisite. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.states.etcd_mod.rm(name, recurse=False, profile=None, **kwargs) -Deletes a key from etcd. This function is also aliased as \fBrm\fP\&. +Deletes a key from etcd .INDENT 7.0 .TP .B name @@ -331623,8 +356541,8 @@ my_etd_config: .UNINDENT .INDENT 0.0 .TP -.B salt.states.etcd_mod.set(name, value, profile=None, **kwargs) -Set a key in etcd and can be called as \fBset\fP\&. +.B salt.states.etcd_mod.set_(name, value, profile=None, **kwargs) +Set a key in etcd .INDENT 7.0 .TP .B name @@ -332441,13 +357359,20 @@ configure\-host\-vsan: Send events through Salt\(aqs event system during state runs .INDENT 0.0 .TP -.B salt.states.event.send(name, data=None, preload=None, with_env=False, with_grains=False, with_pillar=False, **kwargs) +.B salt.states.event.send(name, data=None, preload=None, with_env=False, with_grains=False, with_pillar=False, show_changed=True, **kwargs) Send an event to the Salt Master .sp New in version 2014.7.0. .sp -Accepts the same arguments as the \fBevent.send\fP execution module of the same name. +Accepts the same arguments as the \fBevent.send\fP execution module of the same name, +with the additional argument: +.INDENT 7.0 +.TP +.B Parameters +\fBshow_changed\fP \-\- If \fBTrue\fP, state will show as changed with the data +argument as the change value. If \fBFalse\fP, shows as unchanged. +.UNINDENT .sp Example: .INDENT 7.0 @@ -333527,7 +358452,7 @@ New in version 0.9.5. .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.copy(name, source, force=False, makedirs=False, preserve=False, user=None, group=None, mode=None, subdir=False, **kwargs) +.B salt.states.file.copy_(name, source, force=False, makedirs=False, preserve=False, user=None, group=None, mode=None, subdir=False, **kwargs) If the file defined by the \fBsource\fP option exists on the minion, copy it to the named path. The file will not be overwritten if it already exists, unless the \fBforce\fP option is set to \fBTrue\fP\&. @@ -334116,7 +359041,7 @@ update_config: .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.managed(name, source=None, source_hash=u\(aq\(aq, source_hash_name=None, keep_source=True, user=None, group=None, mode=None, attrs=None, template=None, makedirs=False, dir_mode=None, context=None, replace=True, defaults=None, backup=u\(aq\(aq, show_changes=True, create=True, contents=None, tmp_ext=u\(aq\(aq, contents_pillar=None, contents_grains=None, contents_newline=True, contents_delimiter=u\(aq:\(aq, encoding=None, encoding_errors=u\(aqstrict\(aq, allow_empty=True, follow_symlinks=True, check_cmd=None, skip_verify=False, win_owner=None, win_perms=None, win_deny_perms=None, win_inheritance=True, win_perms_reset=False, **kwargs) +.B salt.states.file.managed(name, source=None, source_hash=u\(aq\(aq, source_hash_name=None, keep_source=True, user=None, group=None, mode=None, attrs=None, template=None, makedirs=False, dir_mode=None, context=None, replace=True, defaults=None, backup=u\(aq\(aq, show_changes=True, create=True, contents=None, tmp_dir=u\(aq\(aq, tmp_ext=u\(aq\(aq, contents_pillar=None, contents_grains=None, contents_newline=True, contents_delimiter=u\(aq:\(aq, encoding=None, encoding_errors=u\(aqstrict\(aq, allow_empty=True, follow_symlinks=True, check_cmd=None, skip_verify=False, win_owner=None, win_perms=None, win_deny_perms=None, win_inheritance=True, win_perms_reset=False, **kwargs) Manage a given file, this function allows for a file to be downloaded from the salt master and potentially run through a templating system. .INDENT 7.0 @@ -334525,6 +359450,10 @@ two example states would result in identical file contents: .B contents_pillar New in version 0.17.0. +.sp +Changed in version 2016.11.0: contents_pillar can also be a list, and the pillars will be +concatinated together to form one file. + .sp Operates like \fBcontents\fP, but draws from a value stored in pillar, using the pillar path syntax used in \fBpillar.get\fP\&. This is useful when the pillar value @@ -334715,6 +359644,28 @@ changes: \fBNOTE\fP: This \fBcheck_cmd\fP functions differently than the requisite \fBcheck_cmd\fP\&. .TP +.B tmp_dir +Directory for temp file created by \fBcheck_cmd\fP\&. Useful for checkers +dependent on config file location (e.g. daemons restricted to their +own config directories by an apparmor profile). +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/dhcp/dhcpd.conf: + file.managed: + \- user: root + \- group: root + \- mode: 0755 + \- tmp_dir: \(aq/etc/dhcp\(aq + \- contents: "# Managed by Salt" + \- check_cmd: dhcpd \-t \-cf +.ft P +.fi +.UNINDENT +.UNINDENT +.TP .B tmp_ext Suffix for temp file created by \fBcheck_cmd\fP\&. Useful for checkers dependent on config file extension (e.g. the init\-checkconf upstart @@ -334961,46 +359912,142 @@ Salt fileserver (i.e. those with \fBsalt://\fP URL). .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.patch(name, source=None, options=u\(aq\(aq, dry_run_first=True, **kwargs) -Ensure that a patch has been applied to the specified file +.B salt.states.file.patch(name, source=None, source_hash=None, source_hash_name=None, skip_verify=False, template=None, context=None, defaults=None, options=u\(aq\(aq, reject_file=None, strip=None, saltenv=None, **kwargs) +Ensure that a patch has been applied to the specified file or directory +.sp +Changed in version Fluorine: The \fBhash\fP and \fBdry_run_first\fP options are now ignored, as the +logic which determines whether or not the patch has already been +applied no longer requires them. Additionally, this state now supports +patch files that modify more than one file. To use these sort of +patches, specify a directory (and, if necessary, the \fBstrip\fP option) +instead of a file. + .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 -A suitable \fBpatch\fP executable must be available on the minion +A suitable \fBpatch\fP executable must be available on the minion. Also, +keep in mind that the pre\-check this state does to determine whether or +not changes need to be made will create a temp file and send all patch +output to that file. This means that, in the event that the patch would +not have applied cleanly, the comment included in the state results will +reference a temp file that will no longer exist once the state finishes +running. .UNINDENT .UNINDENT .INDENT 7.0 .TP .B name -The file to which the patch should be applied +The file or directory to which the patch should be applied .TP .B source -The source patch to download to the minion, this source file must be -hosted on the salt master server. If the file is located in the -directory named spam, and is called eggs, the source string is -salt://spam/eggs. A source is required. +The patch file to apply +.sp +Changed in version Fluorine: The source can now be from any file source supported by Salt +(\fBsalt://\fP, \fBhttp://\fP, \fBhttps://\fP, \fBftp://\fP, etc.). +Templating is also now supported. + .TP -.B hash -The hash of the patched file. If the hash of the target file matches -this value then the patch is assumed to have been applied. For versions -2016.11.4 and newer, the hash can be specified without an accompanying -hash type (e.g. \fBe138491e9d5b97023cea823fe17bac22\fP), but for earlier -releases it is necessary to also specify the hash type in the format -\fB<hash_type>:<hash_value>\fP (e.g. -\fBmd5:e138491e9d5b97023cea823fe17bac22\fP). +.B source_hash +Works the same way as in \fI\%file.managed\fP\&. +.sp +New in version Fluorine. + +.TP +.B source_hash_name +Works the same way as in \fI\%file.managed\fP +.sp +New in version Fluorine. + +.TP +.B skip_verify +Works the same way as in \fI\%file.managed\fP +.sp +New in version Fluorine. + +.TP +.B template +Works the same way as in \fI\%file.managed\fP +.sp +New in version Fluorine. + +.TP +.B context +Works the same way as in \fI\%file.managed\fP +.sp +New in version Fluorine. + +.TP +.B defaults +Works the same way as in \fI\%file.managed\fP +.sp +New in version Fluorine. + .TP .B options -Extra options to pass to patch. +Extra options to pass to patch. This should not be necessary in most +cases. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +For best results, short opts should be separate from one another. +The \fB\-N\fP and \fB\-r\fP, and \fB\-o\fP options are used internally by +this state and cannot be used here. Additionally, instead of using +\fB\-pN\fP or \fB\-\-strip=N\fP, use the \fBstrip\fP option documented +below. +.UNINDENT +.UNINDENT .TP -.B dry_run_first -\fBTrue\fP -Run patch with \fB\-\-dry\-run\fP first to check if it will apply cleanly. +.B reject_file +If specified, any rejected hunks will be written to this file. If not +specified, then they will be written to a temp file which will be +deleted when the state finishes running. +.sp +\fBIMPORTANT:\fP +.INDENT 7.0 +.INDENT 3.5 +The parent directory must exist. Also, this will overwrite the file +if it is already present. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B strip +Number of directories to strip from paths in the patch file. For +example, using the below SLS would instruct Salt to use \fB\-p1\fP when +applying the patch: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/myfile.conf: + file.patch: + \- source: salt://myfile.patch + \- strip: 1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version Fluorine: In previous versions, \fB\-p1\fP would need to be passed as part of +the \fBoptions\fP value. + .TP .B saltenv Specify the environment from which to retrieve the patch file indicated by the \fBsource\fP parameter. If not provided, this defaults to the environment from which the state is being executed. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Ignored when the patch file is from a non\-\fBsalt://\fP source. +.UNINDENT +.UNINDENT .UNINDENT .sp \fBUsage:\fP @@ -335009,24 +360056,14 @@ environment from which the state is being executed. .sp .nf .ft C -# Equivalent to \(ga\(gapatch \-\-forward /opt/file.txt file.patch\(ga\(ga -/opt/file.txt: +# Equivalent to \(ga\(gapatch \-\-forward /opt/myfile.txt myfile.patch\(ga\(ga +/opt/myfile.txt: file.patch: - \- source: salt://file.patch - \- hash: e138491e9d5b97023cea823fe17bac22 + \- source: salt://myfile.patch .ft P .fi .UNINDENT .UNINDENT -.sp -\fBNOTE:\fP -.INDENT 7.0 -.INDENT 3.5 -For minions running version 2016.11.3 or older, the hash in the example -above would need to be specified with the hash type (i.e. -\fBmd5:e138491e9d5b97023cea823fe17bac22\fP). -.UNINDENT -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -335489,7 +360526,7 @@ will be resolved to its target. .TP .B pattern A regular expression, to be matched using Python\(aqs -\fI\%search()\fP\&. +\fBsearch()\fP\&. .sp \fBNOTE:\fP .INDENT 7.0 @@ -335709,7 +360746,7 @@ Usage example: .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.serialize(name, dataset=None, dataset_pillar=None, user=None, group=None, mode=None, backup=u\(aq\(aq, makedirs=False, show_changes=True, create=True, merge_if_exists=False, encoding=None, encoding_errors=u\(aqstrict\(aq, **kwargs) +.B salt.states.file.serialize(name, dataset=None, dataset_pillar=None, user=None, group=None, mode=None, backup=u\(aq\(aq, makedirs=False, show_changes=True, create=True, merge_if_exists=False, encoding=None, encoding_errors=u\(aqstrict\(aq, serializer_opts=None, deserializer_opts=None, **kwargs) Serializes dataset and store it into managed file. Useful for sharing simple configuration files. .INDENT 7.0 @@ -335798,6 +360835,81 @@ content .sp New in version 2014.7.0. +.TP +.B serializer_opts +Pass through options to serializer. For example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/dummy/package.yaml + file.serialize: + \- formatter: yaml + \- serializer_opts: + \- explicit_start: True + \- default_flow_style: True + \- indent: 4 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The valid opts are the additional opts (i.e. not the data being +serialized) for the function used to serialize the data. Documentation +for the these functions can be found in the list below: +.INDENT 7.0 +.IP \(bu 2 +For \fByaml\fP: \fI\%yaml.dump()\fP +.IP \(bu 2 +For \fBjson\fP: \fI\%json.dumps()\fP +.IP \(bu 2 +For \fBpython\fP: \fI\%pprint.pformat()\fP +.UNINDENT +.TP +.B deserializer_opts +Like \fBserializer_opts\fP above, but only used when merging with an +existing file (i.e. when \fBmerge_if_exists\fP is set to \fBTrue\fP). +.sp +The options specified here will be passed to the deserializer to load +the existing data, before merging with the specified data and +re\-serializing. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/dummy/package.yaml + file.serialize: + \- formatter: yaml + \- serializer_opts: + \- explicit_start: True + \- default_flow_style: True + \- indent: 4 + \- deserializer_opts: + \- encoding: latin\-1 + \- merge_if_exists: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The valid opts are the additional opts (i.e. not the data being +deserialized) for the function used to deserialize the data. +Documentation for the these functions can be found in the list below: +.INDENT 7.0 +.IP \(bu 2 +For \fByaml\fP: \fI\%yaml.load()\fP +.IP \(bu 2 +For \fBjson\fP: \fI\%json.loads()\fP +.UNINDENT +.sp +However, note that not all arguments are supported. For example, when +deserializing JSON, arguments like \fBparse_float\fP and \fBparse_int\fP +which accept a callable object cannot be handled in an SLS file. +.sp +New in version Fluorine. + .UNINDENT .sp For example, this state: @@ -335931,6 +361043,9 @@ If the name of the symlink exists and is not a symlink, it will be renamed to the backupname. If the backupname already exists and force is False, the state will fail. Otherwise, the backupname will be removed first. +An absolute path OR a basename file/directory name must be provided. +The latter will be placed relative to the symlink destination\(aqs parent +directory. .TP .B makedirs If the location of the symlink does not already have a parent directory @@ -335981,6 +361096,50 @@ True to inherit permissions from parent, otherwise False .sp New in version 2017.7.7. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.file.tidied(name, age=0, matches=None, rmdirs=False, size=0, **kwargs) +Remove unwanted files based on specific criteria. Multiple criteria +are OR’d together, so a file that is too large but is not old enough +will still get tidied. +.sp +If neither age nor size is given all files which match a pattern in +matches will be removed. +.INDENT 7.0 +.TP +.B name +The directory tree that should be tidied +.TP +.B age +Maximum age in days after which files are considered for removal +.TP +.B matches +List of regular expressions to restrict what gets removed. Default: [\(aq.*\(aq] +.TP +.B rmdirs +Whether or not it\(aqs allowed to remove directories +.TP +.B size +Maximum allowed file size. Files greater or equal to this size are +removed. Doesn\(aqt apply to directories or symbolic links +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +cleanup: + file.tidied: + \- name: /tmp/salt_test + \- rmdirs: True + \- matches: + \- foo + \- b.*r +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -336477,7 +361636,7 @@ newer. .INDENT 0.0 .TP .B salt.states.git.cloned(name, target=None, branch=None, user=None, password=None, identity=None, https_user=None, https_pass=None, output_encoding=None) -New in version 2018.3.3,: Fluorine +New in version 2018.3.3,Fluorine. .sp Ensure that a repository has been cloned to the specified target directory. @@ -336770,7 +361929,7 @@ mylocalrepo: .UNINDENT .INDENT 0.0 .TP -.B salt.states.git.detached(name, rev, target=None, remote=u\(aqorigin\(aq, user=None, password=None, force_clone=False, force_checkout=False, fetch_remote=True, hard_reset=False, submodules=False, identity=None, https_user=None, https_pass=None, onlyif=False, unless=False, output_encoding=None, **kwargs) +.B salt.states.git.detached(name, rev, target=None, remote=u\(aqorigin\(aq, user=None, password=None, force_clone=False, force_checkout=False, fetch_remote=True, hard_reset=False, submodules=False, identity=None, https_user=None, https_pass=None, onlyif=None, unless=None, output_encoding=None, **kwargs) New in version 2016.3.0. .sp @@ -336785,10 +361944,6 @@ Address of the remote repository. The branch, tag, or commit ID to checkout after clone. If a branch or tag is specified it will be resolved to a commit ID and checked out. -.TP -.B ref -Deprecated since version 2017.7.0: Use \fBrev\fP instead. - .TP .B target Name of the target directory where repository is about to be cloned. @@ -336888,7 +362043,7 @@ New in version 2018.3.1. .UNINDENT .INDENT 0.0 .TP -.B salt.states.git.latest(name, rev=u\(aqHEAD\(aq, target=None, branch=None, user=None, password=None, update_head=True, force_checkout=False, force_clone=False, force_fetch=False, force_reset=False, submodules=False, bare=False, mirror=False, remote=u\(aqorigin\(aq, fetch_tags=True, depth=None, identity=None, https_user=None, https_pass=None, onlyif=False, unless=False, refspec_branch=u\(aq*\(aq, refspec_tag=u\(aq*\(aq, output_encoding=None, **kwargs) +.B salt.states.git.latest(name, rev=u\(aqHEAD\(aq, target=None, branch=None, user=None, password=None, update_head=True, force_checkout=False, force_clone=False, force_fetch=False, force_reset=False, submodules=False, bare=False, mirror=False, remote=u\(aqorigin\(aq, fetch_tags=True, sync_tags=True, depth=None, identity=None, https_user=None, https_pass=None, onlyif=None, unless=None, refspec_branch=u\(aq*\(aq, refspec_tag=u\(aq*\(aq, output_encoding=None, **kwargs) Make sure the repository is cloned to the given directory and is up\-to\-date. .INDENT 7.0 @@ -337087,6 +362242,11 @@ False If the update is not a fast\-forward, this state will fail. Set this argument to \fBTrue\fP to force a hard\-reset to the remote revision in these cases. +.sp +Changed in version Fluorine: This option can now be set to \fBremote\-changes\fP, which will +instruct Salt not to discard local changes if the repo is +up\-to\-date with the remote repository. + .TP .B submodules False @@ -337113,12 +362273,24 @@ added. True If \fBTrue\fP, then when a fetch is performed all tags will be fetched, even those which are not reachable by any branch on the remote. +.TP +.B sync_tags +True +If \fBTrue\fP, then Salt will delete tags which exist in the local clone +but are not found on the remote repository. +.sp +New in version 2018.3.4. + .TP .B depth Defines depth in history when git a clone is needed in order to ensure latest. E.g. \fBdepth: 1\fP is useful when deploying from a repository -with a long history. Use rev to specify branch. This is not compatible -with tags or revision IDs. +with a long history. Use rev to specify branch or tag. This is not +compatible with revision IDs. +.sp +Changed in version Fluorine: This option now supports tags as well as branches, on Git 1.8.0 and +newer. + .TP .B identity Path to a private key to use for ssh URLs. This can be either a single @@ -337786,6 +362958,61 @@ Replicated Volume: .UNINDENT .INDENT 0.0 .TP +.B salt.states.glusterfs.max_op_version(name) +New in version Fluorine. + +.sp +Add brick(s) to an existing volume +.INDENT 7.0 +.TP +.B name +Volume name +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myvolume: + glusterfs.max_op_version: + \- name: volume1 + \- version: 30707 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.glusterfs.op_version(name, version) +New in version Fluorine. + +.sp +Add brick(s) to an existing volume +.INDENT 7.0 +.TP +.B name +Volume name +.TP +.B version +Version to which the cluster.op\-version should be set +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myvolume: + glusterfs.op_version: + \- name: volume1 + \- version: 30707 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.glusterfs.peered(name) Check if node is peered. .INDENT 7.0 @@ -337837,7 +363064,7 @@ mycluster: .UNINDENT .INDENT 0.0 .TP -.B salt.states.glusterfs.volume_present(name, bricks, stripe=False, replica=False, device_vg=False, transport=u\(aqtcp\(aq, start=False, force=False) +.B salt.states.glusterfs.volume_present(name, bricks, stripe=False, replica=False, device_vg=False, transport=u\(aqtcp\(aq, start=False, force=False, arbiter=False) Ensure that the volume exists .INDENT 7.0 .TP @@ -337846,6 +363073,15 @@ name of the volume .TP .B bricks list of brick paths +.TP +.B replica +replica count for volume +.TP +.B arbiter +use every third brick as arbiter (metadata only) +.sp +New in version Fluorine. + .TP .B start ensure that the volume is also started @@ -337869,6 +363105,17 @@ Replicated Volume: \- host2:/srv/gluster/drive3 \- replica: 2 \- start: True + +Replicated Volume with arbiter brick: + glusterfs.volume_present: + \- name: volume3 + \- bricks: + \- host1:/srv/gluster/drive2 + \- host2:/srv/gluster/drive3 + \- host3:/srv/gluster/drive4 + \- replica: 3 + \- arbiter: True + \- start: True .ft P .fi .UNINDENT @@ -337936,7 +363183,7 @@ The unique name or keyid for the GPG public key. The keyId or keyIds to add to the GPG keychain. .TP .B user -Add GPG keys to the user\(aqs keychain +Remove GPG keys from the specified user\(aqs keychain .TP .B gnupghome Override GNUPG Home directory @@ -337955,7 +363202,7 @@ The unique name or keyid for the GPG public key. The keyId or keyIds to add to the GPG keychain. .TP .B user -Add GPG keys to the user\(aqs keychain +Add GPG keys to the specified user\(aqs keychain .TP .B keyserver The keyserver to retrieve the keys from. @@ -339196,7 +364443,7 @@ Ensure that the named group is absent .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the group to remove +\fBname\fP (\fIstr\fP) \-\- The name of the group to remove .UNINDENT .sp Example: @@ -339222,23 +364469,23 @@ Ensure that a group is present .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the group to manage +\fBname\fP (\fIstr\fP) \-\- The name of the group to manage .IP \(bu 2 -\fBgid\fP (\fI\%str\fP) \-\- The group id to assign to the named group; if left empty, then the +\fBgid\fP (\fIstr\fP) \-\- The group id to assign to the named group; if left empty, then the next available group id will be assigned. Ignored on Windows .IP \(bu 2 -\fBsystem\fP (\fI\%bool\fP) \-\- Whether or not the named group is a system group. This is essentially +\fBsystem\fP (\fIbool\fP) \-\- Whether or not the named group is a system group. This is essentially the \(aq\-r\(aq option of \(aqgroupadd\(aq. Ignored on Windows .IP \(bu 2 -\fBaddusers\fP (\fI\%list\fP) \-\- List of additional users to be added as a group members. Cannot +\fBaddusers\fP (\fIlist\fP) \-\- List of additional users to be added as a group members. Cannot conflict with names in delusers. Cannot be used in conjunction with members. .IP \(bu 2 -\fBdelusers\fP (\fI\%list\fP) \-\- Ensure these user are removed from the group membership. Cannot +\fBdelusers\fP (\fIlist\fP) \-\- Ensure these user are removed from the group membership. Cannot conflict with names in addusers. Cannot be used in conjunction with members. .IP \(bu 2 -\fBmembers\fP (\fI\%list\fP) \-\- Replace existing group members with a list of new members. Cannot be +\fBmembers\fP (\fIlist\fP) \-\- Replace existing group members with a list of new members. Cannot be used in conjunction with addusers or delusers. .UNINDENT .UNINDENT @@ -339680,7 +364927,7 @@ given IP address are removed. .UNINDENT .INDENT 0.0 .TP -.B salt.states.host.present(name, ip) +.B salt.states.host.present(name, ip, clean=False) Ensures that the named host is present with the given ip .INDENT 7.0 .TP @@ -339688,7 +364935,16 @@ Ensures that the named host is present with the given ip The host to assign an ip to .TP .B ip -The ip addr(s) to apply to the host +The ip addr(s) to apply to the host. Can be a single IP or a list of IP +addresses. +.TP +.B clean +False +Remove any entries which don\(aqt match those configured in the \fBip\fP +option. +.sp +New in version 2018.3.4. + .UNINDENT .UNINDENT .SS salt.states.htpasswd @@ -339770,8 +365026,8 @@ New in version 2015.5.0. .B salt.states.http.query(name, match=None, match_type=u\(aqstring\(aq, status=None, wait_for=None, **kwargs) Perform an HTTP query and statefully return the result .sp -New in version 2015.5.0. - +Passes through all the parameters described in the +\fButils.http.query function\fP: .INDENT 7.0 .TP .B name @@ -340342,6 +365598,19 @@ Name of the database that the retention policy was defined on. .UNINDENT .INDENT 0.0 .TP +.B salt.states.influxdb_retention_policy.convert_duration(duration) +Convert the a duration string into XXhYYmZZs format +.INDENT 7.0 +.TP +.B duration +Duration to convert +.TP +.B Returns: duration_string +String representation of duration in XXhYYmZZs format +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.influxdb_retention_policy.present(name, database, duration=u\(aq7d\(aq, replication=1, default=False, **client_args) Ensure that given retention policy is present. .INDENT 7.0 @@ -340369,14 +365638,14 @@ The name of the user to manage .UNINDENT .INDENT 0.0 .TP -.B salt.states.influxdb_user.present(name, password, admin=False, grants=None, **client_args) +.B salt.states.influxdb_user.present(name, passwd, admin=False, grants=None, **client_args) Ensure that given user is present. .INDENT 7.0 .TP .B name Name of the user to manage .TP -.B password +.B passwd Password of the user .TP .B admin @@ -340404,7 +365673,7 @@ bar_db: all example user present in influxdb: influxdb_user.present: \- name: example - \- password: somepassword + \- passwd: somepassword \- admin: False \- grants: foo_db: read @@ -341961,7 +367230,7 @@ use the latest salt code from github until the next release. Refer to \fBjunos\fP for information on connecting to junos proxy. .INDENT 0.0 .TP -.B salt.states.junos.cli(name, format=u\(aqtext\(aq, **kwargs) +.B salt.states.junos.cli(name, **kwargs) Executes the CLI commands and reuturns the text output. .INDENT 7.0 .INDENT 3.5 @@ -341990,14 +367259,14 @@ The command that need to be executed on Junos CLI. (default = None) .IP \(bu 2 \fBOptional\fP \-\- .INDENT 2.0 .IP \(bu 2 -format: -Format in which to get the CLI output. (text or xml, default = \(aqtext\(aq) -.IP \(bu 2 .INDENT 2.0 .TP .B kwargs: Keyworded arguments which can be provided like\- .INDENT 7.0 .IP \(bu 2 +format: +Format in which to get the CLI output. (text or xml, default = \(aqtext\(aq) +.IP \(bu 2 timeout: Set NETCONF RPC timeout. Can be used for commands which take a while to execute. (default = 30 seconds) @@ -342619,102 +367888,6 @@ reset my device: .sp name: can be anything .UNINDENT -.SS salt.states.k8s -.sp -Manage Kubernetes -.sp -New in version 2016.3.0. - -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -kube_label_1: - k8s.label_present: - \- name: mylabel - \- value: myvalue - \- node: myothernodename - \- apiserver: http://mykubeapiserer:8080 - -kube_label_2: - k8s.label_absent: - \- name: mylabel - \- node: myothernodename - \- apiserver: http://mykubeapiserer:8080 - -kube_label_3: - k8s.label_folder_present: - \- name: mylabel - \- node: myothernodename - \- apiserver: http://mykubeapiserer:8080 -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.k8s.label_absent(name, node=None, apiserver=None) -Deprecated since version 2017.7.0: This state has been moved to \fBkubernetes.node_label_absent -<salt.states.kubernetes.node_label_absent()\fP\&. - -.sp -Ensure the label doesn\(aqt exist on the kube node. -.INDENT 7.0 -.TP -.B name -Name of the label. -.TP -.B node -Override node ID. -.TP -.B apiserver -K8S apiserver URL. -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.k8s.label_folder_absent(name, node=None, apiserver=None) -Deprecated since version 2017.7.0: This state has been moved to \fBkubernetes.node_label_folder_absent -<salt.states.kubernetes.node_label_folder_absent()\fP\&. - -.sp -Ensure the label folder doesn\(aqt exist on the kube node. -.INDENT 7.0 -.TP -.B name -Name of the label folder. -.TP -.B node -Override node ID. -.TP -.B apiserver -K8S apiserver URL. -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.k8s.label_present(name, value, node=None, apiserver=None) -Deprecated since version 2017.7.0: This state has been moved to \fBkubernetes.node_label_present -<salt.states.kubernetes.node_label_present()\fP\&. - -.sp -Ensure the label exists on the kube node. -.INDENT 7.0 -.TP -.B name -Name of the label. -.TP -.B value -Value of the label. -.TP -.B node -Override node ID. -.TP -.B apiserver -K8S apiserver URL. -.UNINDENT -.UNINDENT .SS salt.states.kapacitor module .sp Kapacitor state module. @@ -342729,6 +367902,8 @@ minions: .sp .nf .ft C +kapacitor.unsafe_ssl: \(aqfalse\(aq +kapacitor.protocol: \(aqhttp\(aq kapacitor.host: \(aqlocalhost\(aq kapacitor.port: 9092 .ft P @@ -342754,7 +367929,7 @@ Name of the task. .UNINDENT .INDENT 0.0 .TP -.B salt.states.kapacitor.task_present(name, tick_script, task_type=u\(aqstream\(aq, database=None, retention_policy=u\(aqdefault\(aq, enable=True) +.B salt.states.kapacitor.task_present(name, tick_script, task_type=u\(aqstream\(aq, database=None, retention_policy=u\(aqdefault\(aq, enable=True, dbrps=None) Ensure that a task is present and up\-to\-date in Kapacitor. .INDENT 7.0 .TP @@ -342766,6 +367941,14 @@ Path to the TICK script for the task. Can be a salt:// source. .TP .B task_type Task type. Defaults to \(aqstream\(aq +.TP +.B dbrps +A list of databases and retention policies in "dbname"."rpname" format +to fetch data from. For backward compatibility, the value of +\(aqdatabase\(aq and \(aqretention_policy\(aq will be merged as part of dbrps. +.sp +New in version Fluorine. + .TP .B database Which database to fetch data from. Defaults to None, which will use the @@ -345155,15 +370338,141 @@ root: .fi .UNINDENT .UNINDENT +.sp +Ensure a Linux ACL list is present +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +root: + acl.list_present: + \- name: /root + \- acl_type: user + \- acl_name: + \- damian + \- homer + \- perms: rwx +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Ensure a Linux ACL list does not exist +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +root: + acl.list_absent: + \- name: /root + \- acl_type: user + \- acl_name: + \- damian + \- homer + \- perms: rwx +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.states.linux_acl.absent(name, acl_type, acl_name=u\(aq\(aq, perms=u\(aq\(aq, recurse=False) Ensure a Linux ACL does not exist +.INDENT 7.0 +.TP +.B name +The acl path +.TP +.B acl_type +The type of the acl is used for, it can be \(aquser\(aq or \(aqgroup\(aq +.TP +.B acl_names +The user or group +.TP +.B perms +Remove the permissions eg.: rwx +.TP +.B recurse +Set the permissions recursive in the path +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.linux_acl.present(name, acl_type, acl_name=u\(aq\(aq, perms=u\(aq\(aq, recurse=False) +.B salt.states.linux_acl.list_absent(name, acl_type, acl_names=None, recurse=False) +Ensure a Linux ACL list does not exist +.sp +Takes a list of acl names and remove them from the given path +.INDENT 7.0 +.TP +.B name +The acl path +.TP +.B acl_type +The type of the acl is used for, it can be \(aquser\(aq or \(aqgroup\(aq +.TP +.B acl_names +The list of users or groups +.TP +.B perms +Remove the permissions eg.: rwx +.TP +.B recurse +Set the permissions recursive in the path +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.linux_acl.list_present(name, acl_type, acl_names=None, perms=u\(aq\(aq, recurse=False, force=False) +Ensure a Linux ACL list is present +.sp +Takes a list of acl names and add them to the given path +.INDENT 7.0 +.TP +.B name +The acl path +.TP +.B acl_type +The type of the acl is used for it can be \(aquser\(aq or \(aqgroup\(aq +.TP +.B acl_names +The list of users or groups +.TP +.B perms +Set the permissions eg.: rwx +.TP +.B recurse +Set the permissions recursive in the path +.TP +.B force +Wipe out old permissions and ensure only the new permissions are set +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.linux_acl.present(name, acl_type, acl_name=u\(aq\(aq, perms=u\(aq\(aq, recurse=False, force=False) Ensure a Linux ACL is present +.INDENT 7.0 +.TP +.B name +The acl path +.TP +.B acl_type +The type of the acl is used for it can be \(aquser\(aq or \(aqgroup\(aq +.TP +.B acl_name +The user or group +.TP +.B perms +Set the permissions eg.: rwx +.TP +.B recurse +Set the permissions recursive in the path +.TP +.B force +Wipe out old permissions and ensure only the new permissions are set +.UNINDENT .UNINDENT .SS salt.states.locale .SS Management of languages/locales @@ -345287,20 +370596,20 @@ New in version 2017.7.0. .INDENT 0.0 .TP -.B salt.states.logrotate.set(name, key, value, setting=None, conf_file=u\(aq/etc/logrotate.conf\(aq) +.B salt.states.logrotate.set_(name, key, value, setting=None, conf_file=u\(aq/etc/logrotate.conf\(aq) Set a new value for a specific configuration line. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- The command or block to configure. +\fBkey\fP (\fIstr\fP) \-\- The command or block to configure. .IP \(bu 2 -\fBvalue\fP (\fI\%str\fP) \-\- The command value or command of the block specified by the key parameter. +\fBvalue\fP (\fIstr\fP) \-\- The command value or command of the block specified by the key parameter. .IP \(bu 2 -\fBsetting\fP (\fI\%str\fP) \-\- The command value for the command specified by the value parameter. +\fBsetting\fP (\fIstr\fP) \-\- The command value for the command specified by the value parameter. .IP \(bu 2 -\fBconf_file\fP (\fI\%str\fP) \-\- The logrotate configuration file. +\fBconf_file\fP (\fIstr\fP) \-\- The logrotate configuration file. .UNINDENT .UNINDENT .sp @@ -345311,9 +370620,9 @@ Example of usage with only the required arguments: .nf .ft C logrotate\-rotate: - logrotate.set: - \- key: rotate - \- value: 2 + logrotate.set: + \- key: rotate + \- value: 2 .ft P .fi .UNINDENT @@ -345326,11 +370635,11 @@ Example of usage specifying all available arguments: .nf .ft C logrotate\-wtmp\-rotate: - logrotate.set: - \- key: /var/log/wtmp - \- value: rotate - \- setting: 2 - \- conf_file: /etc/logrotate.conf + logrotate.set: + \- key: /var/log/wtmp + \- value: rotate + \- setting: 2 + \- conf_file: /etc/logrotate.conf .ft P .fi .UNINDENT @@ -345429,30 +370738,30 @@ lvroot: .INDENT 0.0 .TP .B salt.states.lvm.lv_absent(name, vgname=None) -Remove a given existing logical volume from a named existing volume group +Remove a given existing Logical Volume from a named existing volume group .INDENT 7.0 .TP .B name -The logical volume to remove +The Logical Volume to remove .TP .B vgname -The volume group name +The name of the Volume Group on which the Logical Volume resides .UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.states.lvm.lv_present(name, vgname=None, size=None, extents=None, snapshot=None, pv=u\(aq\(aq, thinvolume=False, thinpool=False, force=False, **kwargs) -Create a new logical volume +Create a new Logical Volume .INDENT 7.0 .TP .B name -The name of the logical volume +The name of the Logical Volume .TP .B vgname -The volume group name for this logical volume +The name of the Volume Group on which the Logical Volume resides .TP .B size -The initial size of the logical volume +The initial size of the Logical Volume .TP .B extents The number of logical extents to allocate @@ -345461,7 +370770,7 @@ The number of logical extents to allocate The name of the snapshot .TP .B pv -The physical volume to use +The Physical Volume to use .TP .B kwargs Any supported options to lvcreate. See @@ -345473,10 +370782,10 @@ New in version to_complete. .INDENT 7.0 .TP .B thinvolume -Logical volume is thinly provisioned +Logical Volume is thinly provisioned .TP .B thinpool -Logical volume is a thin pool +Logical Volume is a thin pool .UNINDENT .sp New in version 2018.3.0. @@ -345500,7 +370809,7 @@ The device name to initialize. .INDENT 0.0 .TP .B salt.states.lvm.pv_present(name, **kwargs) -Set a physical device to be used as an LVM physical volume +Set a Physical Device to be used as an LVM Physical Volume .INDENT 7.0 .TP .B name @@ -345524,14 +370833,14 @@ The volume group to remove .INDENT 0.0 .TP .B salt.states.lvm.vg_present(name, devices=None, **kwargs) -Create an LVM volume group +Create an LVM Volume Group .INDENT 7.0 .TP .B name -The volume group name to create +The Volume Group name to create .TP .B devices -A list of devices that will be added to the volume group +A list of devices that will be added to the Volume Group .TP .B kwargs Any supported options to vgcreate. See @@ -345698,8 +371007,10 @@ web01: This state is unsuitable for setting parameters that appear more than once in an LXC config file, or parameters which must appear in a certain order (such as when configuring more than one network -interface). It is slated to be replaced, and as of version 2015.5.0 it -is deprecated. +interface). +.sp +\fI\%Issue #35523\fP was opened to track the addition of a suitable replacement +or fix. .UNINDENT .UNINDENT .sp @@ -346464,6 +371775,11 @@ A standard Salt changes dictionary .UNINDENT .SS salt.states.mdadm .SS Managing software RAID with mdadm +.INDENT 0.0 +.TP +.B depends +mdadm +.UNINDENT .sp A state module for creating or destroying software RAID devices. .INDENT 0.0 @@ -346728,7 +372044,7 @@ execution module \fBdocumentation\fP .UNINDENT .INDENT 0.0 .TP -.B salt.states.modjk_worker.activate(name, lbn, target, profile=u\(aqdefault\(aq, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.states.modjk_worker.activate(name, lbn, target, profile=u\(aqdefault\(aq, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -346755,7 +372071,7 @@ disable\-before\-deploy: .UNINDENT .INDENT 0.0 .TP -.B salt.states.modjk_worker.disable(name, lbn, target, profile=u\(aqdefault\(aq, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.states.modjk_worker.disable(name, lbn, target, profile=u\(aqdefault\(aq, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -346783,7 +372099,7 @@ disable\-before\-deploy: .UNINDENT .INDENT 0.0 .TP -.B salt.states.modjk_worker.stop(name, lbn, target, profile=u\(aqdefault\(aq, tgt_type=u\(aqglob\(aq, expr_form=None) +.B salt.states.modjk_worker.stop(name, lbn, target, profile=u\(aqdefault\(aq, tgt_type=u\(aqglob\(aq) Changed in version 2017.7.0: The \fBexpr_form\fP argument has been renamed to \fBtgt_type\fP, earlier releases must use \fBexpr_form\fP\&. @@ -347241,33 +372557,17 @@ Manage monit states .sp .nf .ft C +monit_enable_service_monitoring: + monit.monitor: + \- name: service +monit_disable_service_monitoring: + monit.unmonitor: + \- name: service .ft P .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B monit_enable_service_monitoring: -.INDENT 7.0 -.TP -.B monit.monitor: -.INDENT 7.0 -.IP \(bu 2 -name: service -.UNINDENT -.UNINDENT -.TP -.B monit_disable_service_monitoring: -.INDENT 7.0 -.TP -.B monit.unmonitor: -.INDENT 7.0 -.IP \(bu 2 -name: service -.UNINDENT -.UNINDENT -.UNINDENT .sp \fBNOTE:\fP .INDENT 0.0 @@ -347332,6 +372632,16 @@ Mount any type of mountable filesystem with the mounted function: .TP .B salt.states.mount.mod_watch(name, user=None, **kwargs) The mounted watcher, called to invoke the watch command. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .INDENT 7.0 .TP .B name @@ -347854,7 +373164,7 @@ query_id: .UNINDENT .INDENT 0.0 .TP -.B salt.states.mysql_query.run(name, database, query, output=None, grain=None, key=None, overwrite=True, **connection_args) +.B salt.states.mysql_query.run(name, database, query, output=None, grain=None, key=None, overwrite=True, check_db_exists=True, **connection_args) Execute an arbitrary query on the specified database .INDENT 7.0 .TP @@ -347881,11 +373191,15 @@ of this state will be stored under the specified key. .TP .B overwrite: The file or grain will be overwritten if it already exists (default) +.TP +.B check_db_exists: +The state run will check that the specified database exists (default=True) +before running any queries .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.mysql_query.run_file(name, database, query_file=None, output=None, grain=None, key=None, overwrite=True, saltenv=None, **connection_args) +.B salt.states.mysql_query.run_file(name, database, query_file=None, output=None, grain=None, key=None, overwrite=True, saltenv=None, check_db_exists=True, **connection_args) Execute an arbitrary query on the specified database .sp New in version 2017.7.0. @@ -347918,6 +373232,10 @@ The file or grain will be overwritten if it already exists (default) .TP .B saltenv: The saltenv to pull the query_file from +.TP +.B check_db_exists: +The state run will check that the specified database exists (default=True) +before running any queries .UNINDENT .UNINDENT .SS salt.states.mysql_user @@ -349108,7 +374426,59 @@ New in version 2017.7.0. .INDENT 0.0 .TP -.B salt.states.netconfig.managed(name, template_name, template_source=None, template_path=None, template_hash=None, template_hash_name=None, template_user=u\(aqroot\(aq, template_group=u\(aqroot\(aq, template_mode=u\(aq755\(aq, template_attrs=u\(aq\-\-\-\-\-\-\-\-\-\-\-\-\-\-e\-\-\-\-\(aq, saltenv=None, template_engine=u\(aqjinja\(aq, skip_verify=False, defaults=None, test=False, commit=True, debug=False, replace=False, **template_vars) +.B salt.states.netconfig.commit_cancelled(name) +New in version Fluorine. + +.sp +Cancel a commit scheduled to be executed via the \fBcommit_in\fP and +\fBcommit_at\fP arguments from the +\fBnet.load_template\fP or +\fBnet.load_config\fP +execution functions. The commit ID is displayed when the commit is scheduled +via the functions named above. +.sp +State SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\(aq20180726083540640360\(aq: + netconfig.commit_cancelled +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.netconfig.commit_confirmed(name) +New in version Fluorine. + +.sp +Confirm a commit scheduled to be reverted via the \fBrevert_in\fP and +\fBrevert_at\fP arguments from the +\fBnet.load_template\fP or +\fBnet.load_config\fP +execution functions. The commit ID is displayed when the commit confirmed +is scheduled via the functions named above. +.sp +State SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\(aq20180726083540640360\(aq: + netconfig.commit_confirmed +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.netconfig.managed(name, template_name=None, template_source=None, template_hash=None, template_hash_name=None, saltenv=u\(aqbase\(aq, template_engine=u\(aqjinja\(aq, skip_verify=False, context=None, defaults=None, test=False, commit=True, debug=False, replace=False, commit_in=None, commit_at=None, revert_in=None, revert_at=None, **template_vars) Manages the configuration on network devices. .sp By default this state will commit the changes on the device. If there are no changes required, it does not commit @@ -349123,14 +374493,6 @@ and/or configuration changes. Otherwise the user might forget that the config DB buffer is not cleared/merged in the running config. .sp To replace the config, set \fBreplace\fP to \fBTrue\fP\&. This option is recommended to be used with caution! -.sp -\fBWARNING:\fP -.INDENT 7.0 -.INDENT 3.5 -The support for NAPALM native templates will be dropped beginning with Salt Fluorine. -Implicitly, the \fBtemplate_path\fP argument will be deprecated and removed. -.UNINDENT -.UNINDENT .INDENT 7.0 .TP .B template_name @@ -349144,8 +374506,8 @@ For example, let\(aqs suppose the \fBfile_roots\fP is configured as: .nf .ft C file_roots: - base: - \- /etc/salt/states + base: + \- /etc/salt/states .ft P .fi .UNINDENT @@ -349169,35 +374531,20 @@ Examples: .IP \(bu 2 \fBftp://example.com/template.py\fP .UNINDENT +.sp +Changed in version Fluorine: This argument can now support a list of templates to be rendered. +The resulting configuration text is loaded at once, as a single +configuration chunk. + .TP .B template_source: None Inline config template to be rendered and loaded on the device. .TP -.B template_path: None -Required only in case the argument \fBtemplate_name\fP provides only the file basename. -E.g.: if \fBtemplate_name\fP is specified as \fBmy_template.jinja\fP, in order to find the -template, this argument must be provided: \fBtemplate_path: /absolute/path/to/\fP\&. -.TP .B template_hash: None Hash of the template file. Format: \fB{hash_type: \(aqmd5\(aq, \(aqhsum\(aq: <md5sum>}\fP .TP .B template_hash_name: None When \fBtemplate_hash\fP refers to a remote file, this specifies the filename to look for in that file. -.TP -.B template_group: root -Owner of file. -.TP -.B template_user: root -Group owner of file. -.TP -.B template_mode: 755 -Permissions of file -.TP -.B template_attrs: "\-\-\-\-\-\-\-\-\-\-\-\-\-\-e\-\-\-\-" -Attributes of file (see \fIman lsattr\fP) -.sp -New in version 2018.3.0. - .TP .B saltenv: base Specifies the template environment. This will influence the relative imports inside the templates. @@ -349247,9 +374594,169 @@ either of the \fBstate.sls\fP or example). .UNINDENT .UNINDENT +.TP +.B commit_in: \fBNone\fP +Commit the changes in a specific number of minutes / hours. Example of +accepted formats: \fB5\fP (commit in 5 minutes), \fB2m\fP (commit in 2 +minutes), \fB1h\fP (commit the changes in 1 hour)\(ga, \fB5h30m\fP (commit +the changes in 5 hours and 30 minutes). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature works on any platforms, as it does not rely on the +native features of the network operating system. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +After the command is executed and the \fBdiff\fP is not satisfactory, +or for any other reasons you have to discard the commit, you are +able to do so using the +\fBnet.cancel_commit\fP +execution function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Using this feature, Salt will load the exact configuration you +expect, however the diff may change in time (i.e., if an user +applies a manual configuration change, or a different process or +command changes the configuration in the meanwhile). +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B commit_at: \fBNone\fP +Commit the changes at a specific time. Example of accepted formats: +\fB1am\fP (will commit the changes at the next 1AM), \fB13:20\fP (will +commit at 13:20), \fB1:20am\fP, etc. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This feature works on any platforms, as it does not rely on the +native features of the network operating system. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +After the command is executed and the \fBdiff\fP is not satisfactory, +or for any other reasons you have to discard the commit, you are +able to do so using the +\fBnet.cancel_commit\fP +execution function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Using this feature, Salt will load the exact configuration you +expect, however the diff may change in time (i.e., if an user +applies a manual configuration change, or a different process or +command changes the configuration in the meanwhile). +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B revert_in: \fBNone\fP +Commit and revert the changes in a specific number of minutes / hours. +Example of accepted formats: \fB5\fP (revert in 5 minutes), \fB2m\fP (revert +in 2 minutes), \fB1h\fP (revert the changes in 1 hour)\(ga, \fB5h30m\fP (revert +the changes in 5 hours and 30 minutes). +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To confirm the commit, and prevent reverting the changes, you will +have to execute the +\fBnet.confirm_commit\fP +function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This works on any platform, regardless if they have or don\(aqt have +native capabilities to confirming a commit. However, please be +\fIvery\fP cautious when using this feature: on Junos (as it is the only +NAPALM core platform supporting this natively) it executes a commit +confirmed as you would do from the command line. +All the other platforms don\(aqt have this capability natively, +therefore the revert is done via Salt. That means, your device needs +to be reachable at the moment when Salt will attempt to revert your +changes. Be cautious when pushing configuration changes that would +prevent you reach the device. +.sp +Similarly, if an user or a different process apply other +configuration changes in the meanwhile (between the moment you +commit and till the changes are reverted), these changes would be +equally reverted, as Salt cannot be aware of them. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + +.TP +.B revert_at: \fBNone\fP +Commit and revert the changes at a specific time. Example of accepted +formats: \fB1am\fP (will commit and revert the changes at the next 1AM), +\fB13:20\fP (will commit and revert at 13:20), \fB1:20am\fP, etc. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To confirm the commit, and prevent reverting the changes, you will +have to execute the +\fBnet.confirm_commit\fP +function, using the commit ID returned by this function. +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +This works on any platform, regardless if they have or don\(aqt have +native capabilities to confirming a commit. However, please be +\fIvery\fP cautious when using this feature: on Junos (as it is the only +NAPALM core platform supporting this natively) it executes a commit +confirmed as you would do from the command line. +All the other platforms don\(aqt have this capability natively, +therefore the revert is done via Salt. That means, your device needs +to be reachable at the moment when Salt will attempt to revert your +changes. Be cautious when pushing configuration changes that would +prevent you reach the device. +.sp +Similarly, if an user or a different process apply other +configuration changes in the meanwhile (between the moment you +commit and till the changes are reverted), these changes would be +equally reverted, as Salt cannot be aware of them. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .TP .B replace: False Load and replace the configuration. Default: \fBFalse\fP (will apply load merge). +.TP +.B context: None +Overrides default context variables passed to the template. +.sp +New in version Fluorine. + .TP .B defaults: None Default variables/context passed to the template. @@ -349259,6 +374766,14 @@ Dictionary with the arguments/context to be used when the template is rendered. argument. This represents any other variable that will be sent to the template rendering system. Please see an example below! In both \fBntp_peers_example_using_pillar\fP and \fBntp_peers_example\fP, \fBpeers\fP is sent as template variable. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +It is more recommended to use the \fBcontext\fP argument instead, to +avoid any conflicts with other arguments. +.UNINDENT +.UNINDENT .UNINDENT .sp SLS Example (e.g.: under salt://router/config.sls) : @@ -349279,7 +374794,6 @@ bgp_config_example: prefix_lists_example: netconfig.managed: \- template_name: prefix_lists.cheetah - \- template_path: /absolute/path/to/ \- debug: True \- template_engine: cheetah ntp_peers_example: @@ -349299,6 +374813,32 @@ ntp_peers_example_using_pillar: .UNINDENT .UNINDENT .sp +Multi template example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +hostname_and_ntp: + netconfig.managed: + \- template_name: + \- https://bit.ly/2OhSgqP + \- https://bit.ly/2M6C4Lx + \- https://bit.ly/2OIWVTs + \- debug: true + \- context: + hostname: {{ opts.id }} + servers: + \- 172.17.17.1 + \- 172.17.17.2 + peers: + \- 192.168.0.1 + \- 192.168.0.2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp Usage examples: .INDENT 7.0 .INDENT 3.5 @@ -349391,6 +374931,284 @@ $ sudo salt \-\-out=pprint \(aqjuniper.device\(aq state.sls router.config test=T .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.netconfig.replace_pattern(name, pattern, repl, count=0, flags=8, bufsize=1, append_if_not_found=False, prepend_if_not_found=False, not_found_content=None, search_only=False, show_changes=True, backslash_literal=False, source=u\(aqrunning\(aq, path=None, test=False, replace=True, debug=False, commit=True) +New in version Fluorine. + +.sp +Replace occurrences of a pattern in the configuration source. If +\fBshow_changes\fP is \fBTrue\fP, then a diff of what changed will be returned, +otherwise a \fBTrue\fP will be returned when changes are made, and \fBFalse\fP +when no changes are made. +This is a pure Python implementation that wraps Python\(aqs \fBsub()\fP\&. +.INDENT 7.0 +.TP +.B pattern +A regular expression, to be matched using Python\(aqs +\fBsearch()\fP\&. +.TP +.B repl +The replacement text. +.TP +.B count: \fB0\fP +Maximum number of pattern occurrences to be replaced. If count is a +positive integer \fBn\fP, only \fBn\fP occurrences will be replaced, +otherwise all occurrences will be replaced. +.TP +.B flags (list or int): \fB8\fP +A list of flags defined in the \fBre\fP module documentation from the +Python standard library. Each list item should be a string that will +correlate to the human\-friendly flag name. E.g., \fB[\(aqIGNORECASE\(aq, +\(aqMULTILINE\(aq]\fP\&. Optionally, \fBflags\fP may be an int, with a value +corresponding to the XOR (\fB|\fP) of all the desired flags. Defaults to +8 (which supports \(aqMULTILINE\(aq). +.TP +.B bufsize (int or str): \fB1\fP +How much of the configuration to buffer into memory at once. The +default value \fB1\fP processes one line at a time. The special value +\fBfile\fP may be specified which will read the entire file into memory +before processing. +.TP +.B append_if_not_found: \fBFalse\fP +If set to \fBTrue\fP, and pattern is not found, then the content will be +appended to the file. +.TP +.B prepend_if_not_found: \fBFalse\fP +If set to \fBTrue\fP and pattern is not found, then the content will be +prepended to the file. +.TP +.B not_found_content +Content to use for append/prepend if not found. If None (default), uses +\fBrepl\fP\&. Useful when \fBrepl\fP uses references to group in pattern. +.TP +.B search_only: \fBFalse\fP +If set to true, this no changes will be performed on the file, and this +function will simply return \fBTrue\fP if the pattern was matched, and +\fBFalse\fP if not. +.TP +.B show_changes: \fBTrue\fP +If \fBTrue\fP, return a diff of changes made. Otherwise, return \fBTrue\fP +if changes were made, and \fBFalse\fP if not. +.TP +.B backslash_literal: \fBFalse\fP +Interpret backslashes as literal backslashes for the repl and not +escape characters. This will help when using append/prepend so that +the backslashes are not interpreted for the repl on the second run of +the state. +.TP +.B source: \fBrunning\fP +The configuration source. Choose from: \fBrunning\fP, \fBcandidate\fP, or +\fBstartup\fP\&. Default: \fBrunning\fP\&. +.TP +.B path +Save the temporary configuration to a specific path, then read from +there. +.TP +.B test: \fBFalse\fP +Dry run? If set as \fBTrue\fP, will apply the config, discard and return +the changes. Default: \fBFalse\fP and will commit the changes on the +device. +.TP +.B commit: \fBTrue\fP +Commit the configuration changes? Default: \fBTrue\fP\&. +.TP +.B debug: \fBFalse\fP +Debug mode. Will insert a new key in the output dictionary, as +\fBloaded_config\fP containing the raw configuration loaded on the device. +.TP +.B replace: \fBTrue\fP +Load and replace the configuration. Default: \fBTrue\fP\&. +.UNINDENT +.sp +If an equal sign (\fB=\fP) appears in an argument to a Salt command it is +interpreted as a keyword argument in the format \fBkey=val\fP\&. That +processing can be bypassed in order to pass an equal sign through to the +remote shell command by manually specifying the kwarg: +.sp +State SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +update_policy_name: + netconfig.replace_pattern: + \- pattern: OLD\-POLICY\-NAME + \- repl: new\-policy\-name + \- debug: true +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.netconfig.saved(name, source=u\(aqrunning\(aq, user=None, group=None, mode=None, attrs=None, makedirs=False, dir_mode=None, replace=True, backup=u\(aq\(aq, show_changes=True, create=True, tmp_dir=u\(aq\(aq, tmp_ext=u\(aq\(aq, encoding=None, encoding_errors=u\(aqstrict\(aq, allow_empty=False, follow_symlinks=True, check_cmd=None, win_owner=None, win_perms=None, win_deny_perms=None, win_inheritance=True, win_perms_reset=False, **kwargs) +New in version Fluorine. + +.sp +Save the configuration to a file on the local file system. +.INDENT 7.0 +.TP +.B name +Absolute path to file where to save the configuration. +To push the files to the Master, use +\fBcp.push\fP Execution function. +.TP +.B source: \fBrunning\fP +The configuration source. Choose from: \fBrunning\fP, \fBcandidate\fP, +\fBstartup\fP\&. Default: \fBrunning\fP\&. +.TP +.B user +The user to own the file, this defaults to the user salt is running as +on the minion +.TP +.B group +The group ownership set for the file, this defaults to the group salt +is running as on the minion. On Windows, this is ignored +.TP +.B mode +The permissions to set on this file, e.g. \fB644\fP, \fB0775\fP, or +\fB4664\fP\&. +The default mode for new files and directories corresponds to the +umask of the salt process. The mode of existing files and directories +will only be changed if \fBmode\fP is specified. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT +.TP +.B attrs +The attributes to have on this file, e.g. \fBa\fP, \fBi\fP\&. The attributes +can be any or a combination of the following characters: +\fBacdijstuADST\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT +.TP +.B makedirs: \fBFalse\fP +If set to \fBTrue\fP, then the parent directories will be created to +facilitate the creation of the named file. If \fBFalse\fP, and the parent +directory of the destination file doesn\(aqt exist, the state will fail. +.TP +.B dir_mode +If directories are to be created, passing this option specifies the +permissions for those directories. If this is not set, directories +will be assigned permissions by adding the execute bit to the mode of +the files. +.sp +The default mode for new files and directories corresponds umask of salt +process. For existing files and directories it\(aqs not enforced. +.TP +.B replace: \fBTrue\fP +If set to \fBFalse\fP and the file already exists, the file will not be +modified even if changes would otherwise be made. Permissions and +ownership will still be enforced, however. +.TP +.B backup +Overrides the default backup mode for this specific file. See +backup_mode documentation for more details. +.TP +.B show_changes: \fBTrue\fP +Output a unified diff of the old file and the new file. If \fBFalse\fP +return a boolean if any changes were made. +.TP +.B create: \fBTrue\fP +If set to \fBFalse\fP, then the file will only be managed if the file +already exists on the system. +.TP +.B encoding +If specified, then the specified encoding will be used. Otherwise, the +file will be encoded using the system locale (usually UTF\-8). See +\fI\%https://docs.python.org/3/library/codecs.html#standard\-encodings\fP for +the list of available encodings. +.TP +.B encoding_errors: \fB\(aqstrict\(aq\fP +Error encoding scheme. Default is \fB\(ga\(aqstrict\(aq\(ga\fP\&. +See \fI\%https://docs.python.org/2/library/codecs.html#codec\-base\-classes\fP +for the list of available schemes. +.TP +.B allow_empty: \fBTrue\fP +If set to \fBFalse\fP, then the state will fail if the contents specified +by \fBcontents_pillar\fP or \fBcontents_grains\fP are empty. +.TP +.B follow_symlinks: \fBTrue\fP +If the desired path is a symlink follow it and make changes to the +file to which the symlink points. +.TP +.B check_cmd +The specified command will be run with an appended argument of a +\fItemporary\fP file containing the new managed contents. If the command +exits with a zero status the new managed contents will be written to +the managed destination. If the command exits with a nonzero exit +code, the state will fail and no changes will be made to the file. +.TP +.B tmp_dir +Directory for temp file created by \fBcheck_cmd\fP\&. Useful for checkers +dependent on config file location (e.g. daemons restricted to their +own config directories by an apparmor profile). +.TP +.B tmp_ext +Suffix for temp file created by \fBcheck_cmd\fP\&. Useful for checkers +dependent on config file extension (e.g. the init\-checkconf upstart +config checker). +.TP +.B win_owner: \fBNone\fP +The owner of the directory. If this is not passed, user will be used. If +user is not passed, the account under which Salt is running will be +used. +.TP +.B win_perms: \fBNone\fP +A dictionary containing permissions to grant and their propagation. For +example: \fB{\(aqAdministrators\(aq: {\(aqperms\(aq: \(aqfull_control\(aq}}\fP Can be a +single basic perm or a list of advanced perms. \fBperms\fP must be +specified. \fBapplies_to\fP does not apply to file objects. +.TP +.B win_deny_perms: \fBNone\fP +A dictionary containing permissions to deny and their propagation. For +example: \fB{\(aqAdministrators\(aq: {\(aqperms\(aq: \(aqfull_control\(aq}}\fP Can be a +single basic perm or a list of advanced perms. \fBperms\fP must be +specified. \fBapplies_to\fP does not apply to file objects. +.TP +.B win_inheritance: \fBTrue\fP +True to inherit permissions from the parent directory, False not to +inherit permission. +.TP +.B win_perms_reset: \fBFalse\fP +If \fBTrue\fP the existing DACL will be cleared and replaced with the +settings defined in this function. If \fBFalse\fP, new entries will be +appended to the existing DACL. Default is \fBFalse\fP\&. +.UNINDENT +.sp +State SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/var/backups/{{ opts.id }}/{{ salt.status.time(\(aq%s\(aq) }}.cfg: + netconfig.saved: + \- source: running + \- makedirs: true +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The state SLS above would create a backup config grouping the files by the +Minion ID, in chronological files. For example, if the state is executed at +on the 3rd of August 2018, at 5:15PM, on the Minion \fBcore1.lon01\fP, the +configuration would saved in the file: +\fB/var/backups/core01.lon01/1533316558.cfg\fP +.UNINDENT .SS salt.states.netntp .SS Network NTP .sp @@ -349779,13 +375597,46 @@ all interfaces are ignored unless specified. \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -Prior to version 2014.1.0, only RedHat\-based systems (RHEL, -CentOS, Scientific Linux, etc.) are supported. Support for Debian/Ubuntu is -new in 2014.1.0 and should be considered experimental. +RedHat\-based systems (RHEL, CentOS, Scientific, etc.) +have been supported since version 2014.1.0. +.sp +Debian\-based systems (Debian, Ubuntu, etc.) have been +supported since version 2017.7.0. The following options +are not supported: ipaddr_start, and ipaddr_end. .sp Other platforms are not yet supported. .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +On Debian\-based systems, networking configuration can be specified +in \fI/etc/network/interfaces\fP or via included files such as (by default) +\fI/etc/network/interfaces.d/*\fP\&. This can be problematic for configuration +management. It is recommended to use either \fIfile.managed\fP \fIor\fP +\fInetwork.managed\fP\&. +.sp +If using \fInetwork.managed\fP, it can be useful to ensure \fIinterfaces.d/\fP +is empty. This can be done using: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B /etc/network/interfaces.d: +.INDENT 7.0 +.TP +.B file.directory: +.INDENT 7.0 +.IP \(bu 2 +clean: True +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .INDENT 0.0 .INDENT 3.5 .sp @@ -349805,9 +375656,17 @@ eth0: network.managed: \- enabled: True \- type: eth - \- proto: none - \- ipaddr: 10.1.0.1 + \- proto: static + \- ipaddr: 10.1.0.7 \- netmask: 255.255.255.0 + \- gateway: 10.1.0.1 + \- enable_ipv6: true + \- ipv6proto: static + \- ipv6ipaddrs: + \- 2001:db8:dead:beef::3/64 + \- 2001:db8:dead:beef::7/64 + \- ipv6gateway: 2001:db8:dead:beef::1 + \- ipv6netmask: 64 \- dns: \- 8.8.8.8 \- 8.8.4.4 @@ -349895,12 +375754,11 @@ bond0: \- type: bond \- ipaddr: 10.1.0.1 \- netmask: 255.255.255.0 - \- mode: active\-backup + \- mode: gre \- proto: static \- dns: \- 8.8.8.8 \- 8.8.4.4 - \- ipv6: \- enabled: False \- slaves: eth2 eth3 \- require: @@ -349976,6 +375834,62 @@ br0: \- require: \- network: eth4 +eth6: + network.managed: + \- type: eth + \- noifupdown: True + + # IPv4 + \- proto: static + \- ipaddr: 192.168.4.9 + \- netmask: 255.255.255.0 + \- gateway: 192.168.4.1 + \- enable_ipv6: True + + # IPv6 + \- ipv6proto: static + \- ipv6ipaddr: 2001:db8:dead:c0::3 + \- ipv6netmask: 64 + \- ipv6gateway: 2001:db8:dead:c0::1 + # override shared; makes those options v4\-only + \- ipv6ttl: 15 + + # Shared + \- mtu: 1480 + \- ttl: 18 + \- dns: + \- 8.8.8.8 + \- 8.8.4.4 + +eth7: + \- type: eth + \- proto: static + \- ipaddr: 10.1.0.7 + \- netmask: 255.255.255.0 + \- gateway: 10.1.0.1 + \- enable_ipv6: True + \- ipv6proto: static + \- ipv6ipaddr: 2001:db8:dead:beef::3 + \- ipv6netmask: 64 + \- ipv6gateway: 2001:db8:dead:beef::1 + \- noifupdown: True + +eth8: + network.managed: + \- enabled: True + \- type: eth + \- proto: static + \- enable_ipv6: true + \- ipv6proto: static + \- ipv6ipaddrs: + \- 2001:db8:dead:beef::3/64 + \- 2001:db8:dead:beef::7/64 + \- ipv6gateway: 2001:db8:dead:beef::1 + \- ipv6netmask: 64 + \- dns: + \- 8.8.8.8 + \- 8.8.4.4 + system: network.system: \- enabled: True @@ -349991,17 +375905,11 @@ lo: network.managed: \- name: lo \- type: eth + \- proto: loopback \- onboot: yes \- userctl: no \- ipv6_autoconf: no \- enable_ipv6: true - \- ipaddrs: - \- 127.0.0.1/8 - \- 10.1.0.4/32 - \- 10.1.0.12/32 - \- ipv6addrs: - \- fc00::1/128 - \- fc00::100/128 \&.. note:: Apply changes to hostname immediately. @@ -350099,7 +376007,7 @@ it requires \fI\%NAPALM\fP library to be installed: \fBpip install napalm\fP\&. Please check \fI\%Installation\fP for complete details. .INDENT 0.0 .TP -.B salt.states.netyang.configured(name, data, *models, **kwargs) +.B salt.states.netyang.configured(name, data, **kwargs) Configure the network device, given the input data strucuted according to the YANG models. .sp @@ -350187,7 +376095,7 @@ openconfig_interfaces_cfg: .UNINDENT .INDENT 0.0 .TP -.B salt.states.netyang.managed(name, data, *models, **kwargs) +.B salt.states.netyang.managed(name, data, **kwargs) Manage the device configuration given the input data structured according to the YANG models. .INDENT 7.0 @@ -351912,6 +377820,756 @@ Ensure pagerduty user exists. Arguments match those supported by \fI\%https://developer.pagerduty.com/documentation/rest/users/create\fP\&. .UNINDENT +.SS salt.states.panos +.sp +A state module to manage Palo Alto network devices. +.INDENT 0.0 +.TP +.B codeauthor +\fBSpencer Ervin <spencer_ervin@hotmail.com>\fP +.TP +.B maturity +new +.TP +.B depends +none +.TP +.B platform +unix +.UNINDENT +.SS About +.sp +This state module was designed to handle connections to a Palo Alto based +firewall. This module relies on the Palo Alto proxy module to interface with the devices. +.sp +This state module is designed to give extreme flexibility in the control over XPATH values on the PANOS device. It +exposes the core XML API commands and allows state modules to chain complex XPATH commands. +.sp +Below is an example of how to construct a security rule and move to the top of the policy. This will take a config +lock to prevent execution during the operation, then remove the lock. After the XPATH has been deployed, it will +commit to the device. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/takelock: + panos.add_config_lock +panos/service_tcp_22: + panos.set_config: + \- xpath: /config/devices/entry[@name=\(aqlocalhost.localdomain\(aq]/vsys/entry[@name=\(aqvsys1\(aq]/service + \- value: <entry name=\(aqtcp\-22\(aq><protocol><tcp><port>22</port></tcp></protocol></entry> + \- commit: False +panos/create_rule1: + panos.set_config: + \- xpath: /config/devices/entry[@name=\(aqlocalhost.localdomain\(aq]/vsys/entry[@name=\(aqvsys1\(aq]/rulebase/security/rules + \- value: \(aq + <entry name="rule1"> + <from><member>trust</member></from> + <to><member>untrust</member></to> + <source><member>10.0.0.1</member></source> + <destination><member>10.0.1.1</member></destination> + <service><member>tcp\-22</member></service> + <application><member>any</member></application> + <action>allow</action> + <disabled>no</disabled> + </entry>\(aq + \- commit: False +panos/moveruletop: + panos.move_config: + \- xpath: /config/devices/entry[@name=\(aqlocalhost.localdomain\(aq]/vsys/entry[@name=\(aqvsys1\(aq]/rulebase/security/rules/entry[@name=\(aqrule1\(aq] + \- where: top + \- commit: False +panos/removelock: + panos.remove_config_lock +panos/commit: + panos.commit +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Version Specific Configurations +.sp +Palo Alto devices running different versions will have different supported features and different command structures. In +order to account for this, the proxy module can be leveraged to check if the panos device is at a specific revision +level. +.sp +The proxy[\(aqpanos.is_required_version\(aq] method will check if a panos device is currently running a version equal or +greater than the passed version. For example, proxy[\(aqpanos.is_required_version\(aq](\(aq7.0.0\(aq) would match both 7.1.0 and +8.0.0. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +{% if proxy[\(aqpanos.is_required_version\(aq](\(aq8.0.0\(aq) %} +panos/deviceconfig/system/motd\-and\-banner: + panos.set_config: + \- xpath: /config/devices/entry[@name=\(aqlocalhost.localdomain\(aq]/deviceconfig/system/motd\-and\-banner + \- value: | + <banner\-header>BANNER TEXT</banner\-header> + <banner\-header\-color>color2</banner\-header\-color> + <banner\-header\-text\-color>color18</banner\-header\-text\-color> + <banner\-header\-footer\-match>yes</banner\-header\-footer\-match> + \- commit: False +{% endif %} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBPalo Alto Proxy Module\fP +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.add_config_lock(name) +Prevent other users from changing configuration until the lock is released. +.sp +name: The name of the module function to execute. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/takelock: + panos.add_config_lock +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.address_exists(name, addressname=None, vsys=1, ipnetmask=None, iprange=None, fqdn=None, description=None, commit=False) +Ensures that an address object exists in the configured state. If it does not exist or is not configured with the +specified attributes, it will be adjusted to match the specified values. +.sp +This module will only process a single address type (ip\-netmask, ip\-range, or fqdn). It will process the specified +value if the following order: ip\-netmask, ip\-range, fqdn. For proper execution, only specify a single address +type. +.sp +name: The name of the module function to execute. +.sp +addressname(str): The name of the address object. The name is case\-sensitive and can have up to 31 characters, +which an be letters, numbers, spaces, hyphens, and underscores. The name must be unique on a firewall and, on +Panorama, unique within its device group and any ancestor or descendant device groups. +.sp +vsys(str): The string representation of the VSYS ID. Defaults to VSYS 1. +.sp +ipnetmask(str): The IPv4 or IPv6 address or IP address range using the format ip_address/mask or ip_address where +the mask is the number of significant binary digits used for the network portion of the address. Ideally, for IPv6, +you specify only the network portion, not the host portion. +.sp +iprange(str): A range of addresses using the format ip_address–ip_address where both addresses can be IPv4 or both +can be IPv6. +.sp +fqdn(str): A fully qualified domain name format. The FQDN initially resolves at commit time. Entries are +subsequently refreshed when the firewall performs a check every 30 minutes; all changes in the IP address for the +entries are picked up at the refresh cycle. +.sp +description(str): A description for the policy (up to 255 characters). +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/address/h\-10.10.10.10: + panos.address_exists: + \- addressname: h\-10.10.10.10 + \- vsys: 1 + \- ipnetmask: 10.10.10.10 + \- commit: False + +panos/address/10.0.0.1\-10.0.0.50: + panos.address_exists: + \- addressname: r\-10.0.0.1\-10.0.0.50 + \- vsys: 1 + \- iprange: 10.0.0.1\-10.0.0.50 + \- commit: False + +panos/address/foo.bar.com: + panos.address_exists: + \- addressname: foo.bar.com + \- vsys: 1 + \- fqdn: foo.bar.com + \- description: My fqdn object + \- commit: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.address_group_exists(name, groupname=None, vsys=1, members=None, description=None, commit=False) +Ensures that an address group object exists in the configured state. If it does not exist or is not configured with +the specified attributes, it will be adjusted to match the specified values. +.sp +This module will enforce group membership. If a group exists and contains members this state does not include, +those members will be removed and replaced with the specified members in the state. +.sp +name: The name of the module function to execute. +.sp +groupname(str): The name of the address group object. The name is case\-sensitive and can have up to 31 characters, +which an be letters, numbers, spaces, hyphens, and underscores. The name must be unique on a firewall and, on +Panorama, unique within its device group and any ancestor or descendant device groups. +.sp +vsys(str): The string representation of the VSYS ID. Defaults to VSYS 1. +.sp +members(str, list): The members of the address group. These must be valid address objects or address groups on the +system that already exist prior to the execution of this state. +.sp +description(str): A description for the policy (up to 255 characters). +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/address\-group/my\-group: + panos.address_group_exists: + \- groupname: my\-group + \- vsys: 1 + \- members: + \- my\-address\-object + \- my\-other\-address\-group + \- description: A group that needs to exist + \- commit: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.clone_config(name, xpath=None, newname=None, commit=False) +Clone a specific XPATH and set it to a new name. +.sp +name: The name of the module function to execute. +.sp +xpath(str): The XPATH of the configuration API tree to clone. +.sp +newname(str): The new name of the XPATH clone. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/clonerule: + panos.clone_config: + \- xpath: /config/devices/entry/vsys/entry[@name=\(aqvsys1\(aq]/rulebase/security/rules&from=/config/devices/ + entry/vsys/entry[@name=\(aqvsys1\(aq]/rulebase/security/rules/entry[@name=\(aqrule1\(aq] + \- value: rule2 + \- commit: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.commit_config(name) +Commits the candidate configuration to the running configuration. +.sp +name: The name of the module function to execute. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/commit: + panos.commit_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.delete_config(name, xpath=None, commit=False) +Deletes a Palo Alto XPATH to a specific value. +.sp +Use the xpath parameter to specify the location of the object to be deleted. +.sp +name: The name of the module function to execute. +.sp +xpath(str): The XPATH of the configuration API tree to control. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/deletegroup: + panos.delete_config: + \- xpath: /config/devices/entry/vsys/entry[@name=\(aqvsys1\(aq]/address\-group/entry[@name=\(aqtest\(aq] + \- commit: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.download_software(name, version=None, synch=False, check=False) +Ensures that a software version is downloaded. +.sp +name: The name of the module function to execute. +.sp +version(str): The software version to check. If this version is not already downloaded, it will attempt to download +the file from Palo Alto. +.sp +synch(bool): If true, after downloading the file it will be synched to its peer. +.sp +check(bool): If true, the PANOS device will first attempt to pull the most recent software inventory list from Palo +Alto. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/version8.0.0: + panos.download_software: + \- version: 8.0.0 + \- synch: False + \- check: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.edit_config(name, xpath=None, value=None, commit=False) +Edits a Palo Alto XPATH to a specific value. This will always overwrite the existing value, even if it is not +changed. +.sp +You can replace an existing object hierarchy at a specified location in the configuration with a new value. Use +the xpath parameter to specify the location of the object, including the node to be replaced. +.sp +This is the recommended state to enforce configurations on a xpath. +.sp +name: The name of the module function to execute. +.sp +xpath(str): The XPATH of the configuration API tree to control. +.sp +value(str): The XML value to edit. This must be a child to the XPATH. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/addressgroup: + panos.edit_config: + \- xpath: /config/devices/entry/vsys/entry[@name=\(aqvsys1\(aq]/address\-group/entry[@name=\(aqtest\(aq] + \- value: <static><entry name=\(aqtest\(aq><member>abc</member><member>xyz</member></entry></static> + \- commit: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.move_config(name, xpath=None, where=None, dst=None, commit=False) +Moves a XPATH value to a new location. +.sp +Use the xpath parameter to specify the location of the object to be moved, the where parameter to +specify type of move, and dst parameter to specify the destination path. +.sp +name: The name of the module function to execute. +.sp +xpath(str): The XPATH of the configuration API tree to move. +.sp +where(str): The type of move to execute. Valid options are after, before, top, bottom. The after and before +options will require the dst option to specify the destination of the action. The top action will move the +XPATH to the top of its structure. The botoom action will move the XPATH to the bottom of its structure. +.sp +dst(str): Optional. Specifies the destination to utilize for a move action. This is ignored for the top +or bottom action. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. If the operation is +not successful, it will not commit. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/moveruletop: + panos.move_config: + \- xpath: /config/devices/entry/vsys/entry[@name=\(aqvsys1\(aq]/rulebase/security/rules/entry[@name=\(aqrule1\(aq] + \- where: top + \- commit: True + +panos/moveruleafter: + panos.move_config: + \- xpath: /config/devices/entry/vsys/entry[@name=\(aqvsys1\(aq]/rulebase/security/rules/entry[@name=\(aqrule1\(aq] + \- where: after + \- dst: rule2 + \- commit: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.remove_config_lock(name) +Release config lock previously held. +.sp +name: The name of the module function to execute. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/takelock: + panos.remove_config_lock +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.rename_config(name, xpath=None, newname=None, commit=False) +Rename a Palo Alto XPATH to a specific value. This will always rename the value even if a change is not needed. +.sp +name: The name of the module function to execute. +.sp +xpath(str): The XPATH of the configuration API tree to control. +.sp +newname(str): The new name of the XPATH value. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/renamegroup: + panos.rename_config: + \- xpath: /config/devices/entry/vsys/entry[@name=\(aqvsys1\(aq]/address/entry[@name=\(aqold_address\(aq] + \- value: new_address + \- commit: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.security_rule_exists(name, rulename=None, vsys=\(aq1\(aq, action=None, disabled=None, sourcezone=None, destinationzone=None, source=None, destination=None, application=None, service=None, description=None, logsetting=None, logstart=None, logend=None, negatesource=None, negatedestination=None, profilegroup=None, datafilter=None, fileblock=None, spyware=None, urlfilter=None, virus=None, vulnerability=None, wildfire=None, move=None, movetarget=None, commit=False) +Ensures that a security rule exists on the device. Also, ensure that all configurations are set appropriately. +.sp +This method will create the rule if it does not exist. If the rule does exist, it will ensure that the +configurations are set appropriately. +.sp +If the rule does not exist and is created, any value that is not provided will be provided as the default. +The action, to, from, source, destination, application, and service fields are mandatory and must be provided. +.sp +This will enforce the exact match of the rule. For example, if the rule is currently configured with the log\-end +option, but this option is not specified in the state method, it will be removed and reset to the system default. +.sp +It is strongly recommended to specify all options to ensure proper operation. +.sp +When defining the profile group settings, the device can only support either a profile group or individual settings. +If both are specified, the profile group will be preferred and the individual settings are ignored. If neither are +specified, the value will be set to system default of none. +.sp +name: The name of the module function to execute. +.sp +rulename(str): The name of the security rule. The name is case\-sensitive and can have up to 31 characters, which +can be letters, numbers, spaces, hyphens, and underscores. The name must be unique on a firewall and, on Panorama, +unique within its device group and any ancestor or descendant device groups. +.sp +vsys(str): The string representation of the VSYS ID. Defaults to VSYS 1. +.sp +action(str): The action that the security rule will enforce. Valid options are: allow, deny, drop, reset\-client, +reset\-server, reset\-both. +.sp +disabled(bool): Controls if the rule is disabled. Set \(aqTrue\(aq to disable and \(aqFalse\(aq to enable. +.sp +sourcezone(str, list): The source zone(s). The value \(aqany\(aq will match all zones. +.sp +destinationzone(str, list): The destination zone(s). The value \(aqany\(aq will match all zones. +.sp +source(str, list): The source address(es). The value \(aqany\(aq will match all addresses. +.sp +destination(str, list): The destination address(es). The value \(aqany\(aq will match all addresses. +.sp +application(str, list): The application(s) matched. The value \(aqany\(aq will match all applications. +.sp +service(str, list): The service(s) matched. The value \(aqany\(aq will match all services. The value +\(aqapplication\-default\(aq will match based upon the application defined ports. +.sp +description(str): A description for the policy (up to 255 characters). +.sp +logsetting(str): The name of a valid log forwarding profile. +.sp +logstart(bool): Generates a traffic log entry for the start of a session (disabled by default). +.sp +logend(bool): Generates a traffic log entry for the end of a session (enabled by default). +.sp +negatesource(bool): Match all but the specified source addresses. +.sp +negatedestination(bool): Match all but the specified destination addresses. +.sp +profilegroup(str): A valid profile group name. +.sp +datafilter(str): A valid data filter profile name. Ignored with the profilegroup option set. +.sp +fileblock(str): A valid file blocking profile name. Ignored with the profilegroup option set. +.sp +spyware(str): A valid spyware profile name. Ignored with the profilegroup option set. +.sp +urlfilter(str): A valid URL filtering profile name. Ignored with the profilegroup option set. +.sp +virus(str): A valid virus profile name. Ignored with the profilegroup option set. +.sp +vulnerability(str): A valid vulnerability profile name. Ignored with the profilegroup option set. +.sp +wildfire(str): A valid vulnerability profile name. Ignored with the profilegroup option set. +.sp +move(str): An optional argument that ensure the rule is moved to a specific location. Valid options are \(aqtop\(aq, +\(aqbottom\(aq, \(aqbefore\(aq, or \(aqafter\(aq. The \(aqbefore\(aq and \(aqafter\(aq options require the use of the \(aqmovetarget\(aq argument +to define the location of the move request. +.sp +movetarget(str): An optional argument that defines the target of the move operation if the move argument is +set to \(aqbefore\(aq or \(aqafter\(aq. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/rulebase/security/rule01: + panos.security_rule_exists: + \- rulename: rule01 + \- vsys: 1 + \- action: allow + \- disabled: False + \- sourcezone: untrust + \- destinationzone: trust + \- source: + \- 10.10.10.0/24 + \- 1.1.1.1 + \- destination: + \- 2.2.2.2\-2.2.2.4 + \- application: + \- any + \- service: + \- tcp\-25 + \- description: My test security rule + \- logsetting: logprofile + \- logstart: False + \- logend: True + \- negatesource: False + \- negatedestination: False + \- profilegroup: myprofilegroup + \- move: top + \- commit: False + +panos/rulebase/security/rule01: + panos.security_rule_exists: + \- rulename: rule01 + \- vsys: 1 + \- action: allow + \- disabled: False + \- sourcezone: untrust + \- destinationzone: trust + \- source: + \- 10.10.10.0/24 + \- 1.1.1.1 + \- destination: + \- 2.2.2.2\-2.2.2.4 + \- application: + \- any + \- service: + \- tcp\-25 + \- description: My test security rule + \- logsetting: logprofile + \- logstart: False + \- logend: False + \- datafilter: foobar + \- fileblock: foobar + \- spyware: foobar + \- urlfilter: foobar + \- virus: foobar + \- vulnerability: foobar + \- wildfire: foobar + \- move: after + \- movetarget: rule02 + \- commit: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.service_exists(name, servicename=None, vsys=1, protocol=None, port=None, description=None, commit=False) +Ensures that a service object exists in the configured state. If it does not exist or is not configured with the +specified attributes, it will be adjusted to match the specified values. +.sp +name: The name of the module function to execute. +.sp +servicename(str): The name of the security object. The name is case\-sensitive and can have up to 31 characters, +which an be letters, numbers, spaces, hyphens, and underscores. The name must be unique on a firewall and, on +Panorama, unique within its device group and any ancestor or descendant device groups. +.sp +vsys(str): The string representation of the VSYS ID. Defaults to VSYS 1. +.sp +protocol(str): The protocol that is used by the service object. The only valid options are tcp and udp. +.sp +port(str): The port number that is used by the service object. This can be specified as a single integer or a +valid range of ports. +.sp +description(str): A description for the policy (up to 255 characters). +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/service/tcp\-80: + panos.service_exists: + \- servicename: tcp\-80 + \- vsys: 1 + \- protocol: tcp + \- port: 80 + \- description: Hypertext Transfer Protocol + \- commit: False + +panos/service/udp\-500\-550: + panos.service_exists: + \- servicename: udp\-500\-550 + \- vsys: 3 + \- protocol: udp + \- port: 500\-550 + \- commit: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.service_group_exists(name, groupname=None, vsys=1, members=None, description=None, commit=False) +Ensures that a service group object exists in the configured state. If it does not exist or is not configured with +the specified attributes, it will be adjusted to match the specified values. +.sp +This module will enforce group membership. If a group exists and contains members this state does not include, +those members will be removed and replaced with the specified members in the state. +.sp +name: The name of the module function to execute. +.sp +groupname(str): The name of the service group object. The name is case\-sensitive and can have up to 31 characters, +which an be letters, numbers, spaces, hyphens, and underscores. The name must be unique on a firewall and, on +Panorama, unique within its device group and any ancestor or descendant device groups. +.sp +vsys(str): The string representation of the VSYS ID. Defaults to VSYS 1. +.sp +members(str, list): The members of the service group. These must be valid service objects or service groups on the +system that already exist prior to the execution of this state. +.sp +description(str): A description for the policy (up to 255 characters). +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/service\-group/my\-group: + panos.service_group_exists: + \- groupname: my\-group + \- vsys: 1 + \- members: + \- tcp\-80 + \- custom\-port\-group + \- description: A group that needs to exist + \- commit: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.panos.set_config(name, xpath=None, value=None, commit=False) +Sets a Palo Alto XPATH to a specific value. This will always overwrite the existing value, even if it is not +changed. +.sp +You can add or create a new object at a specified location in the configuration hierarchy. Use the xpath parameter +to specify the location of the object in the configuration +.sp +name: The name of the module function to execute. +.sp +xpath(str): The XPATH of the configuration API tree to control. +.sp +value(str): The XML value to set. This must be a child to the XPATH. +.sp +commit(bool): If true the firewall will commit the changes, if false do not commit changes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +panos/hostname: + panos.set_config: + \- xpath: /config/devices/entry[@name=\(aqlocalhost.localdomain\(aq]/deviceconfig/system + \- value: <hostname>foobar</hostname> + \- commit: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.pcs module .SS Management of Pacemaker/Corosync clusters with PCS .sp @@ -353306,11 +379964,11 @@ Currently supported for the following pkg providers: .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to be downloaded. This parameter is ignored if +\fBname\fP (\fIstr\fP) \-\- The name of the package to be downloaded. This parameter is ignored if either "pkgs" is used. Additionally, please note that this option can only be used to download packages from a software repository. .IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- +\fBversion\fP (\fIstr\fP) \-\- .sp Download a specific version of a package. .sp @@ -353359,7 +380017,7 @@ common_packages: .UNINDENT .IP \(bu 2 -\fBresolve_capabilities\fP (\fI\%bool\fP) \-\- +\fBresolve_capabilities\fP (\fIbool\fP) \-\- .sp Turn on resolving capabilities. This allow one to name "provides" or alias names for packages. .sp @@ -353451,20 +380109,21 @@ call to \fBpkg.install\fP\&. .INDENT 0.0 .TP .B salt.states.pkg.installed(name, version=None, refresh=None, fromrepo=None, skip_verify=False, skip_suggestions=False, pkgs=None, sources=None, allow_updates=False, pkg_verify=False, normalize=True, ignore_epoch=False, reinstall=False, update_holds=False, **kwargs) -.INDENT 7.0 -.INDENT 3.5 Ensure that the package is installed, and that it is the correct version (if specified). -.INDENT 0.0 +.INDENT 7.0 .TP -.B param str name -The name of the package to be installed. This parameter is ignored if +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the package to be installed. This parameter is ignored if either "pkgs" or "sources" is used. Additionally, please note that this option can only be used to install packages from a software repository. To install a package file manually, use the "sources" option detailed below. -.TP -.B param str version +.IP \(bu 2 +\fBversion\fP (\fIstr\fP) \-\- +.sp Install a specific version of a package. This option is ignored if "sources" is used. Currently, this option is supported for the following pkg providers: \fBapt\fP, @@ -353478,7 +380137,7 @@ release designation where applicable, to allow Salt to target a specific release of a given version. When in doubt, using the \fBpkg.latest_version\fP function for an uninstalled package will tell you the version available. -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353492,7 +380151,7 @@ myminion: .UNINDENT .sp \fBIMPORTANT:\fP -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 As of version 2015.8.7, for distros which use yum/dnf, packages which have a version with a nonzero epoch (that is, versions which @@ -353525,7 +380184,7 @@ Also, while this function is not yet implemented for all pkg frontends, \fBpkg.list_repo_pkgs\fP will show all versions available in the various repositories for a given package, irrespective of whether or not it is installed. -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353551,7 +380210,7 @@ as version specifiers in pkg states. .sp You can install a specific version when using the \fBpkgs\fP argument by including the version after the package: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353578,7 +380237,7 @@ RHEL/CentOS, Arch Linux, and their derivatives. Using wildcards can be useful for packages where the release name is built into the version in some way, such as for RHEL/CentOS which typically has version numbers like \fB1.2.34\-5.el7\fP\&. An example of the usage for this would be: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353595,8 +380254,10 @@ Keep in mind that using wildcard versions will result in a slower state run since Salt must gather the available versions of the specified packages and figure out which of them match the specified wildcard expression. -.TP -.B param bool refresh + +.IP \(bu 2 +\fBrefresh\fP (\fIbool\fP) \-\- +.sp This parameter controls whether or not the package repo database is updated prior to installing the requested package(s). .sp @@ -353613,8 +380274,10 @@ during the current Salt run. Once a refresh has been performed in a will be performed for \fBpkg\fP states which do not explicitly set \fBrefresh\fP to \fBTrue\fP\&. This prevents needless additional refreshes from slowing down the Salt run. -.TP -.B param str cache_valid_time + +.IP \(bu 2 +\fBcache_valid_time\fP (\fIstr\fP) \-\- +.sp New in version 2016.11.0. .sp @@ -353623,7 +380286,7 @@ marked as invalid, and a cache update is necessary. This overwrites the \fBrefresh\fP parameter\(aqs default behavior. .sp Example: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353647,18 +380310,20 @@ In this case, a refresh will not take place for 5 minutes since the last \fBapt\-get update\fP was executed on the system. .sp \fBNOTE:\fP -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 This parameter is available only on Debian based distributions and has no effect on the rest. .UNINDENT .UNINDENT -.TP -.B param str fromrepo + +.IP \(bu 2 +\fBfromrepo\fP (\fIstr\fP) \-\- +.sp Specify a repository from which to install .sp \fBNOTE:\fP -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 Distros which use APT (Debian, Ubuntu, etc.) do not have a concept of repositories, in the same way as YUM\-based distros do. When a @@ -353722,23 +380387,28 @@ release name is the part before the slash, so to install version \fBprecise\-security\fP could be used for the \fBfromrepo\fP value. .UNINDENT .UNINDENT -.TP -.B param bool skip_verify -Skip the GPG verification check for the package to be installed -.TP -.B param bool skip_suggestions + +.IP \(bu 2 +\fBskip_verify\fP (\fIbool\fP) \-\- Skip the GPG verification check for the package to be installed +.IP \(bu 2 +\fBskip_suggestions\fP (\fIbool\fP) \-\- +.sp Force strict package naming. Disables lookup of package alternatives. .sp New in version 2014.1.1. -.TP -.B param bool resolve_capabilities + +.IP \(bu 2 +\fBresolve_capabilities\fP (\fIbool\fP) \-\- +.sp Turn on resolving capabilities. This allow one to name "provides" or alias names for packages. .sp New in version 2018.3.0. -.TP -.B param bool allow_updates + +.IP \(bu 2 +\fBallow_updates\fP (\fIbool\fP) \-\- +.sp Allow the package to be updated outside Salt\(aqs control (e.g. auto updates on Windows). This means a package on the Minion can have a newer version than the latest available in the repository without @@ -353748,7 +380418,7 @@ New in version 2014.7.0. .sp Example: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353766,8 +380436,10 @@ httpd: .fi .UNINDENT .UNINDENT -.TP -.B param bool pkg_verify + +.IP \(bu 2 +\fBpkg_verify\fP (\fIbool\fP) \-\- +.sp New in version 2014.7.0. .sp @@ -353781,7 +380453,7 @@ pkg.verify. See examples below. Currently, this option is supported for the following pkg providers: \fByumpkg\fP\&. .sp Examples: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353794,7 +380466,7 @@ httpd: .fi .UNINDENT .UNINDENT -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353813,7 +380485,7 @@ mypkgs: .fi .UNINDENT .UNINDENT -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353835,14 +380507,18 @@ mypkgs: .fi .UNINDENT .UNINDENT -.TP -.B param list ignore_types + +.IP \(bu 2 +\fBignore_types\fP (\fIlist\fP) \-\- +.sp List of types to ignore when verifying the package .sp New in version 2014.7.0. -.TP -.B param list verify_options + +.IP \(bu 2 +\fBverify_options\fP (\fIlist\fP) \-\- +.sp List of additional options to pass when verifying the package. These options will be added to the \fBrpm \-V\fP command, prepended with \fB\-\-\fP (for example, when \fBnodeps\fP is passed in this option, \fBrpm \-V\fP will @@ -353850,8 +380526,10 @@ be run with \fB\-\-nodeps\fP). .sp New in version 2016.11.0. -.TP -.B param bool normalize + +.IP \(bu 2 +\fBnormalize\fP (\fIbool\fP) \-\- +.sp Normalize the package name by removing the architecture, if the architecture of the package is different from the architecture of the operating system. The ability to disable this behavior is useful for @@ -353863,7 +380541,7 @@ New in version 2014.7.0. .sp Example: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353875,13 +380553,15 @@ gpfs.gplbin\-2.6.32\-279.31.1.el6.x86_64: .fi .UNINDENT .UNINDENT -.TP -.B param bool ignore_epoch + +.IP \(bu 2 +\fBignore_epoch\fP (\fIbool\fP) \-\- +.sp When a package version contains an non\-zero epoch (e.g. \fB1:3.14.159\-2.el7\fP, and a specific version of a package is desired, set this option to \fBTrue\fP to ignore the epoch when comparing versions. This allows for the following SLS to be used: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353901,7 +380581,7 @@ would be installed, but the state would report as failed because the actual installed version would be \fB2:7.4.160\-1.el7\fP\&. Alternatively, this option can be left as \fBFalse\fP and the full version string (with epoch) can be specified in the SLS file: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353916,6 +380596,8 @@ vim\-enhanced: .sp New in version 2015.8.9. + +.UNINDENT .UNINDENT .nf @@ -353923,12 +380605,16 @@ New in version 2015.8.9. .sp .sp \fBMULTIPLE PACKAGE INSTALLATION OPTIONS: (not supported in pkgng)\fP -.INDENT 0.0 +.INDENT 7.0 .TP -.B param list pkgs +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpkgs\fP (\fIlist\fP) \-\- +.sp A list of packages to install from a software repository. All packages listed under \fBpkgs\fP will be installed via a single command. -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353953,7 +380639,7 @@ mypkgs: \fBzypper\fP, version numbers can be specified in the \fBpkgs\fP argument. For example: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353973,7 +380659,7 @@ Additionally, \fBebuild\fP, \fBpacman\fP, \fBzypper\fP, \fByum/dnf\fP, and \fBapt\fP support the \fB<\fP, \fB<=\fP, \fB>=\fP, and \fB>\fP operators for more control over what versions will be installed. For example: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -353996,7 +380682,7 @@ With \fBebuild\fP is also possible to specify a use flag list and/or if the given packages should be in package.accept_keywords file and/or the overlay from which you want the package to be installed. For example: -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -354011,14 +380697,16 @@ mypkgs: .fi .UNINDENT .UNINDENT -.TP -.B param list sources + +.IP \(bu 2 +\fBsources\fP (\fIlist\fP) \-\- +.sp A list of packages to install, along with the source URI or local path from which to install each package. In the example below, \fBfoo\fP, \fBbar\fP, \fBbaz\fP, etc. refer to the name of the package, as it would appear in the output of the \fBpkg.version\fP or \fBpkg.list_pkgs\fP salt CLI commands. -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -354033,6 +380721,8 @@ mypkgs: .ft P .fi .UNINDENT +.UNINDENT + .UNINDENT .UNINDENT .sp @@ -354040,16 +380730,22 @@ mypkgs: .sp These are specific to each OS. If it does not apply to the execution module for your OS, it is ignored. -.INDENT 0.0 +.INDENT 7.0 .TP -.B param bool hold +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhold\fP (\fIbool\fP) \-\- +.sp Force the package to be held at the current installed version. Currently works with YUM/DNF & APT based systems. .sp New in version 2014.7.0. -.TP -.B param bool update_holds + +.IP \(bu 2 +\fBupdate_holds\fP (\fIbool\fP) \-\- +.sp If \fBTrue\fP, and this function would update the package version, any packages which are being held will be temporarily unheld so that they can be updated. Otherwise, if this function attempts to update a held @@ -354060,13 +380756,15 @@ Currently works with YUM/DNF & APT based systems. .sp New in version 2016.11.0. -.TP -.B param list names + +.IP \(bu 2 +\fBnames\fP (\fIlist\fP) \-\- +.sp A list of packages to install from a software repository. Each package will be installed individually by the package manager. .sp \fBWARNING:\fP -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 Unlike \fBpkgs\fP, the \fBnames\fP parameter cannot specify a version. In addition, it makes a separate call to the package management @@ -354076,14 +380774,16 @@ single call. It is therefore recommended to use \fBpkgs\fP instead of features and the performance improvement that it brings. .UNINDENT .UNINDENT -.TP -.B param bool install_recommends + +.IP \(bu 2 +\fBinstall_recommends\fP (\fIbool\fP) \-\- +.sp Whether to install the packages marked as recommended. Default is \fBTrue\fP\&. Currently only works with APT\-based systems. .sp New in version 2015.5.0. -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -354095,14 +380795,16 @@ httpd: .fi .UNINDENT .UNINDENT -.TP -.B param bool only_upgrade + +.IP \(bu 2 +\fBonly_upgrade\fP (\fIbool\fP) \-\- +.sp Only upgrade the packages, if they are already installed. Default is \fBFalse\fP\&. Currently only works with APT\-based systems. .sp New in version 2015.5.0. -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -354116,23 +380818,19 @@ httpd: .UNINDENT .sp \fBNOTE:\fP -.INDENT 7.0 +.INDENT 2.0 .INDENT 3.5 If this parameter is set to True and the package is not already installed, the state will fail. .UNINDENT .UNINDENT -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Parameters -\fBreport_reboot_exit_codes\fP (\fI\%bool\fP) \-\- .INDENT 7.0 -.INDENT 3.5 + +.IP \(bu 2 +\fBreport_reboot_exit_codes\fP (\fIbool\fP) \-\- +.sp If the installer exits with a recognized exit code indicating that a reboot is required, the module function -.INDENT 0.0 +.INDENT 2.0 .INDENT 3.5 \fIwin_system.set_reboot_required_witnessed\fP .UNINDENT @@ -354148,7 +380846,7 @@ on non\-Windows systems. .sp New in version 2016.11.0. -.INDENT 0.0 +.INDENT 2.0 .INDENT 3.5 .sp .nf @@ -354162,14 +380860,13 @@ ms vcpp installed: .fi .UNINDENT .UNINDENT + .UNINDENT -.UNINDENT -.INDENT 7.0 .TP -.B return +.B Returns A dictionary containing the state of the software installation .TP -.B rtype dict +.B Rtype dict .UNINDENT .sp \fBNOTE:\fP @@ -354189,8 +380886,6 @@ in your state which rely on the software being installed will fail. Please see the Reloading Modules documentation for more information. .UNINDENT -.UNINDENT - .UNINDENT .UNINDENT .INDENT 0.0 @@ -354399,6 +381094,16 @@ low chunks and merges them into a single pkgs ref in the present low data .TP .B salt.states.pkg.mod_watch(name, **kwargs) Install/reinstall a package based on a watch requisite +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -354713,7 +381418,7 @@ list of packages to upgrade .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcache_valid_time\fP (\fI\%str\fP) \-\- +\fBcache_valid_time\fP (\fIstr\fP) \-\- .sp This parameter sets the value in seconds after which cache marked as invalid, and cache update is necessary. This overwrite \fBrefresh\fP parameter @@ -354731,7 +381436,7 @@ have no effect on the rest. .UNINDENT .IP \(bu 2 -\fBresolve_capabilities\fP (\fI\%bool\fP) \-\- +\fBresolve_capabilities\fP (\fIbool\fP) \-\- .sp Turn on resolving capabilities. This allow one to name "provides" or alias names for packages. .sp @@ -355428,8 +382133,8 @@ This dictates the release of the distro the packages should be built for. (e.g. unstable). This option is rarely needed. .TP .B keyid -The KeyID of the GPG key to install. This option also requires -the \fBkeyserver\fP option to be set. +The KeyID or a list of KeyIDs of the GPG key to install. +This option also requires the \fBkeyserver\fP option to be set. .TP .B keyserver This is the name of the keyserver to retrieve gpg keys from. The @@ -355929,7 +382634,7 @@ Database port if different from config or default .UNINDENT .INDENT 0.0 .TP -.B salt.states.postgres_group.present(name, createdb=None, createroles=None, createuser=None, encrypted=None, superuser=None, inherit=None, login=None, replication=None, password=None, refresh_password=None, groups=None, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) +.B salt.states.postgres_group.present(name, createdb=None, createroles=None, encrypted=None, superuser=None, inherit=None, login=None, replication=None, password=None, refresh_password=None, groups=None, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) Ensure that the named group is present with the specified privileges Please note that the user/group notion in postgresql is just abstract, we have roles, where users can be seen as roles with the \fBLOGIN\fP privilege @@ -355945,10 +382650,6 @@ Is the group allowed to create databases? .B createroles Is the group allowed to create other roles/users .TP -.B createuser -Alias to create roles, and history problem, in pgsql normally -createuser == superuser -.TP .B encrypted Should the password be encrypted in the system catalog? .TP @@ -356043,7 +382744,7 @@ pgsql\-data\-dir: .UNINDENT .INDENT 0.0 .TP -.B salt.states.postgres_initdb.present(name, user=None, password=None, auth=u\(aqpassword\(aq, encoding=u\(aqUTF8\(aq, locale=None, runas=None) +.B salt.states.postgres_initdb.present(name, user=None, password=None, auth=u\(aqpassword\(aq, encoding=u\(aqUTF8\(aq, locale=None, runas=None, waldir=None, checksums=False) Initialize the PostgreSQL data directory .INDENT 7.0 .TP @@ -356064,6 +382765,26 @@ The default encoding for new databases .TP .B locale The default locale for new databases +.TP +.B waldir +The transaction log (WAL) directory (default is to keep WAL +inside the data directory) +.sp +New in version Fluorine. + +.TP +.B checksums +If True, the cluster will be created with data page checksums. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Data page checksums are supported since PostgreSQL 9.3. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + .TP .B runas The system user the operation should be performed on behalf of @@ -356669,7 +383390,7 @@ Database port if different from config or default .UNINDENT .INDENT 0.0 .TP -.B salt.states.postgres_user.present(name, createdb=None, createroles=None, createuser=None, encrypted=None, superuser=None, replication=None, inherit=None, login=None, password=None, default_password=None, refresh_password=None, valid_until=None, groups=None, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) +.B salt.states.postgres_user.present(name, createdb=None, createroles=None, encrypted=None, superuser=None, replication=None, inherit=None, login=None, password=None, default_password=None, refresh_password=None, valid_until=None, groups=None, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) Ensure that the named user is present with the specified privileges Please note that the user/group notion in postgresql is just abstract, we have roles, where users can be seens as roles with the LOGIN privilege @@ -356685,9 +383406,6 @@ Is the user allowed to create databases? .B createroles Is the user allowed to create other users? .TP -.B createuser -Alias to create roles -.TP .B encrypted Should the password be encrypted in the system catalog? .TP @@ -356964,7 +383682,7 @@ Ensures that the named command is not running. The pattern to match. .TP .B user -The user process belongs +The user to which the process belongs .TP .B signal Signal to send to the process(es). @@ -357009,7 +383727,7 @@ If no service is given all of the valid services will be used. The username to use for the proxy server if required .TP .B password -The password to use if required by the server +The password to use for the proxy server if required .TP .B bypass_domains An array of the domains that should bypass the proxy @@ -358039,7 +384757,7 @@ Ensure a registry value is removed. To remove a key use key_absent. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp A string value representing the full path of the key to include the HIVE, Key, and all Subkeys. For example: @@ -358061,11 +384779,11 @@ HKEY_USERS or HKU .UNINDENT .IP \(bu 2 -\fBvname\fP (\fI\%str\fP) \-\- The name of the value you\(aqd like to create beneath the Key. If this +\fBvname\fP (\fIstr\fP) \-\- The name of the value you\(aqd like to create beneath the Key. If this parameter is not passed it will assume you want to set the \fB(Default)\fP value .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Use the 32bit portion of the registry. Applies only to 64bit +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Use the 32bit portion of the registry. Applies only to 64bit windows. 32bit Windows will ignore this parameter. Default is False. .UNINDENT .TP @@ -358073,7 +384791,7 @@ windows. 32bit Windows will ignore this parameter. Default is False. A dictionary showing the results of the registry operation. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -358111,7 +384829,7 @@ value entries. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp A string representing the full path to the key to be removed to include the hive and the keypath. The hive can be any of the @@ -358130,7 +384848,7 @@ HKEY_USER or HKU .UNINDENT .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Use the 32bit portion of the registry. Applies only to 64bit +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Use the 32bit portion of the registry. Applies only to 64bit windows. 32bit Windows will ignore this parameter. Default is False. .UNINDENT .TP @@ -358138,7 +384856,7 @@ windows. 32bit Windows will ignore this parameter. Default is False. A dictionary showing the results of the registry operation. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -358175,14 +384893,14 @@ In the above example the path is interpreted as follows: .UNINDENT .INDENT 0.0 .TP -.B salt.states.reg.present(name, vname=None, vdata=None, vtype=u\(aqREG_SZ\(aq, use_32bit_registry=False) +.B salt.states.reg.present(name, vname=None, vdata=None, vtype=u\(aqREG_SZ\(aq, use_32bit_registry=False, win_owner=None, win_perms=None, win_deny_perms=None, win_inheritance=True, win_perms_reset=False) Ensure a registry key or value is present. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp A string value representing the full path of the key to include the HIVE, Key, and all Subkeys. For example: @@ -358204,11 +384922,11 @@ HKEY_USERS or HKU .UNINDENT .IP \(bu 2 -\fBvname\fP (\fI\%str\fP) \-\- The name of the value you\(aqd like to create beneath the Key. If this +\fBvname\fP (\fIstr\fP) \-\- The name of the value you\(aqd like to create beneath the Key. If this parameter is not passed it will assume you want to set the \fB(Default)\fP value .IP \(bu 2 -\fBvdata\fP (\fI\%str\fP\fI, \fP\fI\%int\fP\fI, \fP\fI\%list\fP\fI, \fP\fI\%bytes\fP) \-\- +\fBvdata\fP (\fIstr\fP\fI, \fP\fIint\fP\fI, \fP\fIlist\fP\fI, \fP\fIbytes\fP) \-\- .sp The value you\(aqd like to set. If a value name (\fBvname\fP) is passed, this will be the data for that value name. If not, this will be the @@ -358265,7 +384983,7 @@ will be created with no associated item/value pairs. .UNINDENT .IP \(bu 2 -\fBvtype\fP (\fI\%str\fP) \-\- +\fBvtype\fP (\fIstr\fP) \-\- .sp The value type for the data you wish to store in the registry. Valid values are: @@ -358289,17 +385007,186 @@ REG_SZ (Default) .UNINDENT .IP \(bu 2 -\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Use the 32bit portion of the registry. Applies only to 64bit +\fBuse_32bit_registry\fP (\fIbool\fP) \-\- Use the 32bit portion of the registry. Applies only to 64bit windows. 32bit Windows will ignore this parameter. Default is False. +.IP \(bu 2 +\fBwin_owner\fP (\fIstr\fP) \-\- +.sp +The owner of the registry key. If this is not passed, the account +under which Salt is running will be used. +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +Owner is set for the key that contains the value/data pair. You +cannot set ownership on value/data pairs themselves. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBwin_perms\fP (\fIdict\fP) \-\- +.sp +A dictionary containing permissions to grant and their propagation. +If not passed the \(aqGrant\(ga permissions will not be modified. +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +Permissions are set for the key that contains the value/data +pair. You cannot set permissions on value/data pairs themselves. +.UNINDENT +.UNINDENT +.sp +For each user specify the account name, with a sub dict for the +permissions to grant and the \(aqApplies to\(aq setting. For example: +\fB{\(aqAdministrators\(aq: {\(aqperms\(aq: \(aqfull_control\(aq, \(aqapplies_to\(aq: +\(aqthis_key_subkeys\(aq}}\fP\&. \fBperms\fP must be specified. +.sp +Registry permissions are specified using the \fBperms\fP key. You can +specify a single basic permission or a list of advanced perms. The +following are valid perms: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B Basic (passed as a string): +.INDENT 7.0 +.IP \(bu 2 +full_control +.IP \(bu 2 +read +.IP \(bu 2 +write +.UNINDENT +.TP +.B Advanced (passed as a list): +.INDENT 7.0 +.IP \(bu 2 +delete +.IP \(bu 2 +query_value +.IP \(bu 2 +set_value +.IP \(bu 2 +create_subkey +.IP \(bu 2 +enum_subkeys +.IP \(bu 2 +notify +.IP \(bu 2 +create_link +.IP \(bu 2 +read_control +.IP \(bu 2 +write_dac +.IP \(bu 2 +write_owner +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +The \(aqApplies to\(aq setting is optional. It is specified using the +\fBapplies_to\fP key. If not specified \fBthis_key_subkeys\fP is used. +Valid options are: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B Applies to settings: +.INDENT 7.0 +.IP \(bu 2 +this_key_only +.IP \(bu 2 +this_key_subkeys +.IP \(bu 2 +subkeys_only +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBwin_deny_perms\fP (\fIdict\fP) \-\- +.sp +A dictionary containing permissions to deny and their propagation. +If not passed the \fIDeny\fP permissions will not be modified. +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +Permissions are set for the key that contains the value/data +pair. You cannot set permissions on value/data pairs themselves. +.UNINDENT +.UNINDENT +.sp +Valid options are the same as those specified in \fBwin_perms\fP +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B \(aqDeny\(aq permissions always take precedence over \(aqgrant\(aq +permissions. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBwin_inheritance\fP (\fIbool\fP) \-\- +.sp +\fBTrue\fP to inherit permissions from the parent key. \fBFalse\fP to +disable inheritance. Default is \fBTrue\fP\&. +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +Inheritance is set for the key that contains the value/data +pair. You cannot set inheritance on value/data pairs themselves. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBwin_perms_reset\fP (\fIbool\fP) \-\- +.sp +If \fBTrue\fP the existing DACL will be cleared and replaced with the +settings defined in this function. If \fBFalse\fP, new entries will be +appended to the existing DACL. Default is \fBFalse\fP +.sp +\fBNOTE:\fP +.INDENT 2.0 +.INDENT 3.5 +Perms are reset for the key that contains the value/data pair. +You cannot set permissions on value/data pairs themselves. +.UNINDENT +.UNINDENT +.sp +New in version Fluorine. + + .UNINDENT .TP .B Returns A dictionary showing the results of the registry operation. .TP .B Return type -\fI\%dict\fP +dict .UNINDENT -Example +.sp +Example: .sp The following example will set the \fB(Default)\fP value for the \fBSOFTWARE\e\eSalt\fP key in the \fBHKEY_CURRENT_USER\fP hive to @@ -358316,7 +385203,8 @@ HKEY_CURRENT_USER\e\eSOFTWARE\e\eSalt: .fi .UNINDENT .UNINDENT -Example +.sp +Example: .sp The following example will set the value for the \fBversion\fP entry under the \fBSOFTWARE\e\eSalt\fP key in the \fBHKEY_CURRENT_USER\fP hive to @@ -358350,7 +385238,8 @@ In the above example the path is interpreted as follows: .UNINDENT .UNINDENT .UNINDENT -Example +.sp +Example: .sp Binary data can be set in two ways. The following two examples will set a binary value of \fBSalty Test\fP @@ -358376,7 +385265,8 @@ conversion: .fi .UNINDENT .UNINDENT -Example +.sp +Example: .sp To set a \fBREG_MULTI_SZ\fP value: .INDENT 7.0 @@ -358395,6 +385285,41 @@ reg_multi_sz: .fi .UNINDENT .UNINDENT +.sp +Example: +.sp +To ensure a key is present and has permissions: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +set_key_permissions: + reg.present: + \- name: HKLM\eSOFTWARE\eSalt + \- vname: version + \- vdata: 2016.3.1 + \- win_owner: Administrators + \- win_perms: + jsnuffy: + perms: full_control + sjones: + perms: + \- read_control + \- enum_subkeys + \- query_value + applies_to: + \- this_key_only + \- win_deny_perms: + bsimpson: + perms: full_control + applies_to: this_key_subkeys + \- win_inheritance: True + \- win_perms_reset: True +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.states.rsync .sp @@ -358722,7 +385647,7 @@ Full Orchestrate Tutorial .UNINDENT .INDENT 0.0 .TP -.B salt.states.saltmod.function(name, tgt, ssh=False, tgt_type=u\(aqglob\(aq, expr_form=None, ret=u\(aq\(aq, ret_config=None, ret_kwargs=None, expect_minions=False, fail_minions=None, fail_function=None, arg=None, kwarg=None, timeout=None, batch=None, subset=None) +.B salt.states.saltmod.function(name, tgt, ssh=False, tgt_type=u\(aqglob\(aq, ret=u\(aq\(aq, ret_config=None, ret_kwargs=None, expect_minions=False, fail_minions=None, fail_function=None, arg=None, kwarg=None, timeout=None, batch=None, subset=None) Execute a single module function on a remote minion via salt or salt\-ssh .INDENT 7.0 .TP @@ -358734,10 +385659,6 @@ The target specification, aka \(aq*\(aq for all minions .TP .B tgt_type The target type, defaults to \fBglob\fP -.TP -.B expr_form -Deprecated since version 2017.7.0: Use tgt_type instead - .TP .B arg The list of arguments to pass into the function @@ -358854,7 +385775,7 @@ run\-manage\-up: .UNINDENT .INDENT 0.0 .TP -.B salt.states.saltmod.state(name, tgt, ssh=False, tgt_type=u\(aqglob\(aq, expr_form=None, ret=u\(aq\(aq, ret_config=None, ret_kwargs=None, highstate=None, sls=None, top=None, saltenv=None, test=False, pillar=None, pillarenv=None, expect_minions=True, fail_minions=None, allow_fail=0, concurrent=False, timeout=None, batch=None, queue=False, subset=None, orchestration_jid=None, **kwargs) +.B salt.states.saltmod.state(name, tgt, ssh=False, tgt_type=u\(aqglob\(aq, ret=u\(aq\(aq, ret_config=None, ret_kwargs=None, highstate=None, sls=None, top=None, saltenv=None, test=None, pillar=None, pillarenv=None, expect_minions=True, fail_minions=None, allow_fail=0, concurrent=False, timeout=None, batch=None, queue=False, subset=None, orchestration_jid=None, **kwargs) Invoke a state run on a given target .INDENT 7.0 .TP @@ -358869,10 +385790,6 @@ is ignored and will always be the local minion. .TP .B tgt_type The target type to resolve, defaults to \fBglob\fP -.TP -.B expr_form -Deprecated since version 2017.7.0: Use tgt_type instead - .TP .B ret Optionally set a single or a list of returners to use @@ -358897,7 +385814,10 @@ A group of sls files to execute. This can be defined as a single string containing a single sls file, or a list of sls files .TP .B test -Pass \fBtest=true\fP through to the state function +Pass \fBtest=true\fP or \fBtest=false\fP through to the state function. This +can be used to overide a test mode set in the minion\(aqs config file. If +left as the default of None and the \(aqtest\(aq mode is supplied on the +command line, that value is passed instead. .TP .B pillar Pass the \fBpillar\fP kwarg through to the state function @@ -359512,6 +386432,54 @@ The name of the module to remove .sp New in version 2016.11.6. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.selinux.port_policy_absent(name, sel_type=None, protocol=None, port=None) +New in version Fluorine. + +.sp +Makes sure an SELinux port policy for a given port, protocol and SELinux context type is absent. +.INDENT 7.0 +.TP +.B name +The protocol and port spec. Can be formatted as \fB(tcp|udp)/(port|port\-range)\fP\&. +.TP +.B sel_type +The SELinux Type. Optional; can be used in determining if policy is present, +ignored by \fBsemanage port \-\-delete\fP\&. +.TP +.B protocol +The protocol for the port, \fBtcp\fP or \fBudp\fP\&. Required if name is not formatted. +.TP +.B port +The port or port range. Required if name is not formatted. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.selinux.port_policy_present(name, sel_type, protocol=None, port=None, sel_range=None) +New in version Fluorine. + +.sp +Makes sure an SELinux port policy for a given port, protocol and SELinux context type is present. +.INDENT 7.0 +.TP +.B name +The protocol and port spec. Can be formatted as \fB(tcp|udp)/(port|port\-range)\fP\&. +.TP +.B sel_type +The SELinux Type. +.TP +.B protocol +The protocol for the port, \fBtcp\fP or \fBudp\fP\&. Required if name is not formatted. +.TP +.B port +The port or port range. Required if name is not formatted. +.TP +.B sel_range +The SELinux MLS/MCS Security Range. +.UNINDENT .UNINDENT .SS salt.states.serverdensity_device .SS Monitor Server with Server Density @@ -359659,10 +386627,10 @@ Usage example: .SS salt.states.service .SS Starting or restarting of services and daemons .sp -Services are defined as system daemons typically started with system init or -rc scripts. The service state uses whichever service module that is loaded on -the minion with the virtualname of \fBservice\fP\&. Services can be defined as -running or dead. +Services are defined as system daemons and are typically launched using system +init or rc scripts. This service state uses whichever service module is loaded +on the minion with the virtualname of \fBservice\fP\&. Services can be defined as +either running or dead. .sp If you need to know if your init system is supported, see the list of supported \fBservice modules\fP for your desired init system @@ -359696,7 +386664,7 @@ httpd: .UNINDENT .UNINDENT .sp -The service can also be set to be started at runtime via the enable option: +The service can also be set to start at runtime via the enable option: .INDENT 0.0 .INDENT 3.5 .sp @@ -359711,8 +386679,8 @@ openvpn: .UNINDENT .sp By default if a service is triggered to refresh due to a watch statement the -service is by default restarted. If the desired behavior is to reload the -service, then set the reload value to True: +service is restarted. If the desired behavior is to reload the service, then +set the reload value to True: .INDENT 0.0 .INDENT 3.5 .sp @@ -359857,6 +386825,18 @@ unmask_indefinite_foo: .TP .B salt.states.service.mod_watch(name, sfun=None, sig=None, reload=False, full_restart=False, init_delay=None, force=False, **kwargs) The service watcher, called to invoke the watch command. +When called, it will restart or reload the named service. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the watching service. +(i.e. \fBservice.running\fP) +.UNINDENT +.UNINDENT .INDENT 7.0 .TP .B name @@ -359870,11 +386850,13 @@ The original function which triggered the mod_watch call The string to search for when looking for the service process with ps .TP .B reload -Use reload instead of the default restart (exclusive option with full_restart, -defaults to reload if both are used) +When set, reload the service instead of restarting it. +(i.e. \fBservice nginx reload\fP) .TP .B full_restart -Use service.full_restart instead of restart (exclusive option with reload) +Perform a full stop/start of a service by passing \fB\-\-full\-restart\fP\&. +This option is ignored if \fBreload\fP is set and is supported by only a few +\fBservice modules\fP\&. .TP .B force Use service.force_reload instead of reload (needs reload to be set to True) @@ -360105,14 +387087,14 @@ vmtest.example.org: label: \(aqtest vm\(aq owner: \(aqsjorge\(aq nics: - "82:1b:8e:49:e9:12" + "82:1b:8e:49:e9:12": nic_tag: trunk mtu: 1500 ips: \- 172.16.1.123/16 \- 192.168.2.123/24 vlan_id: 10 - "82:1b:8e:49:e9:13" + "82:1b:8e:49:e9:13": nic_tag: trunk mtu: 1500 ips: @@ -360144,13 +387126,43 @@ kvmtest.example.org: compression: lz4 boot: true nics: - "82:1b:8e:49:e9:15" + "82:1b:8e:49:e9:15": nic_tag: trunk mtu: 1500 ips: \- dhcp vlan_id: 30 +docker.example.org: + smartos.vm_present: + \- config: + auto_import: true + reprovision: true + \- vmconfig: + image_uuid: emby/embyserver:latest + brand: lx + alias: mydockervm + quota: 5 + max_physical_memory: 1024 + tags: + label: \(aqmy emby docker\(aq + owner: \(aqsjorge\(aq + resolvers: + \- 172.16.1.1 + nics: + "82:1b:8e:49:e9:18": + nic_tag: trunk + mtu: 1500 + ips: + \- 172.16.1.118/24 + vlan_id: 10 + filesystems: + "/config: + source: "/vmdata/emby_config" + type: lofs + options: + \- nodevices + cleanup_images: smartos.image_vacuum .ft P @@ -360228,6 +387240,40 @@ uuid of image .TP .B salt.states.smartos.image_vacuum(name) Delete images not in use or installed via image_present +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Only image_present states that are included via the +top file will be detected. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.smartos.source_absent(name) +Ensure an image source is absent on the computenode +.INDENT 7.0 +.TP +.B name +string +source url +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.smartos.source_present(name, source_type=u\(aqimgapi\(aq) +Ensure an image source is present on the computenode +.INDENT 7.0 +.TP +.B name +string +source url +.TP +.B source_type +string +source type (imgapi or docker) +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -360278,15 +387324,21 @@ fine grain control over vm_present .B The following configuration properties can be toggled in the config parameter. .INDENT 7.0 .IP \(bu 2 -kvm_reboot (true) \- reboots of kvm zones if needed for a config update +kvm_reboot (true) \- reboots of kvm zones if needed for a config update .IP \(bu 2 -auto_import (false) \- automatic importing of missing images +auto_import (false) \- automatic importing of missing images .IP \(bu 2 -reprovision (false) \- reprovision on image_uuid changes +auto_lx_vars (true) \- copy kernel_version and docker:* variables from image +.IP \(bu 2 +reprovision (false) \- reprovision on image_uuid changes +.IP \(bu 2 +enforce_tags (true) \- false = add tags only, true = add, update, and remove tags +.IP \(bu 2 +enforce_routes (true) \- false = add tags only, true = add, update, and remove routes +.IP \(bu 2 +enforce_internal_metadata (true) \- false = add metadata only, true = add, update, and remove metadata .IP \(bu 2 enforce_customer_metadata (true) \- false = add metadata only, true = add, update, and remove metadata -.IP \(bu 2 -enforce_tags (true) \- false = add tags only, true = add, update, and remove tags .UNINDENT .UNINDENT .UNINDENT @@ -360326,6 +387378,9 @@ disk : path or diskN for zvols e.g. disk0 will be the first disk added, disk1 the 2nd,... .UNINDENT .UNINDENT +.sp +Changed in version Fluorine: Added support for docker image uuids, added auto_lx_vars configuration, documented some missing configuration options. + .UNINDENT .INDENT 0.0 .TP @@ -360387,7 +387442,7 @@ server\-warning\-message: .UNINDENT .INDENT 0.0 .TP -.B salt.states.smtp.send_msg(name, recipient, subject, sender=None, profile=None, use_ssl=u\(aqTrue\(aq) +.B salt.states.smtp.send_msg(name, recipient, subject, sender=None, profile=None, use_ssl=u\(aqTrue\(aq, attachments=None) Send a message via SMTP .INDENT 7.0 .INDENT 3.5 @@ -360402,6 +387457,9 @@ server\-warning\-message: \- recipient: admin@example.com \- sender: admin@example.com \- use_ssl: True + \- attachments: + \- /var/log/syslog + \- /var/log/messages .ft P .fi .UNINDENT @@ -361558,6 +388616,18 @@ installed .INDENT 0.0 .TP .B salt.states.supervisord.mod_watch(name, restart=True, update=False, user=None, conf_file=None, bin_env=None, **kwargs) +The supervisord watcher, called to invoke the watch command. +Always restart on watch +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -361617,7 +388687,7 @@ Determine if the working directory has been changed. .UNINDENT .INDENT 0.0 .TP -.B salt.states.svn.export(name, target=None, rev=None, user=None, username=None, password=None, force=False, overwrite=False, externals=True, trust=False) +.B salt.states.svn.export(name, target=None, rev=None, user=None, username=None, password=None, force=False, overwrite=False, externals=True, trust=False, trust_failures=None) Export a file or directory from an SVN repository .INDENT 7.0 .TP @@ -361663,11 +388733,21 @@ Change to False to not checkout or update externals .B trust False Automatically trust the remote server. SVN\(aqs \-\-trust\-server\-cert +.TP +.B trust_failures +None +Comma\-separated list of certificate trust failures, that shall be +ignored. This can be used if trust=True is not sufficient. The +specified string is passed to SVN\(aqs \-\-trust\-server\-cert\-failures +option as\-is. +.sp +New in version Fluorine. + .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.svn.latest(name, target=None, rev=None, user=None, username=None, password=None, force=False, externals=True, trust=False) +.B salt.states.svn.latest(name, target=None, rev=None, user=None, username=None, password=None, force=False, externals=True, trust=False, trust_failures=None) Checkout or update the working directory to the latest revision from the remote repository. .INDENT 7.0 @@ -361710,10 +388790,20 @@ Change to False to not checkout or update externals .B trust False Automatically trust the remote server. SVN\(aqs \-\-trust\-server\-cert +.TP +.B trust_failures +None +Comma\-separated list of certificate trust failures, that shall be +ignored. This can be used if trust=True is not sufficient. The +specified string is passed to SVN\(aqs \-\-trust\-server\-cert\-failures +option as\-is. +.sp +New in version Fluorine. + .UNINDENT .UNINDENT .SS salt.states.sysctl -.SS Configuration of the Linux kernel using sysctl +.SS Configuration of the kernel using sysctl .sp Control the kernel sysctl system. .INDENT 0.0 @@ -362425,8 +389515,18 @@ Linux .INDENT 0.0 .TP .B salt.states.tomcat.mod_watch(name, url=u\(aqhttp://localhost:8080/manager\(aq, timeout=180) -The tomcat watcher function. -When called it will reload the webapp in question +The tomcat watcher, called to invoke the watch command. +When called, it will reload the webapp in question +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This state exists to support special handling of the \fBwatch\fP +requisite\&. It should not be called directly. +.sp +Parameters for this function should be set by the state being triggered. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -362780,33 +389880,6 @@ restart_ats_local_drain: .UNINDENT .INDENT 0.0 .TP -.B salt.states.trafficserver.set_var(name, value) -Set Traffic Server configuration variable values. -.sp -Deprecated since version Fluorine: Use \fBtrafficserver.config\fP instead. - -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -proxy.config.proxy_name: - trafficserver.set_var: - \- value: cdn.site.domain.tld - -OR - -traffic_server_setting: - trafficserver.set_var: - \- name: proxy.config.proxy_name - \- value: cdn.site.domain.tld -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.states.trafficserver.shutdown(name) Shut down Traffic Server on the local node. .INDENT 7.0 @@ -363819,11 +390892,173 @@ New in version 2018.3.0. .UNINDENT .INDENT 0.0 .TP -.B salt.states.virt.powered_off(name) +.B salt.states.virt.network_running(name, bridge, forward, vport=None, tag=None, autostart=True, connection=None, username=None, password=None) +Defines and starts a new network with specified arguments. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +domain_name: + virt.network_define +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +network_name: + virt.network_define: + \- bridge: main + \- forward: bridge + \- vport: openvswitch + \- tag: 180 + \- autostart: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.virt.pool_running(name, ptype=None, target=None, permissions=None, source=None, transient=False, autostart=True, connection=None, username=None, password=None) +Defines and starts a new pool with specified arguments. +.sp +New in version Fluorine. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBptype\fP \-\- libvirt pool type +.IP \(bu 2 +\fBtarget\fP \-\- full path to the target device or folder. (Default: \fBNone\fP) +.IP \(bu 2 +\fBpermissions\fP \-\- target permissions. See pool\-define\-permissions for more details on this structure. +.IP \(bu 2 +\fBsource\fP \-\- dictionary containing keys matching the \fBsource_*\fP parameters in function +\fBsalt.modules.virt.pool_define()\fP\&. +.IP \(bu 2 +\fBtransient\fP \-\- when set to \fBTrue\fP, the pool will be automatically undefined after being stopped. (Default: \fBFalse\fP) +.IP \(bu 2 +\fBautostart\fP \-\- Whether to start the pool when booting the host. (Default: \fBTrue\fP) +.IP \(bu 2 +\fBstart\fP \-\- When \fBTrue\fP, define and start the pool, otherwise the pool will be left stopped. +.IP \(bu 2 +\fBconnection\fP \-\- libvirt connection URI, overriding defaults +.IP \(bu 2 +\fBusername\fP \-\- username to connect with, overriding defaults +.IP \(bu 2 +\fBpassword\fP \-\- password to connect with, overriding defaults +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pool_name: + virt.pool_define +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pool_name: + virt.pool_define: + \- ptype: netfs + \- target: /mnt/cifs + \- permissions: + \- mode: 0770 + \- owner: 1000 + \- group: 100 + \- source: + \- dir: samba_share + \- hosts: + one.example.com + two.example.com + \- format: cifs + \- autostart: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.virt.powered_off(name, connection=None, username=None, password=None) Stops a VM by power off. .sp New in version 2016.3.0. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -363838,7 +391073,7 @@ domain_name: .UNINDENT .INDENT 0.0 .TP -.B salt.states.virt.rebooted(name) +.B salt.states.virt.rebooted(name, connection=None, username=None, password=None) Reboots VMs .sp New in version 2016.3.0. @@ -363846,10 +391081,34 @@ New in version 2016.3.0. .INDENT 7.0 .TP .B Parameters +.INDENT 7.0 +.IP \(bu 2 \fBname\fP \-\- -.TP -.B Returns +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -363882,11 +391141,189 @@ domain_name_1: .UNINDENT .INDENT 0.0 .TP -.B salt.states.virt.running(name, **kwargs) +.B salt.states.virt.running(name, cpu=None, mem=None, image=None, vm_type=None, disk_profile=None, disks=None, nic_profile=None, interfaces=None, graphics=None, seed=True, install=True, pub_key=None, priv_key=None, update=False, connection=None, username=None, password=None, os_type=None, arch=None) Starts an existing guest, or defines and starts a new VM with specified arguments. .sp New in version 2016.3.0. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- name of the virtual machine to run +.IP \(bu 2 +\fBcpu\fP \-\- number of CPUs for the virtual machine to create +.IP \(bu 2 +\fBmem\fP \-\- amount of memory in MiB for the new virtual machine +.IP \(bu 2 +\fBimage\fP \-\- +.sp +disk image to use for the first disk of the new VM +.sp +Deprecated since version Fluorine. + + +.IP \(bu 2 +\fBvm_type\fP \-\- +.sp +force virtual machine type for the new VM. The default value is taken from +the host capabilities. This could be useful for example to use \fB\(aqqemu\(aq\fP type instead +of the \fB\(aqkvm\(aq\fP one. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBdisk_profile\fP \-\- +.sp +Name of the disk profile to use for the new virtual machine +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBdisks\fP \-\- +.sp +List of disk to create for the new virtual machine. +See init\-disk\-def for more details on the items on this list. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBnic_profile\fP \-\- +.sp +Name of the network interfaces profile to use for the new virtual machine +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBinterfaces\fP \-\- +.sp +List of network interfaces to create for the new virtual machine. +See init\-nic\-def for more details on the items on this list. +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBgraphics\fP \-\- +.sp +Graphics device to create for the new virtual machine. +See init\-graphics\-def for more details on this dictionary +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBsaltenv\fP \-\- +.sp +Fileserver environment (Default: \fB\(aqbase\(aq\fP). +See \fBcp module for more details\fP +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBseed\fP \-\- .INDENT 2.0 +.TP +.B \fBTrue\fP to seed the disk image. Only used when the \fBimage\fP parameter is provided. +(Default: \fBTrue\fP) +.UNINDENT +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBinstall\fP \-\- +.sp +install salt minion if absent (Default: \fBTrue\fP) +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpub_key\fP \-\- +.sp +public key to seed with (Default: \fBNone\fP) +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpriv_key\fP \-\- +.sp +public key to seed with (Default: \fBNone\fP) +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBseed_cmd\fP \-\- +.sp +Salt command to execute to seed the image. (Default: \fB\(aqseed.apply\(aq\fP) +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBupdate\fP \-\- +.sp +set to \fBTrue\fP to update a defined module. (Default: \fBFalse\fP) +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBos_type\fP \-\- +.sp +type of virtualization as found in the \fB//os/type\fP element of the libvirt definition. +The default value is taken from the host capabilities, with a preference for \fBhvm\fP\&. +Only used when creating a new virtual machine. +.sp +New in version Neon. + + +.IP \(bu 2 +\fBarch\fP \-\- +.sp +architecture of the virtual machine. The default value is taken from the host capabilities, +but \fBx86_64\fP is prefed over \fBi686\fP\&. Only used when creating a new virtual machine. +.sp +New in version Neon. + + +.UNINDENT +.UNINDENT +Example States +.sp +Make sure an already\-defined virtual machine called \fBdomain_name\fP is running: .INDENT 7.0 .INDENT 3.5 .sp @@ -363898,6 +391335,8 @@ domain_name: .fi .UNINDENT .UNINDENT +.sp +Do the same, but define the virtual machine if needed: .INDENT 7.0 .INDENT 3.5 .sp @@ -363907,7 +391346,27 @@ domain_name: virt.running: \- cpu: 2 \- mem: 2048 - \- eth0_mac: 00:00:6a:53:00:e3 + \- disk_profile: prod + \- disks: + \- name: system + size: 8192 + overlay_image: True + pool: default + image: /path/to/image.qcow2 + \- name: data + size: 16834 + \- nic_profile: prod + \- interfaces: + \- name: eth0 + mac: 01:23:45:67:89:AB + \- name: eth1 + type: network + source: admin + \- graphics: + \- type: spice + listen: + \- type: address + address: 192.168.0.125 .ft P .fi .UNINDENT @@ -363942,11 +391401,41 @@ domain*: .UNINDENT .INDENT 0.0 .TP -.B salt.states.virt.snapshot(name, suffix=None) +.B salt.states.virt.snapshot(name, suffix=None, connection=None, username=None, password=None) Takes a snapshot of a particular VM or by a UNIX\-style wildcard. .sp New in version 2016.3.0. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -363966,11 +391455,41 @@ domain*: .UNINDENT .INDENT 0.0 .TP -.B salt.states.virt.stopped(name) +.B salt.states.virt.stopped(name, connection=None, username=None, password=None) Stops a VM by shutting it down nicely. .sp New in version 2016.3.0. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBconnection\fP \-\- +.sp +libvirt connection URI, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBusername\fP \-\- +.sp +username to connect with, overriding defaults +.sp +New in version Fluorine. + + +.IP \(bu 2 +\fBpassword\fP \-\- +.sp +password to connect with, overriding defaults +.sp +New in version Fluorine. + + +.UNINDENT +.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -364304,18 +391823,18 @@ Install a DISM capability .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The capability to install +\fBname\fP (\fIstr\fP) \-\- The capability to install .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- The optional source of the capability +\fBsource\fP (\fIstr\fP) \-\- The optional source of the capability .IP \(bu 2 -\fBlimit_access\fP (\fI\%bool\fP) \-\- Prevent DISM from contacting Windows Update for +\fBlimit_access\fP (\fIbool\fP) \-\- Prevent DISM from contacting Windows Update for online images .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT Example @@ -364344,13 +391863,13 @@ Uninstall a DISM capability .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The capability to uninstall +\fBname\fP (\fIstr\fP) \-\- The capability to uninstall .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT Example @@ -364379,25 +391898,25 @@ Install a DISM feature .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The feature in which to install +\fBname\fP (\fIstr\fP) \-\- The feature in which to install .IP \(bu 2 -\fBpackage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The parent package for the feature. You do not +\fBpackage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The parent package for the feature. You do not have to specify the package if it is the Windows Foundation Package. Otherwise, use package to specify the parent package of the feature .IP \(bu 2 -\fBsource\fP (\fI\%str\fP) \-\- The optional source of the feature +\fBsource\fP (\fIstr\fP) \-\- The optional source of the feature .IP \(bu 2 -\fBlimit_access\fP (\fI\%bool\fP) \-\- Prevent DISM from contacting Windows Update for +\fBlimit_access\fP (\fIbool\fP) \-\- Prevent DISM from contacting Windows Update for online images .IP \(bu 2 -\fBenable_parent\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- True will enable all parent features of +\fBenable_parent\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- True will enable all parent features of the specified feature .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT Example @@ -364426,16 +391945,16 @@ Disables a feature. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The feature to disable +\fBname\fP (\fIstr\fP) \-\- The feature to disable .IP \(bu 2 -\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Remove the feature\(aqs payload. Must +\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Remove the feature\(aqs payload. Must supply source when enabling in the future. .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT Example @@ -364465,20 +391984,20 @@ Install a package. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The package to install. Can be a .cab file, a .msu file, +\fBname\fP (\fIstr\fP) \-\- The package to install. Can be a .cab file, a .msu file, or a folder .IP \(bu 2 -\fBignore_check\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Skip installation of the package if the +\fBignore_check\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Skip installation of the package if the applicability checks fail .IP \(bu 2 -\fBprevent_pending\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Skip the installation of the package +\fBprevent_pending\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Skip the installation of the package if there are pending online actions .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT Example.INDENT 7.0 @@ -364503,16 +392022,16 @@ Uninstall a package .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The full path to the package. Can be either a .cab file or a +\fBname\fP (\fIstr\fP) \-\- The full path to the package. Can be either a .cab file or a folder. Should point to the original source of the package, not to where the file is installed. This can also be the name of a package as listed in \fBdism.installed_packages\fP .IP \(bu 2 -\fBimage\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The path to the root directory of an offline +\fBimage\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The path to the root directory of an offline Windows image. If \fINone\fP is passed, the running operating system is targeted. Default is None. .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Reboot the machine if required by the install +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT Example.INDENT 7.0 @@ -364608,14 +392127,14 @@ Add a new inbound or outbound rule to the firewall policy .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the rule. Must be unique and cannot be "all". +\fBname\fP (\fIstr\fP) \-\- The name of the rule. Must be unique and cannot be "all". Required. .IP \(bu 2 -\fBlocalport\fP (\fI\%int\fP) \-\- The port the rule applies to. Must be a number between +\fBlocalport\fP (\fIint\fP) \-\- The port the rule applies to. Must be a number between 0 and 65535. Can be a range. Can specify multiple ports separated by commas. Required. .IP \(bu 2 -\fBprotocol\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBprotocol\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The protocol. Can be any of the following: .INDENT 2.0 @@ -364634,7 +392153,7 @@ any .UNINDENT .IP \(bu 2 -\fBaction\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBaction\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The action the rule performs. Can be any of the following: @@ -364648,9 +392167,9 @@ bypass .UNINDENT .IP \(bu 2 -\fBdir\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- The direction. Can be \fBin\fP or \fBout\fP\&. +\fBdir\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- The direction. Can be \fBin\fP or \fBout\fP\&. .IP \(bu 2 -\fBremoteip\fP (\fIOptional\fP\fI [\fP\fI\%str\fP\fI]\fP) \-\- +\fBremoteip\fP (\fIOptional\fP\fI [\fP\fIstr\fP\fI]\fP) \-\- .sp The remote IP. Can be any of the following: .INDENT 2.0 @@ -364710,7 +392229,7 @@ Disable all the firewall profiles (Windows only) .INDENT 7.0 .TP .B Parameters -\fBprofile\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBprofile\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The name of the profile to disable. Default is \fBallprofiles\fP\&. Valid options are: @@ -364754,7 +392273,7 @@ Enable all the firewall profiles (Windows only) .INDENT 7.0 .TP .B Parameters -\fBprofile\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBprofile\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The name of the profile to enable. Default is \fBallprofiles\fP\&. Valid options are: @@ -364809,12 +392328,12 @@ Set the value of the setting for an IIS container. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS container. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS container. .IP \(bu 2 -\fBcontainer\fP (\fI\%str\fP) \-\- The type of IIS container. The container types are: +\fBcontainer\fP (\fIstr\fP) \-\- The type of IIS container. The container types are: AppPools, Sites, SslBindings .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIstr\fP) \-\- A dictionary of the setting names and their values. Example of usage for the \fBAppPools\fP container: .UNINDENT .UNINDENT @@ -364866,13 +392385,13 @@ Create an IIS application. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS application. +\fBname\fP (\fIstr\fP) \-\- The IIS application. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path. .IP \(bu 2 -\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBapppool\fP (\fIstr\fP) \-\- The name of the IIS application pool. .UNINDENT .UNINDENT .sp @@ -364916,7 +392435,7 @@ Create an IIS application pool. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS application pool. .UNINDENT .sp Usage: @@ -364942,17 +392461,17 @@ Create an IIS binding. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIstr\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBprotocol\fP (\fI\%str\fP) \-\- The application protocol of the binding. +\fBprotocol\fP (\fIstr\fP) \-\- The application protocol of the binding. .IP \(bu 2 -\fBsslflags\fP (\fI\%str\fP) \-\- The flags representing certificate type and storage of the binding. +\fBsslflags\fP (\fIstr\fP) \-\- The flags representing certificate type and storage of the binding. .UNINDENT .UNINDENT .sp @@ -364998,17 +392517,17 @@ Assign a certificate to an IIS binding. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +\fBname\fP (\fIstr\fP) \-\- The thumbprint of the certificate. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIstr\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBsslflags\fP (\fI\%str\fP) \-\- Flags representing certificate type and certificate storage of the binding. +\fBsslflags\fP (\fIstr\fP) \-\- Flags representing certificate type and certificate storage of the binding. .UNINDENT .UNINDENT .sp @@ -365058,13 +392577,13 @@ Create an IIS virtual directory. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +\fBname\fP (\fIstr\fP) \-\- The virtual directory name. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path. .IP \(bu 2 -\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +\fBapp\fP (\fIstr\fP) \-\- The IIS application. .UNINDENT .UNINDENT .sp @@ -365110,19 +392629,19 @@ Ensure the website has been deployed. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +\fBname\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path of the IIS site. +\fBsourcepath\fP (\fIstr\fP) \-\- The physical path of the IIS site. .IP \(bu 2 -\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBapppool\fP (\fIstr\fP) \-\- The name of the IIS application pool. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIstr\fP) \-\- The TCP port of the binding. .IP \(bu 2 -\fBprotocol\fP (\fI\%str\fP) \-\- The application protocol of the binding. +\fBprotocol\fP (\fIstr\fP) \-\- The application protocol of the binding. .UNINDENT .UNINDENT .sp @@ -365171,9 +392690,9 @@ Remove an IIS application. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The application name. +\fBname\fP (\fIstr\fP) \-\- The application name. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .UNINDENT .UNINDENT .sp @@ -365199,7 +392718,7 @@ Remove an IIS application pool. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +\fBname\fP (\fIstr\fP) \-\- The name of the IIS application pool. .UNINDENT .sp Usage: @@ -365225,13 +392744,13 @@ Remove an IIS binding. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIstr\fP) \-\- The TCP port of the binding. .UNINDENT .UNINDENT .sp @@ -365275,15 +392794,15 @@ Remove a certificate from an IIS binding. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +\fBname\fP (\fIstr\fP) \-\- The thumbprint of the certificate. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +\fBhostheader\fP (\fIstr\fP) \-\- The host header of the binding. .IP \(bu 2 -\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +\fBipaddress\fP (\fIstr\fP) \-\- The IP address of the binding. .IP \(bu 2 -\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +\fBport\fP (\fIstr\fP) \-\- The TCP port of the binding. .UNINDENT .UNINDENT .sp @@ -365330,7 +392849,7 @@ Delete a website from IIS. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +\fBname\fP (\fIstr\fP) \-\- The IIS site name. .UNINDENT .sp Usage: @@ -365356,11 +392875,11 @@ Remove an IIS virtual directory. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +\fBname\fP (\fIstr\fP) \-\- The virtual directory name. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +\fBapp\fP (\fIstr\fP) \-\- The IIS application. .UNINDENT .UNINDENT .sp @@ -365414,11 +392933,11 @@ This function only configures existing app. Params are case sensitive. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The IIS application. +\fBname\fP (\fIstr\fP) \-\- The IIS application. .IP \(bu 2 -\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +\fBsite\fP (\fIstr\fP) \-\- The IIS site name. .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIstr\fP) \-\- A dictionary of the setting names and their values. .UNINDENT .UNINDENT .sp @@ -365436,7 +392955,7 @@ Available settings: .INDENT 7.0 .TP .B Return type -\fI\%bool\fP +bool .UNINDENT .sp Example of usage: @@ -365586,7 +393105,7 @@ server_policy: .UNINDENT .INDENT 0.0 .TP -.B salt.states.win_lgpo.set(name, setting=None, policy_class=None, computer_policy=None, user_policy=None, cumulative_rights_assignments=True, adml_language=u\(aqen\-US\(aq) +.B salt.states.win_lgpo.set_(name, setting=None, policy_class=None, computer_policy=None, user_policy=None, cumulative_rights_assignments=True, adml_language=u\(aqen\-US\(aq) Ensure the specified policy is set .INDENT 7.0 .TP @@ -365731,37 +393250,77 @@ Local Area Connection #2: Ensure that the named interface is configured properly. .INDENT 7.0 .TP -.B name -The name of the interface to manage -.TP -.B dns_proto -None +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the interface to manage +.IP \(bu 2 +\fBdns_proto\fP (\fIstr\fP) \-\- None Set to \fBstatic\fP and use the \fBdns_servers\fP parameter to provide a list of DNS nameservers. set to \fBdhcp\fP to use DHCP to get the DNS servers. -.TP -.B dns_servers -None -A list of static DNS servers. -.TP -.B ip_proto -None -Set to \fBstatic\fP and use the \fBip_addrs\fP and (optionally) \fBgateway\fP -parameters to provide a list of static IP addresses and the default -gateway. Set to \fBdhcp\fP to use DHCP. -.TP -.B ip_addrs -None -A list of static IP addresses. -.TP -.B gateway -None -A list of static IP addresses. -.TP -.B enabled -True +.IP \(bu 2 +\fBdns_servers\fP (\fIlist\fP) \-\- None +A list of static DNS servers. To clear the list of DNS servers pass +an empty list (\fB[]\fP). \fBNone\fP will make no changes. +.IP \(bu 2 +\fBip_proto\fP (\fIstr\fP) \-\- None +Set to \fBstatic\fP and use the \fBip_addrs\fP and (optionally) +\fBgateway\fP parameters to provide a list of static IP addresses and +the default gateway. Set to \fBdhcp\fP to use DHCP. +.IP \(bu 2 +\fBip_addrs\fP (\fIlist\fP) \-\- None +A list of static IP addresses with netmask flag, ie: 192.168.0.11/24 +.IP \(bu 2 +\fBgateway\fP (\fIstr\fP) \-\- None +The gateway to set for the interface +.IP \(bu 2 +\fBenabled\fP (\fIbool\fP) \-\- True Set to \fBFalse\fP to ensure that this interface is disabled. .UNINDENT +.TP +.B Returns +A dictionary of old and new settings +.TP +.B Return type +dict +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +Ethernet1: + network.managed: + \- dns_proto: static + \- dns_servers: + \- 8.8.8.8 + \- 8.8.8.4 + \- ip_proto: static + \- ip_addrs: + \- 192.168.0.100/24 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Clear DNS entries example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +Ethernet1: + network.managed: + \- dns_proto: static + \- dns_servers: [] + \- ip_proto: dhcp +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.states.win_path .sp @@ -365847,19 +393406,19 @@ Import the certificate file into the given certificate store. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The path of the certificate file to import. +\fBname\fP (\fIstr\fP) \-\- The path of the certificate file to import. .IP \(bu 2 -\fBcert_format\fP (\fI\%str\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or \(aqpfx\(aq for PKCS #12. +\fBcert_format\fP (\fIstr\fP) \-\- The certificate format. Specify \(aqcer\(aq for X.509, or \(aqpfx\(aq for PKCS #12. .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .IP \(bu 2 -\fBexportable\fP (\fI\%bool\fP) \-\- Mark the certificate as exportable. Only applicable to pfx format. +\fBexportable\fP (\fIbool\fP) \-\- Mark the certificate as exportable. Only applicable to pfx format. .IP \(bu 2 -\fBpassword\fP (\fI\%str\fP) \-\- The password of the certificate. Only applicable to pfx format. +\fBpassword\fP (\fIstr\fP) \-\- The password of the certificate. Only applicable to pfx format. .IP \(bu 2 -\fBsaltenv\fP (\fI\%str\fP) \-\- The environment the file resides in. +\fBsaltenv\fP (\fIstr\fP) \-\- The environment the file resides in. .UNINDENT .UNINDENT .sp @@ -365906,11 +393465,11 @@ Remove the certificate from the given certificate store. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBthumbprint\fP (\fI\%str\fP) \-\- The thumbprint value of the target certificate. +\fBthumbprint\fP (\fIstr\fP) \-\- The thumbprint value of the target certificate. .IP \(bu 2 -\fBcontext\fP (\fI\%str\fP) \-\- The name of the certificate store location context. +\fBcontext\fP (\fIstr\fP) \-\- The name of the certificate store location context. .IP \(bu 2 -\fBstore\fP (\fI\%str\fP) \-\- The name of the certificate store. +\fBstore\fP (\fIstr\fP) \-\- The name of the certificate store. .UNINDENT .UNINDENT .sp @@ -365974,7 +393533,7 @@ Set the sleep timeouts of specific items such as disk, monitor, etc. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp The setting to change, can be one of the following: .INDENT 2.0 @@ -365993,9 +393552,9 @@ The setting to change, can be one of the following: .UNINDENT .IP \(bu 2 -\fBvalue\fP (\fI\%int\fP) \-\- The amount of time in minutes before the item will timeout +\fBvalue\fP (\fIint\fP) \-\- The amount of time in minutes before the item will timeout .IP \(bu 2 -\fBpower\fP (\fI\%str\fP) \-\- +\fBpower\fP (\fIstr\fP) \-\- .sp Set the value for AC or DC power. Default is \fBac\fP\&. Valid options are: @@ -366011,7 +393570,7 @@ are: .UNINDENT .IP \(bu 2 -\fBscheme\fP (\fI\%str\fP) \-\- +\fBscheme\fP (\fIstr\fP) \-\- .sp The scheme to use, leave as \fBNone\fP to use the current. Default is \fBNone\fP\&. This can be the GUID or the Alias for the Scheme. Known @@ -366090,7 +393649,7 @@ server is restarted other features can not be installed! .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp Short name of the feature (the right column in win_servermanager.list_available). This can be a single feature or a @@ -366106,7 +393665,7 @@ list .UNINDENT .IP \(bu 2 -\fBfeatures\fP (\fIOptional\fP\fI[\fP\fI\%list\fP\fI]\fP) \-\- +\fBfeatures\fP (\fIOptional\fP\fI[\fP\fIlist\fP\fI]\fP) \-\- .sp A list of features to install. If this is passed it will be used instead of the \fBname\fP parameter. @@ -366115,18 +393674,18 @@ New in version 2018.3.0. .IP \(bu 2 -\fBrecurse\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Install all sub\-features as well. If the feature is installed but +\fBrecurse\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Install all sub\-features as well. If the feature is installed but one of its sub\-features are not installed set this will install additional sub\-features .IP \(bu 2 -\fBsource\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- Path to the source files if missing from the target system. None +\fBsource\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- Path to the source files if missing from the target system. None means that the system will use windows update services to find the required files. Default is None .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Restarts the computer when installation is complete, if required by +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Restarts the computer when installation is complete, if required by the role/feature installed. Default is False .IP \(bu 2 -\fBexclude\fP (\fIOptional\fP\fI[\fP\fI\%str\fP\fI]\fP) \-\- +\fBexclude\fP (\fIOptional\fP\fI[\fP\fIstr\fP\fI]\fP) \-\- .sp The name of the feature to exclude when installing the named feature. This can be a single feature, a string of features in a @@ -366199,7 +393758,7 @@ parameter. To remove multiple features, use the \fBfeatures\fP parameter. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- +\fBname\fP (\fIstr\fP) \-\- .sp Short name of the feature (the right column in win_servermanager.list_available). This can be a single feature or a @@ -366215,7 +393774,7 @@ list .UNINDENT .IP \(bu 2 -\fBfeatures\fP (\fIOptional\fP\fI[\fP\fI\%list\fP\fI]\fP) \-\- +\fBfeatures\fP (\fIOptional\fP\fI[\fP\fIlist\fP\fI]\fP) \-\- .sp A list of features to remove. If this is passed it will be used instead of the \fBname\fP parameter. @@ -366224,11 +393783,11 @@ New in version 2018.3.0. .IP \(bu 2 -\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- True will cause the feature to be removed from the side\-by\-side +\fBremove_payload\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- True will cause the feature to be removed from the side\-by\-side store. To install the feature in the future you will need to specify the \fBsource\fP .IP \(bu 2 -\fBrestart\fP (\fIOptional\fP\fI[\fP\fI\%bool\fP\fI]\fP) \-\- Restarts the computer when uninstall is complete if required by the +\fBrestart\fP (\fIOptional\fP\fI[\fP\fIbool\fP\fI]\fP) \-\- Restarts the computer when uninstall is complete if required by the role/feature uninstall. Default is False .UNINDENT .UNINDENT @@ -366292,9 +393851,9 @@ Manage the active log format for the SMTP server. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBlog_format\fP (\fI\%str\fP) \-\- The log format name. +\fBlog_format\fP (\fIstr\fP) \-\- The log format name. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .UNINDENT .sp @@ -366321,11 +393880,11 @@ Manage IP list for SMTP connections. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBaddresses\fP (\fI\%str\fP) \-\- A dictionary of IP + subnet pairs. +\fBaddresses\fP (\fIstr\fP) \-\- A dictionary of IP + subnet pairs. .IP \(bu 2 -\fBgrant_by_default\fP (\fI\%bool\fP) \-\- Whether the addresses should be a blacklist or whitelist. +\fBgrant_by_default\fP (\fIbool\fP) \-\- Whether the addresses should be a blacklist or whitelist. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .UNINDENT .sp @@ -366416,9 +393975,9 @@ more permissive \(aqAll except the list below\(aq GUI parameter. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBaddresses\fP (\fI\%str\fP) \-\- A list of the relay IPs. The order of the list is important. +\fBaddresses\fP (\fIstr\fP) \-\- A list of the relay IPs. The order of the list is important. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .UNINDENT .sp @@ -366500,9 +394059,9 @@ The setting names are case\-sensitive. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +\fBsettings\fP (\fIstr\fP) \-\- A dictionary of the setting names and their values. .IP \(bu 2 -\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +\fBserver\fP (\fIstr\fP) \-\- The SMTP server name. .UNINDENT .UNINDENT .sp @@ -366537,11 +394096,11 @@ Manage the SNMP sysContact, sysLocation, and sysServices settings. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBcontact\fP (\fI\%str\fP) \-\- The SNMP contact. +\fBcontact\fP (\fIstr\fP) \-\- The SNMP contact. .IP \(bu 2 -\fBlocation\fP (\fI\%str\fP) \-\- The SNMP location. +\fBlocation\fP (\fIstr\fP) \-\- The SNMP location. .IP \(bu 2 -\fBservices\fP (\fI\%str\fP) \-\- A list of selected services. +\fBservices\fP (\fIstr\fP) \-\- A list of selected services. .UNINDENT .UNINDENT .sp @@ -366570,7 +394129,7 @@ Manage the sending of authentication traps. .INDENT 7.0 .TP .B Parameters -\fBstatus\fP (\fI\%bool\fP) \-\- The enabled status. +\fBstatus\fP (\fIbool\fP) \-\- The enabled status. .UNINDENT .sp Example of usage: @@ -366594,7 +394153,7 @@ Manage the SNMP accepted community names and their permissions. .INDENT 7.0 .TP .B Parameters -\fBcommunities\fP (\fI\%str\fP) \-\- A dictionary of SNMP communities and permissions. +\fBcommunities\fP (\fIstr\fP) \-\- A dictionary of SNMP communities and permissions. .UNINDENT .sp Example of usage: @@ -366671,31 +394230,48 @@ The hostname to set .INDENT 0.0 .TP .B salt.states.win_system.join_domain(name, username=None, password=None, account_ou=None, account_exists=False, restart=False) -Checks if a computer is joined to the Domain. -If the computer is not in the Domain, it will be joined. +Checks if a computer is joined to the Domain. If the computer is not in the +Domain, it will be joined. .INDENT 7.0 .TP -.B name: -The name of the Domain. -.TP -.B username: -Username of an account which is authorized to join computers to the -specified domain. Need to be either fully qualified like \fI\%user@domain.tld\fP -or simply user. -.TP -.B password: -Password of the account to add the computer to the Domain. -.TP -.B account_ou: -The DN of the OU below which the account for this computer should be +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fIstr\fP) \-\- The name of the Domain. +.IP \(bu 2 +\fBusername\fP (\fIstr\fP) \-\- Username of an account which is authorized to join computers to the +specified domain. Need to be either fully qualified like +\fI\%user@domain.tld\fP or simply user. +.IP \(bu 2 +\fBpassword\fP (\fIstr\fP) \-\- Password of the account to add the computer to the Domain. +.IP \(bu 2 +\fBaccount_ou\fP (\fIstr\fP) \-\- The DN of the OU below which the account for this computer should be created when joining the domain, e.g. ou=computers,ou=departm_432,dc=my\-company,dc=com. -.TP -.B account_exists: -Needs to be set to True to allow re\-using an existing computer account. -.TP -.B restart: -Needs to be set to True to restart the computer after a successful join. +.IP \(bu 2 +\fBaccount_exists\fP (\fIbool\fP) \-\- Needs to be set to \fBTrue\fP to allow re\-using an existing computer +account. +.IP \(bu 2 +\fBrestart\fP (\fIbool\fP) \-\- Needs to be set to \fBTrue\fP to restart the computer after a +successful join. +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +join_to_domain: + system.join_domain: + \- name: mydomain.local.com + \- username: myaccount@mydomain.local.com + \- password: mysecretpassword + \- restart: True +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -366707,7 +394283,7 @@ Reboot the computer .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBmessage\fP (\fI\%str\fP) \-\- +\fBmessage\fP (\fIstr\fP) \-\- .sp An optional message to display to users. It will also be used as a comment in the event log entry. @@ -366715,7 +394291,7 @@ comment in the event log entry. The default value is None. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- +\fBtimeout\fP (\fIint\fP) \-\- .sp The number of minutes or seconds before a reboot will occur. Whether this number represents minutes or seconds depends on the value of @@ -366724,7 +394300,7 @@ this number represents minutes or seconds depends on the value of The default value is 5. .IP \(bu 2 -\fBin_seconds\fP (\fI\%bool\fP) \-\- +\fBin_seconds\fP (\fIbool\fP) \-\- .sp If this is True, the value of \fBtimeout\fP will be treated as a number of seconds. If this is False, the value of \fBtimeout\fP will be treated @@ -366733,7 +394309,7 @@ as a number of minutes. The default value is False. .IP \(bu 2 -\fBforce_close\fP (\fI\%bool\fP) \-\- +\fBforce_close\fP (\fIbool\fP) \-\- .sp If this is True, running applications will be forced to close without warning. If this is False, running applications will not get the @@ -366742,7 +394318,7 @@ opportunity to prompt users about unsaved data. The default value is True. .IP \(bu 2 -\fBonly_on_pending_reboot\fP (\fI\%bool\fP) \-\- +\fBonly_on_pending_reboot\fP (\fIbool\fP) \-\- .sp If this is True, the reboot will only occur if the system reports a pending reboot. If this is False, the reboot will always occur. @@ -366761,7 +394337,7 @@ Shutdown the computer .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBmessage\fP (\fI\%str\fP) \-\- +\fBmessage\fP (\fIstr\fP) \-\- .sp An optional message to display to users. It will also be used as a comment in the event log entry. @@ -366769,7 +394345,7 @@ comment in the event log entry. The default value is None. .IP \(bu 2 -\fBtimeout\fP (\fI\%int\fP) \-\- +\fBtimeout\fP (\fIint\fP) \-\- .sp The number of minutes or seconds before a shutdown will occur. Whether this number represents minutes or seconds depends on the value of @@ -366778,7 +394354,7 @@ this number represents minutes or seconds depends on the value of The default value is 5. .IP \(bu 2 -\fBin_seconds\fP (\fI\%bool\fP) \-\- +\fBin_seconds\fP (\fIbool\fP) \-\- .sp If this is True, the value of \fBtimeout\fP will be treated as a number of seconds. If this is False, the value of \fBtimeout\fP will be treated @@ -366787,7 +394363,7 @@ as a number of minutes. The default value is False. .IP \(bu 2 -\fBforce_close\fP (\fI\%bool\fP) \-\- +\fBforce_close\fP (\fIbool\fP) \-\- .sp If this is True, running applications will be forced to close without warning. If this is False, running applications will not get the @@ -366796,7 +394372,7 @@ opportunity to prompt users about unsaved data. The default value is True. .IP \(bu 2 -\fBreboot\fP (\fI\%bool\fP) \-\- +\fBreboot\fP (\fIbool\fP) \-\- .sp If this is True, the computer will restart immediately after shutting down. If False the system flushes all caches to disk and safely powers @@ -366805,7 +394381,7 @@ down the system. The default value is False. .IP \(bu 2 -\fBonly_on_pending_reboot\fP (\fI\%bool\fP) \-\- +\fBonly_on_pending_reboot\fP (\fIbool\fP) \-\- .sp If this is True, the shutdown will only occur if the system reports a pending reboot. If this is False, the shutdown will always occur. @@ -366815,256 +394391,6 @@ The default value is False. .UNINDENT .UNINDENT .UNINDENT -.SS salt.states.win_update -.SS Management of the windows update agent -.sp -This module is being deprecated and will be removed in Salt Fluorine. Please use -the \fBwin_wua\fP state module instead. -.sp -New in version 2014.7.0. - -.sp -Set windows updates to run by category. Default behavior is to install -all updates that do not require user interaction to complete. -.sp -Optionally set \fBcategory\fP to a category of your choice to only -install certain updates. Default is to set to install all available updates. -.sp -The following example will install all Security and Critical Updates, -and download but not install standard updates. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -updates: - win_update.installed: - \- categories: - \- \(aqCritical Updates\(aq - \- \(aqSecurity Updates\(aq - \- skips: - \- downloaded - win_update.downloaded: - \- categories: - \- \(aqUpdates\(aq - \- skips: - \- downloaded -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -You can also specify a number of features about the update to have a -fine grain approach to specific types of updates. These are the following -features/states of updates available for configuring: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -\(aqUI\(aq \- User interaction required, skipped by default -\(aqdownloaded\(aq \- Already downloaded, included by default -\(aqpresent\(aq \- Present on computer, skipped by default -\(aqinstalled\(aq \- Already installed, skipped by default -\(aqreboot\(aq \- Reboot required, included by default -\(aqhidden\(aq \- Skip updates that have been hidden, skipped by default -\(aqsoftware\(aq \- Software updates, included by default -\(aqdriver\(aq \- driver updates, included by default -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -The following example installs all driver updates that don\(aqt require a reboot: -.. code\-block:: yaml -.INDENT 0.0 -.INDENT 3.5 -.INDENT 0.0 -.TP -.B gryffindor: -.INDENT 7.0 -.TP -.B win_update.installed: -.INDENT 7.0 -.IP \(bu 2 -skips: -\- driver: True -\- software: False -\- reboot: False -.UNINDENT -.UNINDENT -.UNINDENT -.UNINDENT -.UNINDENT -.sp -To just update your windows machine, add this your sls: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -updates: - win_update.installed -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B class salt.states.win_update.PyWinUpdater(categories=None, skipUI=True, skipDownloaded=False, skipInstalled=True, skipReboot=False, skipPresent=False, skipSoftwareUpdates=False, skipDriverUpdates=False, skipHidden=True) -.INDENT 7.0 -.TP -.B AutoSearch() -.UNINDENT -.INDENT 7.0 -.TP -.B Download() -.UNINDENT -.INDENT 7.0 -.TP -.B GetAvailableCategories() -.UNINDENT -.INDENT 7.0 -.TP -.B GetCategories() -.UNINDENT -.INDENT 7.0 -.TP -.B GetDownloadResults() -.UNINDENT -.INDENT 7.0 -.TP -.B GetInstallationResults() -.UNINDENT -.INDENT 7.0 -.TP -.B Install() -.UNINDENT -.INDENT 7.0 -.TP -.B Search(searchString) -.UNINDENT -.INDENT 7.0 -.TP -.B SetCategories(categories) -.UNINDENT -.INDENT 7.0 -.TP -.B SetSkip(skip, state) -.UNINDENT -.INDENT 7.0 -.TP -.B SetSkips(skips) -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.win_update.downloaded(name, categories=None, skips=None, retries=10) -Cache updates for later install. -.INDENT 7.0 -.TP -.B name: -if categories is left empty, it will be assumed that you are passing the category option -through the name. These are separate because you can only have one name, but can have -multiple categories. -.TP -.B categories: -the list of categories to be downloaded. These are simply strings in the update\(aqs -information, so there is no enumeration of the categories available. Some known categories: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -Updates -Windows 7 -Critical Updates -Security Updates -Update Rollups -.ft P -.fi -.UNINDENT -.UNINDENT -.TP -.B skips: -a list of features of the updates to cull by. Available features: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -\(aqUI\(aq \- User interaction required, skipped by default -\(aqdownloaded\(aq \- Already downloaded, skipped by default (downloading) -\(aqpresent\(aq \- Present on computer, included by default (installing) -\(aqinstalled\(aq \- Already installed, skipped by default -\(aqreboot\(aq \- Reboot required, included by default -\(aqhidden\(aq \- skip those updates that have been hidden. -\(aqsoftware\(aq \- Software updates, included by default -\(aqdriver\(aq \- driver updates, skipped by default -.ft P -.fi -.UNINDENT -.UNINDENT -.TP -.B retries -Number of retries to make before giving up. This is total, not per -step. -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.win_update.installed(name, categories=None, skips=None, retries=10) -Install specified windows updates. -.INDENT 7.0 -.TP -.B name: -if categories is left empty, it will be assumed that you are passing the category option -through the name. These are separate because you can only have one name, but can have -multiple categories. -.TP -.B categories: -the list of categories to be downloaded. These are simply strings in the update\(aqs -information, so there is no enumeration of the categories available. Some known categories: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -Updates -Windows 7 -Critical Updates -Security Updates -Update Rollups -.ft P -.fi -.UNINDENT -.UNINDENT -.TP -.B skips: -a list of features of the updates to cull by. Available features: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -\(aqUI\(aq \- User interaction required, skipped by default -\(aqdownloaded\(aq \- Already downloaded, skipped by default (downloading) -\(aqpresent\(aq \- Present on computer, included by default (installing) -\(aqinstalled\(aq \- Already installed, skipped by default -\(aqreboot\(aq \- Reboot required, included by default -\(aqhidden\(aq \- skip those updates that have been hidden. -\(aqsoftware\(aq \- Software updates, included by default -\(aqdriver\(aq \- driver updates, skipped by default -.ft P -.fi -.UNINDENT -.UNINDENT -.TP -.B retries -Number of retries to make before giving up. This is total, not per -step. -.UNINDENT -.UNINDENT .SS salt.states.win_wua module .sp Installation of Windows Updates using the Windows Update Agent @@ -367138,9 +394464,9 @@ needed. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The identifier of a single update to install. +\fBname\fP (\fIstr\fP) \-\- The identifier of a single update to install. .IP \(bu 2 -\fBupdates\fP (\fI\%list\fP) \-\- A list of identifiers for updates to be installed. Overrides +\fBupdates\fP (\fIlist\fP) \-\- A list of identifiers for updates to be installed. Overrides \fBname\fP\&. Default is None. .UNINDENT .UNINDENT @@ -367167,7 +394493,7 @@ more than one update being installed. A dictionary containing the results of the update .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -367211,9 +394537,9 @@ Ensure Microsoft Updates are uninstalled. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The identifier of a single update to uninstall. +\fBname\fP (\fIstr\fP) \-\- The identifier of a single update to uninstall. .IP \(bu 2 -\fBupdates\fP (\fI\%list\fP) \-\- A list of identifiers for updates to be removed. Overrides \fBname\fP\&. +\fBupdates\fP (\fIlist\fP) \-\- A list of identifiers for updates to be removed. Overrides \fBname\fP\&. Default is None. .UNINDENT .UNINDENT @@ -367240,7 +394566,7 @@ more than one update being removed. A dictionary containing the results of the removal .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -367288,20 +394614,20 @@ update to apply. All matching updates will be installed. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name has no functional value and is only used as a tracking +\fBname\fP (\fIstr\fP) \-\- The name has no functional value and is only used as a tracking reference .IP \(bu 2 -\fBsoftware\fP (\fI\%bool\fP) \-\- Include software updates in the results (default is True) +\fBsoftware\fP (\fIbool\fP) \-\- Include software updates in the results (default is True) .IP \(bu 2 -\fBdrivers\fP (\fI\%bool\fP) \-\- Include driver updates in the results (default is False) +\fBdrivers\fP (\fIbool\fP) \-\- Include driver updates in the results (default is False) .IP \(bu 2 -\fBskip_hidden\fP (\fI\%bool\fP) \-\- Skip updates that have been hidden. Default is False. +\fBskip_hidden\fP (\fIbool\fP) \-\- Skip updates that have been hidden. Default is False. .IP \(bu 2 -\fBskip_mandatory\fP (\fI\%bool\fP) \-\- Skip mandatory updates. Default is False. +\fBskip_mandatory\fP (\fIbool\fP) \-\- Skip mandatory updates. Default is False. .IP \(bu 2 -\fBskip_reboot\fP (\fI\%bool\fP) \-\- Skip updates that require a reboot. Default is True. +\fBskip_reboot\fP (\fIbool\fP) \-\- Skip updates that require a reboot. Default is True. .IP \(bu 2 -\fBcategories\fP (\fI\%list\fP) \-\- +\fBcategories\fP (\fIlist\fP) \-\- .sp Specify the categories to list. Must be passed as a list. All categories returned by default. @@ -367337,7 +394663,7 @@ Windows Defender .UNINDENT .IP \(bu 2 -\fBseverities\fP (\fI\%list\fP) \-\- +\fBseverities\fP (\fIlist\fP) \-\- .sp Specify the severities to include. Must be passed as a list. All severities returned by default. @@ -367356,7 +394682,7 @@ Important A dictionary containing the results of the update .TP .B Return type -\fI\%dict\fP +dict .UNINDENT .sp CLI Example: @@ -367931,6 +395257,107 @@ server\-warning\-message: The message to send to the XMPP user .UNINDENT .UNINDENT +.SS salt.states.zabbix_action +.sp +New in version 2017.7. + +.sp +Management of Zabbix Action object over Zabbix API. +.INDENT 0.0 +.TP +.B codeauthor +Jakub Sliva <\fI\%jakub.sliva@ultimum.io\fP> +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_action.absent(name, **kwargs) +Makes the Zabbix Action to be absent (either does not exist or delete it). +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Action name +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +zabbix\-action\-absent: + zabbix_action.absent: + \- name: Action name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_action.present(name, params, **kwargs) +Creates Zabbix Action object or if differs update it according defined parameters +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Action name +.IP \(bu 2 +\fBparams\fP \-\- Definition of the Zabbix Action +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.sp +If there is a need to get a value from current zabbix online (e.g. id of a hostgroup you want to put a discovered +system into), put a dictionary with two keys "query_object" and "query_name" instead of the value. +In this example we want to get object id of hostgroup named "Virtual machines" and "Databases". +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +zabbix\-action\-present: + zabbix_action.present: + \- name: VMs + \- params: + eventsource: 2 + status: 0 + filter: + evaltype: 2 + conditions: + \- conditiontype: 24 + operator: 2 + value: \(aqvirtual\(aq + \- conditiontype: 24 + operator: 2 + value: \(aqkvm\(aq + operations: + \- operationtype: 2 + \- operationtype: 4 + opgroup: + \- groupid: + query_object: hostgroup + query_name: Virtual machines + \- groupid: + query_object: hostgroup + query_name: Databases +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.zabbix_host module .sp Management of Zabbix hosts. @@ -368033,6 +395460,8 @@ New in version 2016.3.0. .IP \(bu 2 \fBproxy_host\fP \-\- Optional proxy name or proxyid to monitor host .IP \(bu 2 +\fBinventory\fP \-\- Optional list of inventory names and values +.IP \(bu 2 \fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) .IP \(bu 2 \fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) @@ -368068,6 +395497,9 @@ create_test_host: \- testovaci1_ipmi: \- ip: \(aq192.168.100.111\(aq \- type: \(aqipmi\(aq + \- inventory: + \- alias: some alias + \- asset_tag: jlm3937 .ft P .fi .UNINDENT @@ -368226,6 +395658,238 @@ make_new_mediatype: .UNINDENT .UNINDENT .UNINDENT +.SS salt.states.zabbix_template +.sp +New in version 2017.7. + +.sp +Management of Zabbix Template object over Zabbix API. +.INDENT 0.0 +.TP +.B codeauthor +Jakub Sliva <\fI\%jakub.sliva@ultimum.io\fP> +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_template.absent(name, **kwargs) +Makes the Zabbix Template to be absent (either does not exist or delete it). +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Template name +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +zabbix\-template\-absent: + zabbix_template.absent: + \- name: Ceph OSD +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_template.is_present(name, **kwargs) +Check if Zabbix Template already exists. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Template name +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +does_zabbix\-template\-exist: + zabbix_template.is_present: + \- name: Template OS Linux +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_template.present(name, params, static_host_list=True, **kwargs) +Creates Zabbix Template object or if differs update it according defined parameters. See Zabbix API documentation. +.sp +Zabbix API version: >3.0 +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Template name +.IP \(bu 2 +\fBparams\fP \-\- Additional parameters according to Zabbix API documentation +.IP \(bu 2 +\fBstatic_host_list\fP \-\- If hosts assigned to the template are controlled +only by this state or can be also assigned externally +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +If there is a need to get a value from current zabbix online (e.g. ids of host groups you want the template +to be associated with), put a dictionary with two keys "query_object" and "query_name" instead of the value. +In this example we want to create template named "Testing Template", assign it to hostgroup Templates, +link it to two ceph nodes and create a macro. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +IMPORTANT NOTE: +Objects (except for template name) are identified by name (or by other key in some exceptional cases) +so changing name of object means deleting old one and creating new one with new ID !!! +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B NOT SUPPORTED FEATURES: +.INDENT 7.0 +.IP \(bu 2 +linked templates +.IP \(bu 2 +trigger dependencies +.IP \(bu 2 +groups and group prototypes for host prototypes +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +zabbix\-template\-present: + zabbix_template.present: + \- name: Testing Template + # Do not touch existing assigned hosts + # True will detach all other hosts than defined here + \- static_host_list: False + \- params: + description: Template for Ceph nodes + groups: + # groups must already exist + # template must be at least in one hostgroup + \- groupid: + query_object: hostgroup + query_name: Templates + macros: + \- macro: "{$CEPH_CLUSTER_NAME}" + value: ceph + hosts: + # hosts must already exist + \- hostid: + query_object: host + query_name: ceph\-osd\-01 + \- hostid: + query_object: host + query_name: ceph\-osd\-02 + # templates: + # Linked templates \- not supported by state module but can be linked manually (will not be touched) + + applications: + \- name: Ceph OSD + items: + \- name: Ceph OSD avg fill item + key_: ceph.osd_avg_fill + type: 2 + value_type: 0 + delay: 60 + units: \(aq%\(aq + description: \(aqAverage fill of OSD\(aq + applications: + \- applicationid: + query_object: application + query_name: Ceph OSD + triggers: + \- description: "Ceph OSD filled more that 90%" + expression: "{{\(aq{\(aq}}Testing Template:ceph.osd_avg_fill.last(){{\(aq}\(aq}}>90" + priority: 4 + discoveries: + \- name: Mounted filesystem discovery + key_: vfs.fs.discovery + type: 0 + delay: 60 + itemprototypes: + \- name: Free disk space on {{\(aq{#\(aq}}FSNAME} + key_: vfs.fs.size[{{\(aq{#\(aq}}FSNAME},free] + type: 0 + value_type: 3 + delay: 60 + applications: + \- applicationid: + query_object: application + query_name: Ceph OSD + triggerprototypes: + \- description: "Free disk space is less than 20% on volume {{\(aq{#\(aq}}FSNAME{{\(aq}\(aq}}" + expression: "{{\(aq{\(aq}}Testing Template:vfs.fs.size[{{\(aq{#\(aq}}FSNAME},free].last(){{\(aq}\(aq}}<20" + graphs: + \- name: Ceph OSD avg fill graph + width: 900 + height: 200 + graphtype: 0 + gitems: + \- color: F63100 + itemid: + query_object: item + query_name: Ceph OSD avg fill item + screens: + \- name: Ceph + hsize: 1 + vsize: 1 + screenitems: + \- x: 0 + y: 0 + resourcetype: 0 + resourceid: + query_object: graph + query_name: Ceph OSD avg fill graph +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.zabbix_user module .sp Management of Zabbix users. @@ -368269,7 +395933,65 @@ George: .UNINDENT .INDENT 0.0 .TP -.B salt.states.zabbix_user.present(alias, passwd, usrgrps, medias, password_reset=False, **kwargs) +.B salt.states.zabbix_user.admin_password_present(name, password=None, **kwargs) +.INDENT 7.0 +.TP +.B Initial change of Zabbix Admin password to password taken from one of the sources (only the most prioritized one): +.INDENT 7.0 +.IP 1. 3 +\(aqpassword\(aq parameter +.IP 2. 3 +\(aq_connection_password\(aq parameter +.IP 3. 3 +pillar \(aqzabbix.password\(aq setting +.UNINDENT +.UNINDENT +.INDENT 7.0 +.IP 1. 3 +Tries to log in as Admin with password found in state password parameter or _connection_password +or pillar or default zabbix password in this precise order, if any of them is present. +.IP 2. 3 +If one of above passwords matches, it tries to change the password to the most prioritized one. +.IP 3. 3 +If not able to connect with any password then it fails. +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Just a name of state +.IP \(bu 2 +\fBpassword\fP \-\- Optional \- desired password for Admin to be set +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- Ignored in this state (always assumed \(aqAdmin\(aq) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# password taken from pillar or _connection_password +zabbix\-admin\-password: + zabbix_user.admin_password_present + +# directly set password +zabbix\-admin\-password: + zabbix_user.admin_password_present: + \- password: SECRET_PASS +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_user.present(alias, passwd, usrgrps, medias=None, password_reset=False, **kwargs) Ensures that the user exists, eventually creates new user. NOTE: use argument firstname instead of name to not mess values with name from salt sls. .sp @@ -368286,7 +396008,7 @@ New in version 2016.3.0. .IP \(bu 2 \fBusrgrps\fP \-\- user groups to add the user to .IP \(bu 2 -\fBmedias\fP \-\- user\(aqs medias to create +\fBmedias\fP \-\- Optional \- user\(aqs medias to create .IP \(bu 2 \fBpassword_reset\fP \-\- whether or not to reset password at update .IP \(bu 2 @@ -368415,6 +396137,87 @@ make_new_thai_monks_usergroup: .UNINDENT .UNINDENT .UNINDENT +.SS salt.states.zabbix_valuemap +.sp +New in version 2017.7. + +.sp +Management of Zabbix Valuemap object over Zabbix API. +.INDENT 0.0 +.TP +.B codeauthor +Jakub Sliva <\fI\%jakub.sliva@ultimum.io\fP> +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_valuemap.absent(name, **kwargs) +Makes the Zabbix Value map to be absent (either does not exist or delete it). +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Value map name +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +zabbix\-valuemap\-absent: + zabbix_valuemap.absent: + \- name: Value map name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.zabbix_valuemap.present(name, params, **kwargs) +Creates Zabbix Value map object or if differs update it according defined parameters +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Zabbix Value map name +.IP \(bu 2 +\fBparams\fP \-\- Definition of the Zabbix Value map +.IP \(bu 2 +\fB_connection_user\fP \-\- Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +zabbix\-valuemap\-present: + zabbix_valuemap.present: + \- name: Number mapping + \- params: + mappings: + \- value: 1 + newvalue: one + \- value: 2 + newvalue: two +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.zcbuildout .SS Management of zc.buildout .sp @@ -368460,7 +396263,7 @@ installed2 .UNINDENT .INDENT 0.0 .TP -.B salt.states.zcbuildout.installed(name, config=u\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/usr/bin/python2\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=u\(aqdebug\(aq, **kwargs) +.B salt.states.zcbuildout.installed(name, config=u\(aqbuildout.cfg\(aq, quiet=False, parts=None, user=None, env=(), buildout_ver=None, test_release=False, distribute=None, new_st=None, offline=False, newest=False, python=\(aq/home/ch3ll/virtual\-env/salt\-py2/bin/python2\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=u\(aqdebug\(aq, **kwargs) Install buildout in a specific directory .sp It is a thin wrapper to modules.buildout.buildout @@ -369275,7 +397078,7 @@ use shutdown instead of halt if true .UNINDENT .INDENT 0.0 .TP -.B salt.states.zone.import(name, path, mode=u\(aqimport\(aq, nodataset=False, brand_opts=None) +.B salt.states.zone.import_(name, path, mode=u\(aqimport\(aq, nodataset=False, brand_opts=None) Import a zones configuration .INDENT 7.0 .TP @@ -369309,6 +397112,18 @@ The mode argument can be set to \fBimport\fP, \fBinstall\fP, or \fBattach\fP\&. \fBattach\fP: will import and then try to attach of the zone .UNINDENT .UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +omipkg1: + zone.import: + \- path: /foo/bar/baz +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -370873,7 +398688,7 @@ deletens: .UNINDENT .INDENT 0.0 .TP -.B salt.thorium.reg.list(name, add, match, stamp=False, prune=0) +.B salt.thorium.reg.list_(name, add, match, stamp=False, prune=0) Add the specified values to the named list .sp If \fBstamp\fP is True, then the timestamp from the event will also be added @@ -370920,7 +398735,7 @@ foo: .UNINDENT .INDENT 0.0 .TP -.B salt.thorium.reg.set(name, add, match) +.B salt.thorium.reg.set_(name, add, match) Add a value to the named set .sp USAGE: @@ -371062,9 +398877,15 @@ Read tops data from a reclass database T} _ T{ -\fBvarstack\fP +\fBsaltclass\fP T} T{ -Use \fIVarstack <https://github.com/conversis/varstack>\fP to provide tops data +Saltclass Configuration +T} +_ +T{ +\fBvarstack_top\fP +T} T{ +Use \fI\%Varstack\fP to provide tops data T} _ .TE @@ -371306,9 +399127,309 @@ setting the configuration option, like in the example above. .B salt.tops.reclass_adapter.top(**kwargs) Query \fBreclass\fP for the top data (states of the minions). .UNINDENT -.SS salt.tops.varstack +.SS salt.tops.saltclass +.SS Saltclass Configuration +.INDENT 0.0 +.INDENT 3.5 .sp -Use \fIVarstack <https://github.com/conversis/varstack>\fP to provide tops data +.nf +.ft C +master_tops: + saltclass: + path: /srv/saltclass +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Description +.sp +This module clones the behaviour of reclass (\fI\%http://reclass.pantsfullofunix.net/\fP), +without the need of an external app, and add several features to improve flexibility. +Saltclass lets you define your nodes from simple \fByaml\fP files (\fB\&.yml\fP) through +hierarchical class inheritance with the possibility to override pillars down the tree. +.SS Features +.INDENT 0.0 +.IP \(bu 2 +Define your nodes through hierarchical class inheritance +.IP \(bu 2 +.INDENT 2.0 +.TP +.B Reuse your reclass datas with minimal modifications +.INDENT 7.0 +.IP \(bu 2 +applications => states +.IP \(bu 2 +parameters => pillars +.UNINDENT +.UNINDENT +.IP \(bu 2 +Use Jinja templating in your yaml definitions +.IP \(bu 2 +.INDENT 2.0 +.TP +.B Access to the following Salt objects in Jinja +.INDENT 7.0 +.IP \(bu 2 +\fB__opts__\fP +.IP \(bu 2 +\fB__salt__\fP +.IP \(bu 2 +\fB__grains__\fP +.IP \(bu 2 +\fB__pillars__\fP +.IP \(bu 2 +\fBminion_id\fP +.UNINDENT +.UNINDENT +.IP \(bu 2 +Chose how to merge or override your lists using ^ character (see examples) +.IP \(bu 2 +Expand variables ${} with possibility to escape them if needed ${} (see examples) +.IP \(bu 2 +Ignores missing node/class and will simply return empty without breaking the pillar module completely \- will be logged +.UNINDENT +.sp +An example subset of datas is available here: \fI\%http://git.mauras.ch/salt/saltclass/src/master/examples\fP +.TS +center; +|l|l|. +_ +T{ +Terms usable in yaml files +T} T{ +Description +T} +_ +T{ +classes +T} T{ +A list of classes that will be processed in order +T} +_ +T{ +states +T} T{ +A list of states that will be returned by master_tops function +T} +_ +T{ +pillars +T} T{ +A yaml dictionnary that will be returned by the ext_pillar function +T} +_ +T{ +environment +T} T{ +Node saltenv that will be used by master_tops +T} +_ +.TE +.sp +A class consists of: +.INDENT 0.0 +.IP \(bu 2 +zero or more parent classes +.IP \(bu 2 +zero or more states +.IP \(bu 2 +any number of pillars +.UNINDENT +.sp +A child class can override pillars from a parent class. +A node definition is a class in itself with an added \fBenvironment\fP parameter for \fBsaltenv\fP definition. +.SS Class names +.sp +Class names mimic salt way of defining states and pillar files. +This means that \fBdefault.users\fP class name will correspond to one of these: +.INDENT 0.0 +.IP \(bu 2 +\fB<saltclass_path>/classes/default/users.yml\fP +.IP \(bu 2 +\fB<saltclass_path>/classes/default/users/init.yml\fP +.UNINDENT +.SS Saltclass file hierachy +.sp +A saltclass tree would look like this: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +<saltclass_path> +├── classes +│ ├── app +│ │ ├── borgbackup.yml +│ │ └── ssh +│ │ └── server.yml +│ ├── default +│ │ ├── init.yml +│ │ ├── motd.yml +│ │ └── users.yml +│ ├── roles +│ │ ├── app.yml +│ │ └── nginx +│ │ ├── init.yml +│ │ └── server.yml +│ └── subsidiaries +│ ├── gnv.yml +│ ├── qls.yml +│ └── zrh.yml +└── nodes + ├── geneva + │ └── gnv.node1.yml + ├── lausanne + │ ├── qls.node1.yml + │ └── qls.node2.yml + ├── node127.yml + └── zurich + ├── zrh.node1.yml + ├── zrh.node2.yml + └── zrh.node3.yml +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Saltclass Examples +.sp +\fB<saltclass_path>/nodes/lausanne/qls.node1.yml\fP +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +environment: base + +classes: +{% for class in [\(aqdefault\(aq] %} + \- {{ class }} +{% endfor %} + \- subsidiaries.{{ __grains__[\(aqid\(aq].split(\(aq.\(aq)[0] }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fB<saltclass_path>/classes/default/init.yml\fP +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +classes: + \- default.users + \- default.motd + +states: + \- openssh + +pillars: + default: + network: + dns: + srv1: 192.168.0.1 + srv2: 192.168.0.2 + domain: example.com + ntp: + srv1: 192.168.10.10 + srv2: 192.168.10.20 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fB<saltclass_path>/classes/subsidiaries/gnv.yml\fP +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +pillars: + default: + network: + sub: Geneva + dns: + srv1: 10.20.0.1 + srv2: 10.20.0.2 + srv3: 192.168.1.1 + domain: gnv.example.com + users: + adm1: + uid: 1210 + gid: 1210 + gecos: \(aqSuper user admin1\(aq + homedir: /srv/app/adm1 + adm3: + uid: 1203 + gid: 1203 + gecos: \(aqSuper user adm +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Variable expansions +.sp +Escaped variables are rendered as is: \fB${test}\fP +.sp +Missing variables are rendered as is: \fB${net:dns:srv2}\fP +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +pillars: + app: + config: + dns: + srv1: ${default:network:dns:srv1} + srv2: ${net:dns:srv2} + uri: https://application.domain/call?\e${test} + prod_parameters: + \- p1 + \- p2 + \- p3 + pkg: + \- app\-core + \- app\-backend +.ft P +.fi +.UNINDENT +.UNINDENT +.SS List override +.sp +Not using \fB^\fP as the first entry will simply merge the lists +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +pillars: + app: + pkg: + \- ^ + \- app\-frontend +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBKnown limitation\fP +.sp +Currently you can\(aqt have both a variable and an escaped variable in the same string as the +escaped one will not be correctly rendered \- \(aq${xx}\(aq will stay as is instead of being rendered as \(aq${xx}\(aq +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.tops.saltclass.top(**kwargs) +Compile tops +.UNINDENT +.SS salt.tops.varstack_top +.sp +Use \fI\%Varstack\fP to provide tops data .sp This master_tops plugin provides access to the \fBvarstack\fP hierarchical yaml files, so you can user \fBvarstack\fP as a full @@ -371333,7 +399454,7 @@ master_tops: Varstack will then use /path/to/the/config/file/varstack.yaml (usually /etc/varstack.yaml) to determine which configuration data to return as adapter information. From there you can take a look at the -\fIREADME <https://github.com/conversis/varstack/blob/master/README.md>\fP of +\fI\%README\fP of varstack to learn how this file is evaluated. The ENC part will just return the \(aqstates\(aq dictionary for the node. .sp @@ -371358,7 +399479,7 @@ these will be returned as {\(aqbase\(aq: [\(aqsudo\(aq, \(aqopenssh\(aq, \(aqapa managed by salt as if given from a top.sls file. .INDENT 0.0 .TP -.B salt.tops.varstack.top(**kwargs) +.B salt.tops.varstack_top.top(**kwargs) Query \fBvarstack\fP for the top data (states of the minions). .UNINDENT .SS wheel modules @@ -371813,7 +399934,7 @@ Generate master public\-key\-signature .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.key.print(match) +.B salt.wheel.key.key_str(match) Return information about the key. Returns a dictionary. .INDENT 7.0 .TP @@ -371836,7 +399957,7 @@ TWugEQpPt\eniQIDAQAB\en\-\-\-\-\-END PUBLIC KEY\-\-\-\-\-\(aq}} .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.key.list(match) +.B salt.wheel.key.list_(match) List all the keys under a named status. Returns a dictionary. .INDENT 7.0 .TP @@ -372101,23 +400222,23 @@ system by evaluating the __virtual__() function in each module. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBopts\fP (\fI\%dict\fP) \-\- The Salt options dictionary +\fBopts\fP (\fIdict\fP) \-\- The Salt options dictionary .IP \(bu 2 -\fBcontext\fP (\fI\%dict\fP) \-\- A Salt context that should be made present inside +\fBcontext\fP (\fIdict\fP) \-\- A Salt context that should be made present inside generated modules in __context__ .IP \(bu 2 -\fButils\fP (\fI\%dict\fP) \-\- Utility functions which should be made available to +\fButils\fP (\fIdict\fP) \-\- Utility functions which should be made available to Salt modules in __utils__. See \fIutils_dirs\fP in salt.config for additional information about configuration. .IP \(bu 2 -\fBwhitelist\fP (\fI\%list\fP) \-\- A list of modules which should be whitelisted. +\fBwhitelist\fP (\fIlist\fP) \-\- A list of modules which should be whitelisted. .IP \(bu 2 -\fBinitial_load\fP (\fI\%bool\fP) \-\- Deprecated flag! Unused. +\fBinitial_load\fP (\fIbool\fP) \-\- Deprecated flag! Unused. .IP \(bu 2 -\fBloaded_base_name\fP (\fI\%str\fP) \-\- A string marker for the loaded base name. +\fBloaded_base_name\fP (\fIstr\fP) \-\- A string marker for the loaded base name. .IP \(bu 2 -\fBnotify\fP (\fI\%bool\fP) \-\- Flag indicating that an event should be fired upon +\fBnotify\fP (\fIbool\fP) \-\- Flag indicating that an event should be fired upon completion of module loading. .UNINDENT .UNINDENT @@ -372169,9 +400290,9 @@ Returns the state modules .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBopts\fP (\fI\%dict\fP) \-\- The Salt options dictionary +\fBopts\fP (\fIdict\fP) \-\- The Salt options dictionary .IP \(bu 2 -\fBfunctions\fP (\fI\%dict\fP) \-\- A dictionary of minion modules, with module names as +\fBfunctions\fP (\fIdict\fP) \-\- A dictionary of minion modules, with module names as keys and funcs as values. .UNINDENT .UNINDENT @@ -372340,7 +400461,7 @@ used if no arguments are required. .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBtgt\fP (\fIstring\fP\fI or \fP\fI\%list\fP) \-\- Which minions to target for the execution. Default is shell +\fBtgt\fP (\fIstring\fP\fI or \fP\fIlist\fP) \-\- Which minions to target for the execution. Default is shell glob. Modified by the \fBtgt_type\fP option. .IP \(bu 2 \fBfun\fP (\fIstring\fP\fI or \fP\fIlist of strings\fP) \-\- @@ -372362,7 +400483,7 @@ a corresponding empty list at the expected index. .UNINDENT .IP \(bu 2 -\fBarg\fP (\fI\%list\fP\fI or \fP\fIlist\-of\-lists\fP) \-\- A list of arguments to pass to the remote function. If the +\fBarg\fP (\fIlist\fP\fI or \fP\fIlist\-of\-lists\fP) \-\- A list of arguments to pass to the remote function. If the function takes no arguments \fBarg\fP may be omitted except when executing a compound command. .IP \(bu 2 @@ -372691,6 +400812,78 @@ exist but have been removed from the docs. .ft C caller.cmd(\(aqtest.arg\(aq, \(aqFoo\(aq, \(aqBar\(aq, baz=\(aqBaz\(aq) +caller.cmd(\(aqevent.send\(aq, \(aqmyco/myevent/something\(aq, + data={\(aqfoo\(aq: \(aqFoo\(aq}, with_env=[\(aqGIT_COMMIT\(aq], with_grains=True) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.SS Salt Proxy Caller +.INDENT 0.0 +.TP +.B class salt.client.ProxyCaller(c_path=u\(aq/etc/salt/proxy\(aq, mopts=None) +\fBProxyCaller\fP is the same interface used by the \fBsalt\-call\fP +with the args \fB\-\-proxyid <proxyid>\fP command\-line tool on the Salt Proxy +Minion. +.sp +Importing and using \fBProxyCaller\fP must be done on the same machine as a +Salt Minion and it must be done using the same user that the Salt Minion is +running as. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +import salt.client +caller = salt.client.Caller() +caller.cmd(\(aqtest.ping\(aq) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Note, a running master or minion daemon is not required to use this class. +Running \fBsalt\-call \-\-local\fP simply sets \fBfile_client\fP to +\fB\(aqlocal\(aq\fP\&. The same can be achieved at the Python level by including that +setting in a minion config file. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +import salt.client +import salt.config +__opts__ = salt.config.proxy_config(\(aq/etc/salt/proxy\(aq, minion_id=\(aqquirky_edison\(aq) +__opts__[\(aqfile_client\(aq] = \(aqlocal\(aq +caller = salt.client.ProxyCaller(mopts=__opts__) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +To use this for calling proxies, the \fBis_proxy functions\fP requires that \fB\-\-proxyid\fP be an +argument on the commandline for the script this is used in, or that the +string \fBproxy\fP is in the name of the script. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B cmd(fun, *args, **kwargs) +Call an execution module with the given arguments and keyword arguments +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +caller.cmd(\(aqtest.arg\(aq, \(aqFoo\(aq, \(aqBar\(aq, baz=\(aqBaz\(aq) + caller.cmd(\(aqevent.send\(aq, \(aqmyco/myevent/something\(aq, data={\(aqfoo\(aq: \(aqFoo\(aq}, with_env=[\(aqGIT_COMMIT\(aq], with_grains=True) .ft P @@ -372717,6 +400910,12 @@ eauth user must be authorized to execute runner modules: (\fB@runner\fP). Only the \fBmaster_call()\fP below supports eauth. .INDENT 7.0 .TP +.B asynchronous(fun, low, user=u\(aqUNKNOWN\(aq, pub=None) +Execute the function in a multiprocess and return the event tag to use +to watch for the return +.UNINDENT +.INDENT 7.0 +.TP .B cmd(fun, arg=None, pub_data=None, kwarg=None, print_event=True, full_return=False) Execute a function .UNINDENT @@ -372797,6 +400996,12 @@ wheel = salt.wheel.WheelClient(opts) .UNINDENT .INDENT 7.0 .TP +.B asynchronous(fun, low, user=u\(aqUNKNOWN\(aq, pub=None) +Execute the function in a multiprocess and return the event tag to use +to watch for the return +.UNINDENT +.INDENT 7.0 +.TP .B cmd(fun, arg=None, pub_data=None, kwarg=None, print_event=True, full_return=False) Execute a function .INDENT 7.0 @@ -372961,7 +401166,7 @@ Pass the cloud function and low data structure to run .INDENT 7.0 .TP .B map_run(path=None, **kwargs) -Pass in a location for a map to execute +To execute a map .UNINDENT .INDENT 7.0 .TP @@ -373830,6 +402035,15 @@ salt \-G \(aqos:windows\(aq pkg.refresh_db .fi .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Use \fBpkg.refresh_db\fP from 2016.11 when developing new Windows package +definitions to check for errors in the definitions against one or more +Windows minions. +.UNINDENT +.UNINDENT .SS Install Windows Software .sp After completing the configuration steps, you are ready to manage software on your @@ -373984,7 +402198,7 @@ than 2015.8.0 .UNINDENT .UNINDENT .sp -Package definitions are pulled down from the online repository by running the +Package definitions are pulled down from the online git repository by running the \fBwinrepo.update_git_repos\fP runner. This command is run on the master: .INDENT 0.0 @@ -374014,11 +402228,11 @@ out every time you run a \fBwinrepo.update_git_repos\fP\&. .sp Additionally, when you run \fBwinrepo.genrepo\fP and \fBpkg.refresh_db\fP the entire contents under \fBwin/repo\fP and \fBwin/repo\-ng\fP, to include all -subdirectories, are used to create the msgpack file. +subdirectories, are used to create the meta database file. .UNINDENT .UNINDENT .sp -The next step (if you have older minions) is to create the msgpack file for the +The next step (if you have older minions) is to create the meta database file for the repo (\fBwinrepo.p\fP). This is done by running the \fBwinrepo.genrepo\fP runner. This is also run on the master: @@ -374057,8 +402271,8 @@ salt \(aq*\(aq pkg.refresh_db .sp On older minions (older than 2015.8.0) this will copy the winrepo.p file down to the minion. On newer minions (2015.8.0 and newer) this will copy all the -software definition files (.sls) down to the minion and then create the msgpack -file (\fBwinrepo.p\fP) locally. The reason this is done locally is because the +software definition files (.sls) down to the minion and then create the meta +database file (\fBwinrepo.p\fP) locally. The reason this is done locally is because the jinja needs to be parsed using the minion\(aqs grains. .sp \fBIMPORTANT:\fP @@ -374079,7 +402293,7 @@ just \fBsalt \(aq*\(aq pkg.refresh_db\fP\&. If the \fBwinrepo.genrepo\fP or the \fBpkg.refresh_db\fP fails, it is likely a problem with the jinja in one of the software definition files. This will cause the operations to stop. You\(aqll need to fix the syntax in order for the -msgpack file to be created successfully. +meta database file to be created successfully. .UNINDENT .UNINDENT .sp @@ -374101,7 +402315,7 @@ winrepo_remotes: [] The package definition file is a yaml file that contains all the information needed to install a piece of software using salt. It defines information about the package to include version, full name, flags required for the installer and -uninstaller, whether or not to use the windows task scheduler to install the +uninstaller, whether or not to use the Windows task scheduler to install the package, where to find the installation package, etc. .sp Take a look at this example for Firefox: @@ -374560,15 +402774,25 @@ proper relative path. For example, if the \fBbase\fP environment in \fBwinrepo_dir\fP must be set to \fBD:\efoo\ewin\erepo\fP to ensure that \fBwinrepo.genrepo\fP puts the cachefile into right location. -.SS Config Options for Minions 2015.8.0 and Later +.SS Configuration options for Minions 2015.8.0 and later .sp The \fBwinrepo_source_dir\fP config parameter (default: -\fBsalt://win/repo\fP) controls where \fBpkg.refresh_db\fP looks for the cachefile (default: -\fBwinrepo.p\fP). This means that the default location for the winrepo cachefile -would be \fBsalt://win/repo/winrepo.p\fP\&. Both \fBwinrepo_source_dir\fP -and \fBwinrepo_cachefile\fP can be adjusted to match the actual -location of this file on the Salt fileserver. -.SS Config Options for Minions Before 2015.8.0 +\fBsalt://win/repo\-ng/\fP) controls where \fBpkg.refresh_db\fP fetches the software package definitions. +\fBpkg.refresh_db\fP generates meta database +file called \fBwinrepo_cachefile\fP on the minion. +.SS Cache configuration options for Minions 2016.11.0 and later +.sp +Software package definitions are automatically refresh if stale after +\fBwinrepo_cache_expire_max\fP\&. Running a highstate normal forces the +refresh of the package definition and generation of meta database, unless the +meta database is younger than \fBwinrepo_cache_expire_max\fP\&. +Refreshing the package definition can take some time, these options were +introduced to allow more control of when it occurs. +.sp +It\(aqs important use \fBpkg.refresh_db\fP +to check for errors and ensure the latest package definition is on any minion +your testing new definitions on. +.SS Configuration options for Minions before 2015.8.0 .sp If connected to a master, the minion will by default look for the winrepo cachefile (the file generated by the \fBwinrepo.genrepo runner\fP) at \fBsalt://win/repo/winrepo.p\fP\&. If the @@ -374849,7 +403073,7 @@ salt winminion pkg.refresh_db .SS Packages management under Windows 2003 .sp On Windows server 2003, you need to install optional Windows component "wmi -windows installer provider" to have full list of installed packages. If you +Windows installer provider" to have full list of installed packages. If you don\(aqt have this, salt\-minion can\(aqt report some installed software. .SS How Success and Failure are Reported .sp @@ -375426,7 +403650,7 @@ nothing to commit, working tree clean .UNINDENT .sp Do \fBNOT\fP perform a \fBgit pull\fP or \fBgit merge\fP here. Instead, add -\fB\-\-force\fP to the end of the \fBgit push\fP command to get the changes +\fB\-\-force\-with\-lease\fP to the end of the \fBgit push\fP command to get the changes pushed to your fork. Pulling or merging, while they will resolve the non\-fast\-forward issue, will likely add extra commits to the pull request which were not part of your changes. @@ -375855,6 +404079,17 @@ GitHub hosts a number of \fI\%help articles\fP for creating a GPG key, using the GPG key with \fBgit\fP locally, and linking the GPG key to your GitHub account. Once these steps are completed, the commit signing verification will look like the example in GitHub\(aqs \fI\%GPG Signature Verification feature announcement\fP\&. +.SS Bootstrap Script Changes +.sp +Salt\(aqs Bootstrap Script, known as \fI\%bootstrap\-salt.sh\fP in the Salt repo, has it\(aqs own +repository, contributing guidelines, and release cadence. +.sp +All changes to the Bootstrap Script should be made to \fI\%salt\-bootstrap repo\fP\&. Any +pull requests made to the \fI\%bootstrap\-salt.sh\fP file in the Salt repository will be +automatically overwritten upon the next stable release of the Bootstrap Script. +.sp +For more information on the release process or how to contribute to the Bootstrap +Script, see the Bootstrap Script\(aqs \fI\%Contributing Guidelines\fP\&. .SS Deprecating Code .sp Salt should remain backwards compatible, though sometimes, this backwards @@ -375887,7 +404122,7 @@ To help in this deprecation task, salt provides idea behind this helper function is to show the deprecation warning to the user until salt reaches the provided version. Once that provided version is equaled \fBsalt.utils.versions.warn_until\fP will -raise a \fI\%RuntimeError\fP making salt stop its execution. This stoppage is +raise a \fBRuntimeError\fP making salt stop its execution. This stoppage is unpleasant and will remind the developer that the deprecation limit has been reached and that the code can then be safely removed. .sp @@ -375914,416 +404149,6 @@ Development begins on the \fBAluminum\fP release when the \fBMagnesium\fP branch forked from the develop branch. Once this occurs, all uses of the \fBwarn_until\fP function targeting \fBAluminum\fP, along with the code they are warning about should be removed from the code. -.SS Dunder Dictionaries -.sp -Salt provides several special "dunder" dictionaries as a convenience for Salt -development. These include \fB__opts__\fP, \fB__context__\fP, \fB__salt__\fP, and -others. This document will describe each dictionary and detail where they exist -and what information and/or functionality they provide. -.SS __opts__ -.SS Available in -.INDENT 0.0 -.IP \(bu 2 -All loader modules -.UNINDENT -.sp -The \fB__opts__\fP dictionary contains all of the options passed in the -configuration file for the master or minion. -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -In many places in salt, instead of pulling raw data from the __opts__ -dict, configuration data should be pulled from the salt \fIget\fP functions -such as config.get, aka \- __salt__[\(aqconfig.get\(aq](\(aqfoo:bar\(aq) -The \fIget\fP functions also allow for dict traversal via the \fI:\fP delimiter. -Consider using get functions whenever using __opts__ or __pillar__ and -__grains__ (when using grains for configuration data) -.UNINDENT -.UNINDENT -.sp -The configuration file data made available in the \fB__opts__\fP dictionary is the -configuration data relative to the running daemon. If the modules are loaded and -executed by the master, then the master configuration data is available, if the -modules are executed by the minion, then the minion configuration is -available. Any additional information passed into the respective configuration -files is made available -.SS __salt__ -.SS Available in -.INDENT 0.0 -.IP \(bu 2 -Execution Modules -.IP \(bu 2 -State Modules -.IP \(bu 2 -Returners -.IP \(bu 2 -Runners -.IP \(bu 2 -SDB Modules -.UNINDENT -.sp -\fB__salt__\fP contains the execution module functions. This allows for all -functions to be called as they have been set up by the salt loader. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -__salt__[\(aqcmd.run\(aq](\(aqfdisk \-l\(aq) -__salt__[\(aqnetwork.ip_addrs\(aq]() -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -When used in runners, \fB__salt__\fP references other runner modules, and not -execution modules. -.UNINDENT -.UNINDENT -.SS __grains__ -.SS Available in -.INDENT 0.0 -.IP \(bu 2 -Execution Modules -.IP \(bu 2 -State Modules -.IP \(bu 2 -Returners -.IP \(bu 2 -External Pillar -.UNINDENT -.sp -The \fB__grains__\fP dictionary contains the grains data generated by the minion -that is currently being worked with. In execution modules, state modules and -returners this is the grains of the minion running the calls, when generating -the external pillar the \fB__grains__\fP is the grains data from the minion that -the pillar is being generated for. -.SS __pillar__ -.SS Available in -.INDENT 0.0 -.IP \(bu 2 -Execution Modules -.IP \(bu 2 -State Modules -.IP \(bu 2 -Returners -.UNINDENT -.sp -The \fB__pillar__\fP dictionary contains the pillar for the respective minion. -.SS __context__ -.sp -\fB__context__\fP exists in state modules and execution modules. -.sp -During a state run the \fB__context__\fP dictionary persists across all states -that are run and then is destroyed when the state ends. -.sp -When running an execution module \fB__context__\fP persists across all module -executions until the modules are refreshed; such as when -\fBsaltutil.sync_all\fP or -\fBstate.apply\fP are executed. -.sp -A great place to see how to use \fB__context__\fP is in the cp.py module in -salt/modules/cp.py. The fileclient authenticates with the master when it is -instantiated and then is used to copy files to the minion. Rather than create a -new fileclient for each file that is to be copied down, one instance of the -fileclient is instantiated in the \fB__context__\fP dictionary and is reused for -each file. Here is an example from salt/modules/cp.py: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -if not \(aqcp.fileclient\(aq in __context__: - __context__[\(aqcp.fileclient\(aq] = salt.fileclient.get_file_client(__opts__) -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -Because __context__ may or may not have been destroyed, always be -sure to check for the existence of the key in __context__ and -generate the key before using it. -.UNINDENT -.UNINDENT -.SS External Pillars -.sp -Salt provides a mechanism for generating pillar data by calling external -pillar interfaces. This document will describe an outline of an ext_pillar -module. -.SS Location -.sp -Salt expects to find your \fBext_pillar\fP module in the same location where it -looks for other python modules. If the \fBextension_modules\fP option in your -Salt master configuration is set, Salt will look for a \fBpillar\fP directory -under there and load all the modules it finds. Otherwise, it will look in -your Python site\-packages \fBsalt/pillar\fP directory. -.SS Configuration -.sp -The external pillars that are called when a minion refreshes its pillars is -controlled by the \fBext_pillar\fP option in the Salt master configuration. You -can pass a single argument, a list of arguments or a dictionary of arguments -to your pillar: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -ext_pillar: - \- example_a: some argument - \- example_b: - \- argumentA - \- argumentB - \- example_c: - keyA: valueA - keyB: valueB -.ft P -.fi -.UNINDENT -.UNINDENT -.SS The Module -.SS Imports and Logging -.sp -Import modules your external pillar module needs. You should first include -generic modules that come with stock Python: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -import logging -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -And then start logging. This is an idiomatic way of setting up logging in Salt: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -log = logging.getLogger(__name__) -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Finally, load modules that are specific to what you are doing. You should catch -import errors and set a flag that the \fB__virtual__\fP function can use later. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -try: - import weird_thing - EXAMPLE_A_LOADED = True -except ImportError: - EXAMPLE_A_LOADED = False -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Options -.sp -If you define an \fB__opts__\fP dictionary, it will be merged into the -\fB__opts__\fP dictionary handed to the \fBext_pillar\fP function later. This is a -good place to put default configuration items. The convention is to name -things \fBmodulename.option\fP\&. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -__opts__ = { \(aqexample_a.someconfig\(aq: 137 } -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Initialization -.sp -If you define an \fB__init__\fP function, it will be called with the following -signature: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -def __init__( __opts__ ): - # Do init work here -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -\fBNote\fP: The \fB__init__\fP function is ran every time a particular minion causes -the external pillar to be called, so don\(aqt put heavy initialization code here. -The \fB__init__\fP functionality is a side\-effect of the Salt loader, so it may -not be as useful in pillars as it is in other Salt items. -.SS __virtual__ -.sp -If you define a \fB__virtual__\fP function, you can control whether or not this -module is visible. If it returns \fBFalse\fP then Salt ignores this module. If -it returns a string, then that string will be how Salt identifies this external -pillar in its \fBext_pillar\fP configuration. If you\(aqre not renaming the module, -simply return \fBTrue\fP in the \fB__virtual__\fP function, which is the same as if -this function did not exist, then, the name Salt\(aqs \fBext_pillar\fP will use to -identify this module is its conventional name in Python. -.sp -This is useful to write modules that can be installed on all Salt masters, but -will only be visible if a particular piece of software your module requires is -installed. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -# This external pillar will be known as \(gaexample_a\(ga -def __virtual__(): - if EXAMPLE_A_LOADED: - return True - return False -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -# This external pillar will be known as \(gasomething_else\(ga -__virtualname__ = \(aqsomething_else\(aq - -def __virtual__(): - if EXAMPLE_A_LOADED: - return __virtualname__ - return False -.ft P -.fi -.UNINDENT -.UNINDENT -.SS ext_pillar -.sp -This is where the real work of an external pillar is done. If this module is -active and has a function called \fBext_pillar\fP, whenever a minion updates its -pillar this function is called. -.sp -How it is called depends on how it is configured in the Salt master -configuration. The first argument is always the current pillar dictionary, this -contains pillar items that have already been added, starting with the data from -\fBpillar_roots\fP, and then from any already\-ran external pillars. -.sp -Using our example above: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -ext_pillar( id, pillar, \(aqsome argument\(aq ) # example_a -ext_pillar( id, pillar, \(aqargumentA\(aq, \(aqargumentB\(aq ) # example_b -ext_pillar( id, pillar, keyA=\(aqvalueA\(aq, keyB=\(aqvalueB\(aq } ) # example_c -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -In the \fBexample_a\fP case, \fBpillar\fP will contain the items from the -\fBpillar_roots\fP, in \fBexample_b\fP \fBpillar\fP will contain that plus the items -added by \fBexample_a\fP, and in \fBexample_c\fP \fBpillar\fP will contain that plus -the items added by \fBexample_b\fP\&. In all three cases, \fBid\fP will contain the -ID of the minion making the pillar request. -.sp -This function should return a dictionary, the contents of which are merged in -with all of the other pillars and returned to the minion. \fBNote\fP: this function -is called once for each minion that fetches its pillar data. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -def ext_pillar( minion_id, pillar, *args, **kwargs ): - - my_pillar = {\(aqexternal_pillar\(aq: {}} - - my_pillar[\(aqexternal_pillar\(aq] = get_external_pillar_dictionary() - - return my_pillar -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -You can call pillar with the dictionary\(aqs top name to retrieve its data. -From above example, \(aqexternal_pillar\(aq is the top dictionary name. Therefore: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt\-call \(aq*\(aq pillar.get external_pillar -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -You shouldn\(aqt just add items to \fBpillar\fP and return that, since that will -cause Salt to merge data that already exists. Rather, just return the items -you are adding or changing. You could, however, use \fBpillar\fP in your module -to make some decision based on pillar data that already exists. -.sp -This function has access to some useful globals: -.INDENT 0.0 -.TP -.B __opts__ -A dictionary of mostly Salt configuration options. If you had an -\fB__opts__\fP dictionary defined in your module, those values will be -included. -.TP -.B __salt__ -A dictionary of Salt module functions, useful so you don\(aqt have to -duplicate functions that already exist. E.g. -\fB__salt__[\(aqcmd.run\(aq]( \(aqls \-l\(aq )\fP \fBNote\fP, runs on the \fImaster\fP -.TP -.B __grains__ -A dictionary of the grains of the minion making this pillar call. -.UNINDENT -.SS Example configuration -.sp -As an example, if you wanted to add external pillar via the \fBcmd_json\fP -external pillar, add something like this to your master config: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -ext_pillar: - \- cmd_json: \(aqecho {\e"arg\e":\e"value\e"}\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Reminder -.sp -Just as with traditional pillars, external pillars must be refreshed in order for -minions to see any fresh data: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq saltutil.refresh_pillar -.ft P -.fi -.UNINDENT -.UNINDENT .SS Installing Salt for development .sp Clone the repository using: @@ -376837,20 +404662,9 @@ possible solution or implementation. .IP \(bu 2 \fBBlocked\fP \- The issue is waiting on actions by parties outside of SaltStack, such as receiving more information from the submitter or -resolution of an upstream issue. This milestone is usually applied in -conjunction with the labels \fBInfo Needed\fP, \fBQuestion\fP, \fBExpected -Behavior\fP, \fBWon\(aqt Fix For Now\fP, or \fBUpstream Bug\fP\&. -.IP \(bu 2 -\fBUnder Review\fP \- The issue is having further validation done by a SaltStack -engineer. -.IP \(bu 2 -\fB<Sprint>\fP \- The issue is being actively worked on by a SaltStack engineer. -Sprint milestones names are constructed from the chemical symbol of the next -release\(aqs codename and the number of sprints until that release is made. For -example, if the next release codename is \fBNeon\fP and there are five sprints -until that release, the corresponding sprint milestone will be called \fBNe -5\fP\&. See here for a discussion of Salt\(aqs release -codenames. +resolution of an upstream issue. This milestone is usually applied in +conjunction with the labels \fBInfo Needed\fP, \fBQuestion\fP, +\fBExpected Behavior\fP, \fBWon\(aqt Fix For Now\fP, or \fBUpstream Bug\fP\&. .UNINDENT .SS Labels .sp @@ -377151,176 +404965,6 @@ codenames. .SS Logging Internals .sp TODO -.SS Modular Systems -.sp -When first working with Salt, it is not always clear where all of the modular -components are and what they do. Salt comes loaded with more modular systems -than many users are aware of, making Salt very easy to extend in many places. -.sp -The most commonly used modular systems are execution modules and states. But -the modular systems extend well beyond the more easily exposed components -and are often added to Salt to make the complete system more flexible. -.SS Execution Modules -.sp -Execution modules make up the core of the functionality used by Salt to -interact with client systems. The execution modules create the core system -management library used by all Salt systems, including states, which -interact with minion systems. -.sp -Execution modules are completely open ended in their execution. They can -be used to do anything required on a minion, from installing packages to -detecting information about the system. The only restraint in execution -modules is that the defined functions always return a JSON serializable -object. -.sp -For a list of all built in execution modules, click here -.sp -For information on writing execution modules, see this page\&. -.SS Interactive Debugging -.sp -Sometimes debugging with \fBprint()\fP and extra logs sprinkled everywhere is not -the best strategy. -.sp -IPython is a helpful debug tool that has an interactive python environment -which can be embedded in python programs. -.sp -First the system will require IPython to be installed. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -# Debian -apt\-get install ipython - -# Arch Linux -pacman \-Syu ipython2 - -# RHEL/CentOS (via EPEL) -yum install python\-ipython -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Now, in the troubling python module, add the following line at a location where -the debugger should be started: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -test = \(aqtest123\(aq -import IPython; IPython.embed_kernel() -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -After running a Salt command that hits that line, the following will show up in -the log file: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -[CRITICAL] To connect another client to this kernel, use: -[IPKernelApp] \-\-existing kernel\-31271.json -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Now on the system that invoked \fBembed_kernel\fP, run the following command from -a shell: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -# NOTE: use ipython2 instead of ipython for Arch Linux -ipython console \-\-existing -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -This provides a console that has access to all the vars and functions, and even -supports tab\-completion. -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -print(test) -test123 -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -To exit IPython and continue running Salt, press \fBCtrl\-d\fP to logout. -.SS State Modules -.sp -State modules are used to define the state interfaces used by Salt States. -These modules are restrictive in that they must follow a number of rules to -function properly. -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -State modules define the available routines in sls files. If calling -an execution module directly is desired, take a look at the \fImodule\fP -state. -.UNINDENT -.UNINDENT -.SS Auth -.sp -The auth module system allows for external authentication routines to be easily -added into Salt. The \fIauth\fP function needs to be implemented to satisfy the -requirements of an auth module. Use the \fBpam\fP module as an example. -.SS Fileserver -.sp -The fileserver module system is used to create fileserver backends used by the -Salt Master. These modules need to implement the functions used in the -fileserver subsystem. Use the \fBgitfs\fP module as an example. -.SS Grains -.sp -Grain modules define extra routines to populate grains data. All defined -public functions will be executed and MUST return a Python dict object. The -dict keys will be added to the grains made available to the minion. -.SS Output -.sp -The output modules supply the outputter system with routines to display data -in the terminal. These modules are very simple and only require the \fIoutput\fP -function to execute. The default system outputter is the \fBnested\fP module. -.SS Pillar -.sp -Used to define optional external pillar systems. The pillar generated via -the filesystem pillar is passed into external pillars. This is commonly used -as a bridge to database data for pillar, but is also the backend to the libvirt -state used to generate and sign libvirt certificates on the fly. -.SS Renderers -.sp -Renderers are the system used to render sls files into salt highdata for the -state compiler. They can be as simple as the \fBpy\fP renderer and as complex as -\fBstateconf\fP and \fBpydsl\fP\&. -.SS Returners -.sp -Returners are used to send data from minions to external sources, commonly -databases. A full returner will implement all routines to be supported as an -external job cache. Use the \fBredis\fP returner as an example. -.SS Runners -.sp -Runners are purely master\-side execution sequences. -.SS Tops -.sp -Tops modules are used to convert external data sources into top file data for -the state system. -.SS Wheel -.sp -The wheel system is used to manage master side management routines. These -routines are primarily intended for the API to enable master configuration. .SS Package Providers .sp This page contains guidelines for writing package providers. @@ -378307,6 +405951,1148 @@ The contributing documentation presents more details on specific contributing topics: .sp \fI\%https://docs.saltstack.com/en/latest/topics/development/contributing.html\fP +.SS Modular Systems +.sp +When first working with Salt, it is not always clear where all of the modular +components are and what they do. Salt comes loaded with more modular systems +than many users are aware of, making Salt very easy to extend in many places. +.sp +The most commonly used modular systems are execution modules and states. But +the modular systems extend well beyond the more easily exposed components +and are often added to Salt to make the complete system more flexible. +.SS Developing New Modules +.SS Interactive Debugging +.sp +Sometimes debugging with \fBprint()\fP and extra logs sprinkled everywhere is not +the best strategy. +.sp +IPython is a helpful debug tool that has an interactive python environment +which can be embedded in python programs. +.sp +First the system will require IPython to be installed. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Debian +apt\-get install ipython + +# Arch Linux +pacman \-Syu ipython2 + +# RHEL/CentOS (via EPEL) +yum install python\-ipython +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Now, in the troubling python module, add the following line at a location where +the debugger should be started: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +test = \(aqtest123\(aq +import IPython; IPython.embed_kernel() +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +After running a Salt command that hits that line, the following will show up in +the log file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +[CRITICAL] To connect another client to this kernel, use: +[IPKernelApp] \-\-existing kernel\-31271.json +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Now on the system that invoked \fBembed_kernel\fP, run the following command from +a shell: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# NOTE: use ipython2 instead of ipython for Arch Linux +ipython console \-\-existing +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This provides a console that has access to all the vars and functions, and even +supports tab\-completion. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +print(test) +test123 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To exit IPython and continue running Salt, press \fBCtrl\-d\fP to logout. +.SS Special Module Contents +.sp +These are things that may be defined by the module to influence various things. +.SS __virtual__ +.SS __virtual_aliases__ +.SS __virtualname__ +.SS __init__ +.sp +Called before \fB__virtual__()\fP +.SS __proxyenabled__ +.sp +grains and proxy modules +.sp +__proxyenabled__ as a list containing the names of the proxy types that the module supports. +.SS __load__ +.SS __func_alias__ +.SS __outputter__ +.SS Dunder Dictionaries +.sp +Salt provides several special "dunder" dictionaries as a convenience for Salt +development. These include \fB__opts__\fP, \fB__context__\fP, \fB__salt__\fP, and +others. This document will describe each dictionary and detail where they exist +and what information and/or functionality they provide. +.sp +The following dunder dictionaries are always defined, but may be empty +.INDENT 0.0 +.IP \(bu 2 +\fB__context__\fP +.IP \(bu 2 +\fB__grains__\fP +.IP \(bu 2 +\fB__pillar__\fP +.IP \(bu 2 +\fB__opts__\fP +.UNINDENT +.SS __opts__ +.sp +Defined in: All modules +.sp +The \fB__opts__\fP dictionary contains all of the options passed in the +configuration file for the master or minion. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +In many places in salt, instead of pulling raw data from the __opts__ +dict, configuration data should be pulled from the salt \fIget\fP functions +such as config.get, aka \- \fB__salt__[\(aqconfig.get\(aq](\(aqfoo:bar\(aq)\fP +The \fIget\fP functions also allow for dict traversal via the \fI:\fP delimiter. +Consider using get functions whenever using \fB__opts__\fP or \fB__pillar__\fP +and \fB__grains__\fP (when using grains for configuration data) +.UNINDENT +.UNINDENT +.sp +The configuration file data made available in the \fB__opts__\fP dictionary is the +configuration data relative to the running daemon. If the modules are loaded and +executed by the master, then the master configuration data is available, if the +modules are executed by the minion, then the minion configuration is +available. Any additional information passed into the respective configuration +files is made available +.SS __salt__ +.sp +Defined in: Auth, Beacons, Engines, Execution, Executors, Outputters, Pillars, +Proxies, Renderers, Returners, Runners, SDB, SSH Wrappers, State, Thorium +.sp +\fB__salt__\fP contains the execution module functions. This allows for all +functions to be called as they have been set up by the salt loader. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +__salt__[\(aqcmd.run\(aq](\(aqfdisk \-l\(aq) +__salt__[\(aqnetwork.ip_addrs\(aq]() +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +When used in runners or outputters, \fB__salt__\fP references other +runner/outputter modules, and not execution modules. +.UNINDENT +.UNINDENT +.SS __grains__ +.sp +Filled in for: Execution, Pillar, Renderer, Returner, SSH Wrapper, State. +.sp +The \fB__grains__\fP dictionary contains the grains data generated by the minion +that is currently being worked with. In execution modules, state modules and +returners this is the grains of the minion running the calls, when generating +the external pillar the \fB__grains__\fP is the grains data from the minion that +the pillar is being generated for. +.sp +While \fB__grains__\fP is defined for every module, it\(aqs only filled in for some. +.SS __pillar__ +.sp +Filled in for: Execution, Returner, SSH Wrapper, State +.sp +The \fB__pillar__\fP dictionary contains the pillar for the respective minion. +.sp +While \fB__pillar__\fP is defined for every module, it\(aqs only filled in for some. +.SS __context__ +.sp +During a state run the \fB__context__\fP dictionary persists across all states +that are run and then is destroyed when the state ends. +.sp +When running an execution module \fB__context__\fP persists across all module +executions until the modules are refreshed; such as when +\fBsaltutil.sync_all\fP or +\fBstate.apply\fP are executed. +.sp +A great place to see how to use \fB__context__\fP is in the cp.py module in +salt/modules/cp.py. The fileclient authenticates with the master when it is +instantiated and then is used to copy files to the minion. Rather than create a +new fileclient for each file that is to be copied down, one instance of the +fileclient is instantiated in the \fB__context__\fP dictionary and is reused for +each file. Here is an example from salt/modules/cp.py: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +if not \(aqcp.fileclient\(aq in __context__: + __context__[\(aqcp.fileclient\(aq] = salt.fileclient.get_file_client(__opts__) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Because __context__ may or may not have been destroyed, always be +sure to check for the existence of the key in __context__ and +generate the key before using it. +.UNINDENT +.UNINDENT +.SS __utils__ +.sp +Defined in: Cloud, Engine, Execution, File Server, Pillar, Proxy, Runner, SDB. +.SS __proxy__ +.sp +Defined in: Beacon, Engine, Execution, Executor, Proxy, Renderer, Returner, State, Util +.SS __runners__ +.sp +Defined in: Engine, Roster, Thorium +.SS __ret__ +.sp +Defined in: Proxy, Search +.SS __thorium__ +.sp +Defined in: Thorium +.SS __states__ +.sp +Defined in: Renderers, State +.SS __serializers__ +.sp +Defined in: State +.SS __sdb__ +.sp +Defined in: SDB +.SS Configuration Options +.sp +A number of configuration options can affect the load process. This is a quick +list of them: +.INDENT 0.0 +.IP \(bu 2 +\fBautoload_dynamic_modules\fP (\fBMinion\fP) +.IP \(bu 2 +\fBcython_enable\fP (\fBMinion\fP, \fBMaster\fP) +.IP \(bu 2 +\fBdisable_modules\fP (\fBMinion\fP) +.IP \(bu 2 +\fBdisable_returners\fP (\fBMinion\fP) +.IP \(bu 2 +\fBenable_zip_modules\fP (\fBMinion\fP) +.IP \(bu 2 +\fBextension_modules\fP (\fBMaster\fP) +.IP \(bu 2 +\fBextmod_whitelist\fP (\fBMinion\fP, \fBMaster\fP) +.IP \(bu 2 +\fBextmod_blacklist\fP (\fBMinion\fP, \fBMaster\fP) +.IP \(bu 2 +\fBwhitelist_modules\fP (\fBMinion\fP) +.IP \(bu 2 +\fBgrains_dirs\fP (\fBMinion\fP) +.IP \(bu 2 +\fBmodule_dirs\fP (\fBMinion\fP, \fBMaster\fP) +.IP \(bu 2 +\fBoutputter_dirs\fP (\fBMinion\fP, \fBMaster\fP) +.IP \(bu 2 +\fBproviders\fP (\fBMinion\fP) +.IP \(bu 2 +\fBrender_dirs\fP (\fBMinion\fP) +.IP \(bu 2 +\fBreturner_dirs\fP (\fBMinion\fP) +.IP \(bu 2 +\fBrunner_dirs\fP (\fBMaster\fP) +.IP \(bu 2 +\fBstates_dirs\fP (\fBMinion\fP) +.IP \(bu 2 +\fButils_dirs\fP (\fBMinion\fP) +.UNINDENT +.SS Loading Modules +.sp +Modules come primarily from several sources: +.INDENT 0.0 +.IP \(bu 2 +The Salt package itself +.IP \(bu 2 +The Salt File Server +.IP \(bu 2 +The extmods directory +.IP \(bu 2 +Secondary packages installed +.UNINDENT +.sp +Using one source to override another is not supported. +.SS The Salt Package +.sp +Salt itself ships with a large number of modules. These are part of the Salt +package itself and don\(aqt require the user to do anything to use them. (Although +a number of them have additional dependencies and/or configuration.) +.SS The Salt File Server +.sp +The user may add modules by simply placing them in special directories in their +fileserver\&. +.sp +The name of the directory inside of the file server is the directory name +prepended by underscore, such as: +.INDENT 0.0 +.IP \(bu 2 +\fB_grains\fP +.IP \(bu 2 +\fB_modules\fP +.IP \(bu 2 +\fB_states\fP +.UNINDENT +.sp +Modules must be synced before they can be used. This can happen a few ways, +discussed below. +.SS Sync Via States +.sp +The minion configuration contains an option \fBautoload_dynamic_modules\fP +which defaults to \fBTrue\fP\&. This option makes the state system refresh all +dynamic modules when states are run. To disable this behavior set +\fBautoload_dynamic_modules\fP to \fBFalse\fP in the minion config. +.sp +When dynamic modules are autoloaded via states, only the modules defined in the +same saltenvs as the states currently being run. +.SS Sync Via the saltutil Module +.sp +The saltutil module has a number of functions that can be used to sync all +or specific dynamic modules. The \fBsaltutil.sync_*\fP +\fBexecution functions\fP and +\fBrunner functions\fP can be used to sync modules +to minions and the master, respectively. +.SS The extmods Directory +.sp +Any files places in the directory set by \fBextension_modules\fP settings +(\fBminion\fP, +\fBmaster\fP, default +\fB/var/cache/salt/*/extmods\fP) can also be loaded as modules. Note that these +directories are also used by the \fBsaltutil.sync_*\fP functions (mentioned +above) and files may be overwritten. +.SS Secondary Packages +.sp +Third\-party packages may also add modules to Salt if they are installed in the +same system and Python environment as the Salt Minion or Master. +.sp +This is done via setuptools entry points: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +setup( + # ... + entry_points={ + \(aqsalt.loader\(aq: [ + \(aqmodule_dirs=spirofs.loader:module\(aq, + ], + }, + # ... +) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Note that these are not synced from the Salt Master to the Minions. They must be +installed indepdendently on each Minion. +.SS Module Types +.sp +The specific names used by each loading method above are as follows. See sections below +for a short summary of each of these systems. +.TS +center; +|l|l|l|l|. +_ +T{ +Module Type +T} T{ +Salt Package Name +T} T{ +FS/Directory Name +T} T{ +Entry Point +T} +_ +T{ +Auth +T} T{ +\fBsalt.auth\fP (index) +T} T{ +\fBauth\fP [1] +T} T{ +\fBauth_dirs\fP +T} +_ +T{ +Beacon +T} T{ +\fBsalt.beacons\fP (index) +T} T{ +\fBbeacons\fP +T} T{ +\fBbeacons_dirs\fP +T} +_ +T{ +Cache +T} T{ +\fBsalt.cache\fP (index) +T} T{ +\fBcache\fP +T} T{ +\fBcache_dirs\fP +T} +_ +T{ +Cloud +T} T{ +\fBsalt.cloud.clouds\fP (index) +T} T{ +\fBclouds\fP +T} T{ +\fBcloud_dirs\fP +T} +_ +T{ +Engine +T} T{ +\fBsalt.engines\fP (index) +T} T{ +\fBengines\fP +T} T{ +\fBengines_dirs\fP +T} +_ +T{ +Execution +T} T{ +\fBsalt.modules\fP (index) +T} T{ +\fBmodules\fP +T} T{ +\fBmodule_dirs\fP +T} +_ +T{ +Executor +T} T{ +\fBsalt.executors\fP (index) +T} T{ +\fBexecutors\fP [1] +T} T{ +\fBexecutor_dirs\fP +T} +_ +T{ +File Server +T} T{ +\fBsalt.fileserver\fP (index) +T} T{ +\fBfileserver\fP [1] +T} T{ +\fBfileserver_dirs\fP +T} +_ +T{ +Grain +T} T{ +\fBsalt.grains\fP (index) +T} T{ +\fBgrains\fP +T} T{ +\fBgrains_dirs\fP +T} +_ +T{ +Log Handler +T} T{ +\fBsalt.log.handlers\fP (index) +T} T{ +\fBlog_handlers\fP +T} T{ +\fBlog_handlers_dirs\fP +T} +_ +T{ +Net API +T} T{ +\fBsalt.netapi\fP (index) +T} T{ +\fBnetapi\fP [1] +T} T{ +\fBnetapi_dirs\fP +T} +_ +T{ +Outputter +T} T{ +\fBsalt.output\fP (index) +T} T{ +\fBoutput\fP +T} T{ +\fBoutputter_dirs\fP +T} +_ +T{ +Pillar +T} T{ +\fBsalt.pillar\fP (index) +T} T{ +\fBpillar\fP +T} T{ +\fBpillar_dirs\fP +T} +_ +T{ +Proxy +T} T{ +\fBsalt.proxy\fP (index) +T} T{ +\fBproxy\fP +T} T{ +\fBproxy_dirs\fP +T} +_ +T{ +Queue +T} T{ +\fBsalt.queues\fP (index) +T} T{ +\fBqueues\fP +T} T{ +\fBqueue_dirs\fP +T} +_ +T{ +Renderer +T} T{ +\fBsalt.renderers\fP (index) +T} T{ +\fBrenderers\fP +T} T{ +\fBrender_dirs\fP +T} +_ +T{ +Returner +T} T{ +\fBsalt.returners\fP (index) +T} T{ +\fBreturners\fP +T} T{ +\fBreturner_dirs\fP +T} +_ +T{ +Roster +T} T{ +\fBsalt.roster\fP (index) +T} T{ +\fBroster\fP +T} T{ +\fBroster_dirs\fP +T} +_ +T{ +Runner +T} T{ +\fBsalt.runners\fP (index) +T} T{ +\fBrunners\fP +T} T{ +\fBrunner_dirs\fP +T} +_ +T{ +SDB +T} T{ +\fBsalt.sdb\fP (index) +T} T{ +\fBsdb\fP +T} T{ +\fBsdb_dirs\fP +T} +_ +T{ +Search +T} T{ +\fBsalt.search\fP +T} T{ +\fBsearch\fP [1] +T} T{ +\fBsearch_dirs\fP +T} +_ +T{ +Serializer +T} T{ +\fBsalt.serializers\fP (index) +T} T{ +\fBserializers\fP [1] +T} T{ +\fBserializers_dirs\fP +T} +_ +T{ +SPM pkgdb +T} T{ +\fBsalt.spm.pkgdb\fP +T} T{ +\fBpkgdb\fP [1] +T} T{ +\fBpkgdb_dirs\fP +T} +_ +T{ +SPM pkgfiles +T} T{ +\fBsalt.spm.pkgfiles\fP +T} T{ +\fBpkgfiles\fP [1] +T} T{ +\fBpkgfiles_dirs\fP +T} +_ +T{ +SSH Wrapper +T} T{ +\fBsalt.client.ssh.wrapper\fP +T} T{ +\fBwrapper\fP [1] +T} T{ +\fBwrapper_dirs\fP +T} +_ +T{ +State +T} T{ +\fBsalt.states\fP (index) +T} T{ +\fBstates\fP +T} T{ +\fBstates_dirs\fP +T} +_ +T{ +Thorium +T} T{ +\fBsalt.thorium\fP (index) +T} T{ +\fBthorium\fP [1] +T} T{ +\fBthorium_dirs\fP +T} +_ +T{ +Top +T} T{ +\fBsalt.tops\fP (index) +T} T{ +\fBtops\fP +T} T{ +\fBtop_dirs\fP +T} +_ +T{ +Util +T} T{ +\fBsalt.utils\fP +T} T{ +\fButils\fP +T} T{ +\fButils_dirs\fP +T} +_ +T{ +Wheel +T} T{ +\fBsalt.wheels\fP (index) +T} T{ +\fBwheel\fP +T} T{ +\fBwheel_dirs\fP +T} +_ +.TE +.IP [1] 5 +These modules cannot be loaded from the Salt File Server. +.SS Auth +.sp +The auth module system allows for external authentication routines to be easily +added into Salt. The \fIauth\fP function needs to be implemented to satisfy the +requirements of an auth module. Use the \fBpam\fP module as an example. +.sp +See External Authentication System for more about +authentication in Salt. +.SS Beacon +.INDENT 0.0 +.IP \(bu 2 +Writing Beacons +.UNINDENT +.sp +Beacons are polled by the Salt event loop to monitor non\-salt processes. See +Beacons for more information about the beacon system. +.SS Cache +.sp +The minion cache is used by the master to store various information about +minions. See Minion Data Cache for more information. +.SS Cloud +.sp +Cloud modules are backend implementations used by Salt Cloud\&. +.SS Engine +.sp +Engines are open\-ended services managed by the Salt daemon (both master and +minion). They may interact with event loop, call other modules, or a variety of +non\-salt tasks. See Salt Engines for complete details. +.SS Execution +.sp +Execution modules make up the core of the functionality used by Salt to +interact with client systems. The execution modules create the core system +management library used by all Salt systems, including states, which +interact with minion systems. +.sp +Execution modules are completely open ended in their execution. They can +be used to do anything required on a minion, from installing packages to +detecting information about the system. The only restraint in execution +modules is that the defined functions always return a JSON serializable +object. +.SS Executor +.sp +Executors control how execution modules get called. The default is to just call +them, but this can be customized. +.SS File Server +.sp +The file server module system is used to create file server backends used by the +Salt Master. These modules need to implement the functions used in the +fileserver subsystem. Use the \fBgitfs\fP module as an example. +.sp +See File Server Backends for more information. +.SS Grains +.INDENT 0.0 +.IP \(bu 2 +writing\-grains +.UNINDENT +.sp +Grain modules define extra routines to populate grains data. All defined +public functions will be executed and MUST return a Python dict object. The +dict keys will be added to the grains made available to the minion. +.sp +See Grains for more. +.SS Log Handler +.sp +Log handlers allows the logs from salt (master or minion) to be sent to log +aggregation systems. +.SS Net API +.sp +Net API modules are the actual server implementation used by Salt API. +.SS Output +.sp +The output modules supply the outputter system with routines to display data +in the terminal. These modules are very simple and only require the \fIoutput\fP +function to execute. The default system outputter is the \fBnested\fP module. +.SS Pillar +.SS External Pillars +.sp +Salt provides a mechanism for generating pillar data by calling external +pillar interfaces. This document will describe an outline of an ext_pillar +module. +.SS Location +.sp +Salt expects to find your \fBext_pillar\fP module in the same location where it +looks for other python modules. If the \fBextension_modules\fP option in your +Salt master configuration is set, Salt will look for a \fBpillar\fP directory +under there and load all the modules it finds. Otherwise, it will look in +your Python site\-packages \fBsalt/pillar\fP directory. +.SS Configuration +.sp +The external pillars that are called when a minion refreshes its pillars is +controlled by the \fBext_pillar\fP option in the Salt master configuration. You +can pass a single argument, a list of arguments or a dictionary of arguments +to your pillar: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- example_a: some argument + \- example_b: + \- argumentA + \- argumentB + \- example_c: + keyA: valueA + keyB: valueB +.ft P +.fi +.UNINDENT +.UNINDENT +.SS The Module +.SS Imports and Logging +.sp +Import modules your external pillar module needs. You should first include +generic modules that come with stock Python: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +import logging +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +And then start logging. This is an idiomatic way of setting up logging in Salt: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +log = logging.getLogger(__name__) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Finally, load modules that are specific to what you are doing. You should catch +import errors and set a flag that the \fB__virtual__\fP function can use later. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +try: + import weird_thing + EXAMPLE_A_LOADED = True +except ImportError: + EXAMPLE_A_LOADED = False +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Options +.sp +If you define an \fB__opts__\fP dictionary, it will be merged into the +\fB__opts__\fP dictionary handed to the \fBext_pillar\fP function later. This is a +good place to put default configuration items. The convention is to name +things \fBmodulename.option\fP\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +__opts__ = { \(aqexample_a.someconfig\(aq: 137 } +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Initialization +.sp +If you define an \fB__init__\fP function, it will be called with the following +signature: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +def __init__( __opts__ ): + # Do init work here +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNote\fP: The \fB__init__\fP function is ran every time a particular minion causes +the external pillar to be called, so don\(aqt put heavy initialization code here. +The \fB__init__\fP functionality is a side\-effect of the Salt loader, so it may +not be as useful in pillars as it is in other Salt items. +.SS __virtual__ +.sp +If you define a \fB__virtual__\fP function, you can control whether or not this +module is visible. If it returns \fBFalse\fP then Salt ignores this module. If +it returns a string, then that string will be how Salt identifies this external +pillar in its \fBext_pillar\fP configuration. If you\(aqre not renaming the module, +simply return \fBTrue\fP in the \fB__virtual__\fP function, which is the same as if +this function did not exist, then, the name Salt\(aqs \fBext_pillar\fP will use to +identify this module is its conventional name in Python. +.sp +This is useful to write modules that can be installed on all Salt masters, but +will only be visible if a particular piece of software your module requires is +installed. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# This external pillar will be known as \(gaexample_a\(ga +def __virtual__(): + if EXAMPLE_A_LOADED: + return True + return False +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# This external pillar will be known as \(gasomething_else\(ga +__virtualname__ = \(aqsomething_else\(aq + +def __virtual__(): + if EXAMPLE_A_LOADED: + return __virtualname__ + return False +.ft P +.fi +.UNINDENT +.UNINDENT +.SS ext_pillar +.sp +This is where the real work of an external pillar is done. If this module is +active and has a function called \fBext_pillar\fP, whenever a minion updates its +pillar this function is called. +.sp +How it is called depends on how it is configured in the Salt master +configuration. The first argument is always the current pillar dictionary, this +contains pillar items that have already been added, starting with the data from +\fBpillar_roots\fP, and then from any already\-ran external pillars. +.sp +Using our example above: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar( id, pillar, \(aqsome argument\(aq ) # example_a +ext_pillar( id, pillar, \(aqargumentA\(aq, \(aqargumentB\(aq ) # example_b +ext_pillar( id, pillar, keyA=\(aqvalueA\(aq, keyB=\(aqvalueB\(aq ) # example_c +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In the \fBexample_a\fP case, \fBpillar\fP will contain the items from the +\fBpillar_roots\fP, in \fBexample_b\fP \fBpillar\fP will contain that plus the items +added by \fBexample_a\fP, and in \fBexample_c\fP \fBpillar\fP will contain that plus +the items added by \fBexample_b\fP\&. In all three cases, \fBid\fP will contain the +ID of the minion making the pillar request. +.sp +This function should return a dictionary, the contents of which are merged in +with all of the other pillars and returned to the minion. \fBNote\fP: this function +is called once for each minion that fetches its pillar data. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +def ext_pillar( minion_id, pillar, *args, **kwargs ): + + my_pillar = {\(aqexternal_pillar\(aq: {}} + + my_pillar[\(aqexternal_pillar\(aq] = get_external_pillar_dictionary() + + return my_pillar +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +You can call pillar with the dictionary\(aqs top name to retrieve its data. +From above example, \(aqexternal_pillar\(aq is the top dictionary name. Therefore: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \(aq*\(aq pillar.get external_pillar +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +You shouldn\(aqt just add items to \fBpillar\fP and return that, since that will +cause Salt to merge data that already exists. Rather, just return the items +you are adding or changing. You could, however, use \fBpillar\fP in your module +to make some decision based on pillar data that already exists. +.sp +This function has access to some useful globals: +.INDENT 0.0 +.TP +.B __opts__ +A dictionary of mostly Salt configuration options. If you had an +\fB__opts__\fP dictionary defined in your module, those values will be +included. +.TP +.B __salt__ +A dictionary of Salt module functions, useful so you don\(aqt have to +duplicate functions that already exist. E.g. +\fB__salt__[\(aqcmd.run\(aq]( \(aqls \-l\(aq )\fP \fBNote\fP, runs on the \fImaster\fP +.TP +.B __grains__ +A dictionary of the grains of the minion making this pillar call. +.UNINDENT +.SS Example configuration +.sp +As an example, if you wanted to add external pillar via the \fBcmd_json\fP +external pillar, add something like this to your master config: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- cmd_json: \(aqecho {\e"arg\e":\e"value\e"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Reminder +.sp +Just as with traditional pillars, external pillars must be refreshed in order for +minions to see any fresh data: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq saltutil.refresh_pillar +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Used to define optional external pillar systems. The pillar generated via +the filesystem pillar is passed into external pillars. This is commonly used +as a bridge to database data for pillar, but is also the backend to the libvirt +state used to generate and sign libvirt certificates on the fly. +.SS Proxy +.sp +Proxy Minions are a way to manage devices that cannot run +a full minion directly. +.SS Renderers +.sp +Renderers are the system used to render sls files into salt highdata for the +state compiler. They can be as simple as the \fBpy\fP renderer and as complex as +\fBstateconf\fP and \fBpydsl\fP\&. +.SS Returners +.sp +Returners are used to send data from minions to external sources, commonly +databases. A full returner will implement all routines to be supported as an +external job cache. Use the \fBredis\fP returner as an example. +.SS Roster +.sp +The Roster system is used by Salt SSH to enumerate devices. +.SS Runners +.sp +Runners are purely master\-side execution sequences. +.SS SDB +.INDENT 0.0 +.IP \(bu 2 +Writing SDB Modules +.UNINDENT +.sp +SDB is a way to store data that\(aqs not associated with a minion. See +Storing Data in Other Databases\&. +.SS Search +.sp +A system for indexing the file server and pillars. Removed in 2018.3. +.SS Serializer +.sp +Primarily used with \fBfile.serialize\fP\&. +.SS State +.sp +State modules are used to define the state interfaces used by Salt States. +These modules are restrictive in that they must follow a number of rules to +function properly. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +State modules define the available routines in sls files. If calling +an execution module directly is desired, take a look at the \fImodule\fP +state. +.UNINDENT +.UNINDENT +.SS SPM pkgdb +.INDENT 0.0 +.IP \(bu 2 +SPM Development Guide: Package Database +.UNINDENT +.sp +pkgdb modules provides storage backends to the package database. +.SS SPM pkgfiles +.INDENT 0.0 +.IP \(bu 2 +SPM Development Guide: Package Database +.UNINDENT +.sp +pkgfiles modules handle the actual installation. +.SS SSH Wrapper +.sp +Replacement execution modules for Salt SSH\&. +.SS Thorium +.sp +Modules for use in the Thorium event reactor. +.SS Tops +.sp +Tops modules are used to convert external data sources into top file data for +the state system. +.SS Util +.sp +Just utility modules to use with other modules via \fB__utils__\fP (see +Dunder Dictionaries). +.SS Wheel +.sp +The wheel system is used to manage master side management routines. These +routines are primarily intended for the API to enable master configuration. .SS Salt Extend .sp \fBsalt\-extend\fP is a templating tool for extending SaltStack. If you\(aqre looking to add a module to @@ -378504,6 +407290,56 @@ group. The files that are housed in the \fBmodules\fP directory of either the unit or the integration testing factions contain respective integration or unit test files for Salt execution modules. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Salt\(aqs test framework provides for the option to only run tests which +correspond to a given file (or set of files), via the \fB\-\-from\-filenames\fP +argument to \fBruntests.py\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +python /path/to/runtests.py \-\-from\-filenames=salt/modules/foo.py +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Therefore, where possible, test files should be named to match the source +files they are testing. For example, when writing tests for +\fBsalt/modules/foo.py\fP, unit tests should go into +\fBtests/unit/modules/test_foo.py\fP, and integration tests should go into +\fBtests/integration/modules/test_foo.py\fP\&. +.sp +However, integration tests are organized differently from unit tests, and +this may not always be plausible. In these cases, to ensure that the proper +tests are run for these files, they must be mapped in +\fI\%tests/filename_map.yml\fP\&. +.sp +The filename map is used to supplement the test framework\(aqs filename +matching logic. This allows one to ensure that states correspnding to an +execution module are also tested when \fB\-\-from\-filenames\fP includes that +execution module. It can also be used for those cases where the path to a +test file doesn\(aqt correspond directly to the file which is being tested +(e.g. the \fBshell\fP, \fBspm\fP, and \fBssh\fP integration tests, among others). +Both glob expressions and regular expressions are permitted in the filename +map. +.sp +\fBIMPORTANT:\fP +.INDENT 0.0 +.INDENT 3.5 +Test modules which don\(aqt map directly to the source file they are +testing (using the naming convention described above), \fBmust\fP be +added to the \fBignore\fP tuple in \fBtests/unit/test_module_names.py\fP, +in the \fBtest_module_name_source_match\fP function. This unit test +ensures that we maintain the naming convention for test files. +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .SS Integration Tests .sp The Integration section of Salt\(aqs test suite start up a number of Salt @@ -379843,7 +408679,7 @@ the 2017.7 and older release branches. Opening files in Salt is done using \fBsalt.utils.files.fopen()\fP\&. When testing code that reads from files, the \fBmock_open\fP helper can be used to mock filehandles. Note that is not the same \fBmock_open\fP as -\fI\%unittest.mock.mock_open()\fP from the Python standard library, but rather +\fBunittest.mock.mock_open()\fP from the Python standard library, but rather a separate implementation which has additional functionality. .INDENT 0.0 .INDENT 3.5 @@ -379889,7 +408725,7 @@ However, when configuring your read_data, make sure that you are using bytestrings (e.g. \fBb\(aqfoo\enbar\enbaz\en\(aq\fP) when the code you are testing is opening a file for binary reading, otherwise the tests will fail on Python 3. The mocked filehandles produced by \fBmock_open\fP will raise a -\fI\%TypeError\fP if you attempt to read a bytestring when opening for +\fBTypeError\fP if you attempt to read a bytestring when opening for non\-binary reading, and similarly will not let you read a string when opening a file for binary reading. They will also not permit bytestrings to be "written" if the mocked filehandle was opened for non\-binary writing, @@ -379948,7 +408784,7 @@ This would make \fBsalt.utils.files.fopen()\fP produce filehandles with differen contents depending on which file was being opened by the code being tested. \fB/etc/foo.conf\fP and any file matching the pattern \fB/etc/b*.conf\fP would work, while opening any other path would result in a -\fI\%FileNotFoundError\fP being raised (in Python 2, an \fBIOError\fP). +\fBFileNotFoundError\fP being raised (in Python 2, an \fBIOError\fP). .sp Since file patterns are supported, it is possible to use a pattern of \fB\(aq*\(aq\fP to define a fallback if no other patterns match the filename being opened. The @@ -380094,8 +408930,8 @@ second time it is opened, the simulated file\(aqs contents will be the second string in the list. .sp If no more items remain in the list, then attempting to open the file will -raise a \fI\%RuntimeError\fP\&. In the example above, if \fB/etc/foo.conf\fP were -to be opened a third time, a \fI\%RuntimeError\fP would be raised. +raise a \fBRuntimeError\fP\&. In the example above, if \fB/etc/foo.conf\fP were +to be opened a third time, a \fBRuntimeError\fP would be raised. .sp Note that exceptions can also be mixed in with strings when using this technique. In the above example, if \fB/etc/bar.conf\fP were to be opened twice, @@ -380110,7 +408946,7 @@ Notice that the second path in the \fBcontents\fP dictionary above through for each match of a given pattern (\fInot\fP separately for each individual file path), so this means that only two files matching that pattern could be opened before the next one would raise a -\fI\%RuntimeError\fP\&. +\fBRuntimeError\fP\&. .UNINDENT .UNINDENT .SS Accessing the Mocked Filehandles in a Test @@ -380212,7 +409048,7 @@ of \fBMockFH\fP objects. Each open creates a unique \fBMockFH\fP object. Each \fBsalt.utils.files.fopen()\fP\&. Note that this \fBMockCall\fP is also available in the parent \fBMockOpen\fP instance\(aqs \fBcalls\fP list. .IP \(bu 2 -The following methods are mocked using \fI\%unittest.mock.Mock\fP +The following methods are mocked using \fBunittest.mock.Mock\fP objects, and Mock\(aqs built\-in asserts (as well as the call data) can be used as you would with any other Mock object: .INDENT 2.0 @@ -382710,11 +411546,11 @@ example: {# Extract the relevant subset for the app configured on the current machine (configured via a grain in this example). #} -{% app = app_defaults.get(salt.grains.get(\(aqrole\(aq) %} +{% app = app_defaults.get(salt.grains.get(\(aqrole\(aq)) %} {# Allow values from Pillar to (optionally) update values from the lookup table. #} -{% do app_defaults.update(salt.pillar.get(\(aqmyapp\(aq, {}) %} +{% do app_defaults.update(salt.pillar.get(\(aqmyapp\(aq, {})) %} deploy_application: git.latest: @@ -384143,6 +412979,11 @@ Minion problems reading uris such as salt:// or http:// .UNINDENT .INDENT 0.0 .TP +.B exception salt.exceptions.MissingSmb(message=u\(aq\(aq) +Raised when no smb library is found. +.UNINDENT +.INDENT 0.0 +.TP .B exception salt.exceptions.NotImplemented(message=u\(aq\(aq) Used when a module runs a command which returns an error and wants to show the user the output gracefully instead of dying @@ -384245,6 +413086,11 @@ Problem reading the master root key .UNINDENT .INDENT 0.0 .TP +.B exception salt.exceptions.SaltMasterUnresolvableError(message=u\(aq\(aq) +Problem resolving the name of the Salt master +.UNINDENT +.INDENT 0.0 +.TP .B exception salt.exceptions.SaltNoMinionsFound(message=u\(aq\(aq) An attempt to retrieve a list of minions failed .UNINDENT @@ -384623,6 +413469,50 @@ information about the version numbering scheme. Release Candidate .SS Previous Releases .SS Salt 2018.3.0 Release Notes \- Codename Oxygen +.sp +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +If you are using Jinja to dump lists or dictionaries in your SLS files, +this will now cause errors in Python 2 since Jinja does not produce +YAML\-compatible output when strings in the data structures contain unicode +types. The dictionary must be passed through a Jinja filter to produce +YAML\-compatible strings. +.sp +The below is an example of invalid SLS: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To make it valid, use either one of Salt\(aqs own \fBjson\fP or \fByaml\fP +filters: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict | json }} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .SS Unicode/Python 3 Compatibility Improvements .sp This release fixes a number of nagging issues with Unicode strings in Salt @@ -387050,6 +415940,50 @@ Total PR References: \fB255\fP .IP \(bu 2 Contributors: \fB55\fP (\fI\%Ch3LL\fP, \fI\%DmitryKuzmenko\fP, \fI\%Giandom\fP, \fI\%Kimol\fP, \fI\%L4rS6\fP, \fI\%LukeCarrier\fP, \fI\%OrlandoArcapix\fP, \fI\%TamCore\fP, \fI\%The\-Loeki\fP, \fI\%UtahDave\fP, \fI\%aesposito91\fP, \fI\%bbinet\fP, \fI\%bdrung\fP, \fI\%boltronics\fP, \fI\%bosatsu\fP, \fI\%clan\fP, \fI\%corywright\fP, \fI\%damon\-atkins\fP, \fI\%dincamihai\fP, \fI\%dmurphy18\fP, \fI\%dnABic\fP, \fI\%douglasjreynolds\fP, \fI\%dwoz\fP, \fI\%edgan\fP, \fI\%ejparker12\fP, \fI\%esell\fP, \fI\%ezh\fP, \fI\%femnad\fP, \fI\%folti\fP, \fI\%garethgreenaway\fP, \fI\%gtmanfred\fP, \fI\%isbm\fP, \fI\%jasperla\fP, \fI\%johnj\fP, \fI\%mateiw\fP, \fI\%mcalmer\fP, \fI\%mirceaulinic\fP, \fI\%morganwillcock\fP, \fI\%opdude\fP, \fI\%pcn\fP, \fI\%pruiz\fP, \fI\%psagers\fP, \fI\%psyer\fP, \fI\%rallytime\fP, \fI\%robinro\fP, \fI\%s0undt3ch\fP, \fI\%samodid\fP, \fI\%shengis\fP, \fI\%skjaro\fP, \fI\%tankywoo\fP, \fI\%terminalmage\fP, \fI\%twangboy\fP, \fI\%vutny\fP, \fI\%yannj\-fr\fP, \fI\%zmedico\fP) .UNINDENT +.sp +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +If you are using Jinja to dump lists or dictionaries in your SLS files, +this will now cause errors in Python 2 since Jinja does not produce +YAML\-compatible output when strings in the data structures contain unicode +types. The dictionary must be passed through a Jinja filter to produce +YAML\-compatible strings. +.sp +The below is an example of invalid SLS: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To make it valid, use either one of Salt\(aqs own \fBjson\fP or \fByaml\fP +filters: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict | json }} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .SS Tornado 5.0 Support for Python 2 Only .sp Tornado 5.0 moves to using asyncio for all python3 versions. Because of this @@ -392303,6 +421237,50 @@ Total PR References: \fB10\fP .IP \(bu 2 Contributors: \fB4\fP (\fI\%cro\fP, \fI\%garethgreenaway\fP, \fI\%gtmanfred\fP, \fI\%rallytime\fP) .UNINDENT +.sp +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +If you are using Jinja to dump lists or dictionaries in your SLS files, +this will now cause errors in Python 2 since Jinja does not produce +YAML\-compatible output when strings in the data structures contain unicode +types. The dictionary must be passed through a Jinja filter to produce +YAML\-compatible strings. +.sp +The below is an example of invalid SLS: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To make it valid, use either one of Salt\(aqs own \fBjson\fP or \fByaml\fP +filters: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict | json }} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .SS Changelog for v2018.3.1..v2018.3.2 .sp \fIGenerated at: 2018\-06\-17 19:17:16 UTC\fP @@ -392387,10 +421365,71 @@ b49271b76d Merge pull request \fI\%#48137\fP from gtmanfred/2018.3.2 e4c719b55f Ensure that the shared list of jids is passed when creating the Minion. Fixes an issue when minions are pointed at multiple syndics. .UNINDENT .UNINDENT -.SS In Progress: Salt 2018.3.3 Release Notes +.SS Salt 2018.3.3 Release Notes .sp -Version 2018.3.3 is an \fBunreleased\fP bugfix release for 2018.3.0\&. -This release is still in progress and has not been released yet. +Version 2018.3.3 is a security and bugfix release for 2018.3.0\&. +.SS Statistics +.INDENT 0.0 +.IP \(bu 2 +Total Merges: \fB548\fP +.IP \(bu 2 +Total Issue References: \fB69\fP +.IP \(bu 2 +Total PR References: \fB341\fP +.IP \(bu 2 +Contributors: \fB55\fP (\fI\%Ch3LL\fP, \fI\%FedericoCeratto\fP, \fI\%KaiSforza\fP, \fI\%L4rS6\fP, \fI\%Lutseslav\fP, \fI\%The\-Loeki\fP, \fI\%Vaelatern\fP, \fI\%admd\fP, \fI\%aesposito91\fP, \fI\%asenci\fP, \fI\%astorath\fP, \fI\%azelezni\fP, \fI\%babs\fP, \fI\%bbczeuz\fP, \fI\%bbinet\fP, \fI\%brejoc\fP, \fI\%cro\fP, \fI\%daa\fP, \fI\%dmurphy18\fP, \fI\%dubb\-b\fP, \fI\%dwoz\fP, \fI\%eliasp\fP, \fI\%ezh\fP, \fI\%garethgreenaway\fP, \fI\%gtmanfred\fP, \fI\%isbm\fP, \fI\%jeduardo\fP, \fI\%kt97679\fP, \fI\%kuetrzi\fP, \fI\%linoplt\fP, \fI\%lomeroe\fP, \fI\%lusche\fP, \fI\%mateiw\fP, \fI\%max\-arnold\fP, \fI\%maxim\-sermin\fP, \fI\%meaksh\fP, \fI\%mmulqueen\fP, \fI\%morganwillcock\fP, \fI\%mtorromeo\fP, \fI\%nullify005\fP, \fI\%paulcollinsiii\fP, \fI\%pritambaral\fP, \fI\%rallytime\fP, \fI\%rares\-pop\fP, \fI\%rmarchei\fP, \fI\%rosscdh\fP, \fI\%sizgiyaev\fP, \fI\%sjorge\fP, \fI\%t0fik\fP, \fI\%terminalmage\fP, \fI\%travispaul\fP, \fI\%twangboy\fP, \fI\%vinian\fP, \fI\%weswhet\fP, \fI\%zerthimon\fP) +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +If you are using Jinja to dump lists or dictionaries in your SLS files, +this will now cause errors in Python 2 since Jinja does not produce +YAML\-compatible output when strings in the data structures contain unicode +types. The dictionary must be passed through a Jinja filter to produce +YAML\-compatible strings. +.sp +The below is an example of invalid SLS: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict }} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To make it valid, use either one of Salt\(aqs own \fBjson\fP or \fByaml\fP +filters. Another option would be to use Jinja\(aqs \fI\%tojson\fP filter. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/foo.conf: + file.mangaged: + \- source: salt://foo.conf + \- template: jinja + \- defaults: {{ mydict | tojson }} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.SS Security Fix +.sp +CVE\-2018\-15751 Remote command execution and incorrect access control when using salt\-api. +.sp +CVE\-2018\-15750 Directory traversal vulnerability when using salt\-api. Allows an attacker to determine what files exist on a server when querying /run or /events. +.sp +Credit and thanks for discovery and responsible disclosure: nullbr4in, xcuter, koredge, loupos, blackcon, Naver Business Platform .SS Changes to win_timezone .sp Improves timezone detection by using the pytz module. @@ -392405,9 +421444,9 @@ The \fBtojson\fP filter (from Jinja 2.9 and later) has been ported to Salt, and will be used when this filter is not available. This allows older LTS releases such as CentOS 7 and Ubuntu 14.04 to use this filter. .sp -You should use this filter any time you wish to dump a list or dictionary into -an SLS file, to ensure that the result is able to be loaded by the YAML -renderer. For example: +You can use this filter any time you wish to dump a list or dictionary into an +SLS file, to ensure that the result is able to be loaded by the YAML renderer. +For example: .INDENT 0.0 .INDENT 3.5 .sp @@ -392415,7 +421454,7 @@ renderer. For example: .ft C foo: bar.baz: - \- some_arg: {{ mydict|tojson }} + \- some_arg: {{ mydict | tojson }} .ft P .fi .UNINDENT @@ -392436,6 +421475,5776 @@ cmd.run \(aqecho \(aq\e\(aq\(aqh=\e"baz\e"\(aq\e\(aq\(aq\(aq runas=macuser .fi .UNINDENT .UNINDENT +.SS Changelog for v2018.3.2..v2018.3.3 +.sp +\fIGenerated at: 2018\-09\-21 17:45:27 UTC\fP +.INDENT 0.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49662\fP: (\fI\%dwoz\fP) Fix another bad filename reference in whitelist +@ \fI2018\-09\-14 22:20:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9d8cc0b3f4 Merge pull request \fI\%#49662\fP from dwoz/2018.3.3 +.IP \(bu 2 +e109023013 Fix another bad filename reference in whitelist +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49655\fP: (\fI\%dwoz\fP) Fix windows test whitelist errors +@ \fI2018\-09\-14 20:34:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6391560d57 Merge pull request \fI\%#49655\fP from dwoz/2018.3.3 +.IP \(bu 2 +8a4946478e Fix windows test whitelist errors +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49641\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49632\fP to 2018.3.3 +@ \fI2018\-09\-13 16:46:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49632\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixing integration.states.test_file.FileTest.test_directory_max_depth (refs: \fI\%#49641\fP) +.IP \(bu 2 +3fb3ffdb37 Merge pull request \fI\%#49641\fP from rallytime/bp\-49632 +.IP \(bu 2 +d11a400825 Fixing failing test under python 3.7 causaed by changes to how os.makedirs sets initial permissions. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49633\fP: (\fI\%garethgreenaway\fP) [2018.3.3] Moving test_build_whitespace_split_regex to TestBuildWhitespaceRegex +@ \fI2018\-09\-13 06:57:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0096cf10b5 Merge pull request \fI\%#49633\fP from garethgreenaway/moving_test_into_correct_class +.IP \(bu 2 +370de07617 Lint: Add extra blank line +.IP \(bu 2 +27b93fcc68 Moving the test_build_whitespace_split_regex test into the TestBuildWhitespaceRegex class. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49594\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49580\fP to 2018.3.3 +@ \fI2018\-09\-10 19:59:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49580\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixing tests for Python 3.7 (refs: \fI\%#49594\fP) +.IP \(bu 2 +e3a14e3535 Merge pull request \fI\%#49594\fP from rallytime/bp\-49580 +.IP \(bu 2 +41a2586fc0 Add file coding line at top of file +.IP \(bu 2 +7df3bebf53 Fixing lint. +.IP \(bu 2 +5fee38d1db Fixes various tests that were failing under python 3.7. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49589\fP: (\fI\%rallytime\fP) Update old utils paths to use new utils paths +@ \fI2018\-09\-10 16:51:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +39f9c9c952 Merge pull request \fI\%#49589\fP from rallytime/utils\-paths +.IP \(bu 2 +5de2245c11 Update old utils paths to use new utils paths +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49550\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49548\fP to 2018.3.3 +@ \fI2018\-09\-07 00:36:05 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49548\fP: (\fI\%garethgreenaway\fP) [2018.3] Disabling State boto tests for Python 3.7+ (refs: \fI\%#49550\fP) +.IP \(bu 2 +202da7a94f Merge pull request \fI\%#49550\fP from rallytime/bp\-49548 +.IP \(bu 2 +180692ccee Disable various boto tests when run under python 3.7 because of //github.com/spulec/moto/issues/1706. which was causing the test suite to hang on unit tests. This PR is disabling the tests in the test_boto_vpc state tests. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49542\fP: (\fI\%twangboy\fP) Update openssl +@ \fI2018\-09\-06 16:11:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +cae2d61568 Merge pull request \fI\%#49542\fP from twangboy/fix_osx_build_3 +.IP \(bu 2 +fe02b2276f Add 1.0.2p shasum file +.IP \(bu 2 +5f06dc2762 Fix issues with osx build scripts on 2018.3.3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49536\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49524\fP to 2018.3.3 +@ \fI2018\-09\-06 16:00:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49524\fP: (\fI\%garethgreenaway\fP) [2018.3] Disable boto tests under 3.7 (refs: \fI\%#49536\fP) +.IP \(bu 2 +d9f09da5d9 Merge pull request \fI\%#49536\fP from rallytime/bp\-49524 +.IP \(bu 2 +9e7203e08a Disable various boto tests when run under python 3.7 because of //github.com/spulec/moto/issues/1706. which was causing the test suite to hang on unit tests. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49535\fP: (\fI\%Ch3LL\fP) Skip test_virt and pip_state requirements tests on macosx +@ \fI2018\-09\-06 15:59:38 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +cb934bf0b6 Merge pull request \fI\%#49535\fP from Ch3LL/skip_pip_mac +.IP \(bu 2 +50237e9daf Skip test_virt and pip_state requirements tests on macosx +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49499\fP: (\fI\%rallytime\fP) Pin CherryPy version to < 18.0.0 in requirements files for PY2 +@ \fI2018\-09\-04 18:52:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +87d3dfe085 Merge pull request \fI\%#49499\fP from rallytime/pin\-cherrypy\-2018.3.3 +.IP \(bu 2 +9e274335a3 Pin CherryPy version to < 18.0.0 in requirements files for PY2 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%saltstack/salt\-jenkins#1075\fP: (\fI\%Ch3LL\fP) [2018.3.3] arch python3 tests do not finish (refs: \fI\%#49303\fP, \fI\%#49451\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49467\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49451\fP to 2018.3.3 +@ \fI2018\-08\-31 17:38:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49451\fP: (\fI\%gtmanfred\fP) Handle thread shutdown on system exit (refs: \fI\%#49467\fP) +.IP \(bu 2 +39fdacc434 Merge pull request \fI\%#49467\fP from rallytime/bp\-49451 +.IP \(bu 2 +b891a0a8d3 add lock for proxy minion process too +.IP \(bu 2 +72519878c0 start thread in try block +.IP \(bu 2 +b878f01662 use finally instead of catching baseexception +.IP \(bu 2 +de98be6093 use rlock so blocking can be passed in py2 +.IP \(bu 2 +d346b42332 import Callable from collections.abc for python3.7 +.IP \(bu 2 +d7a410070a Handle thread shutdown on system exit +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49468\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49291\fP and \fI\%#49331\fP to 2018.3.3 +@ \fI2018\-08\-31 17:37:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49331\fP: (\fI\%dwoz\fP) Use salt.utils to ensure string type (refs: \fI\%#49468\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49291\fP: (\fI\%dwoz\fP) Add dedent that sets line endings (refs: \fI\%#49468\fP) +.IP \(bu 2 +37d1455d69 Merge pull request \fI\%#49468\fP from rallytime/bp\-49291\-and\-49331 +.IP \(bu 2 +944f8e96c8 Use salt.utils to ensure string type +.IP \(bu 2 +6c92ed2021 Fix review nits +.IP \(bu 2 +0e18b157e3 Re\-factor dedent to fix warts +.IP \(bu 2 +b5034067f8 Use salt.utils.to_* functions +.IP \(bu 2 +6399d035a4 Add dedent that sets line endings +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49449\fP: (\fI\%rallytime\fP) Mark status test as flaky +@ \fI2018\-08\-30 18:10:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0cda22e7a9 Merge pull request \fI\%#49449\fP from rallytime/flaky\-test +.IP \(bu 2 +0f322bb39f Mark status test as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49444\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49299\fP to 2018.3.3 +@ \fI2018\-08\-30 18:10:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49299\fP: (\fI\%dwoz\fP) Work around cmd.run unicode issues in test for now (refs: \fI\%#49444\fP) +.IP \(bu 2 +bcc5f1a7c1 Merge pull request \fI\%#49444\fP from rallytime/bp\-49299 +.IP \(bu 2 +b8c5a5bb91 Fix string formatting wart in file state tests +.IP \(bu 2 +19756022be Fix wart in file state test +.IP \(bu 2 +ba68388342 Work around cmd.run unicode issues in test for now +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49448\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49400\fP to 2018.3.3 +@ \fI2018\-08\-30 18:04:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49400\fP: (\fI\%rallytime\fP) Mark pillar refresh test as flaky (refs: \fI\%#49448\fP) +.IP \(bu 2 +38713e2db9 Merge pull request \fI\%#49448\fP from rallytime/bp\-49400 +.IP \(bu 2 +b953fe0079 Mark pillar refresh test as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49446\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49356\fP to 2018.3.3 +@ \fI2018\-08\-30 18:04:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49356\fP: (\fI\%dwoz\fP) Fix tests that use timed_subprocess for py3 (refs: \fI\%#49446\fP) +.IP \(bu 2 +d6ddcab351 Merge pull request \fI\%#49446\fP from rallytime/bp\-49356 +.IP \(bu 2 +8022b0c3d6 Fix tests that use timed_subprocess for py3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49445\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49192\fP to 2018.3.3 +@ \fI2018\-08\-30 18:03:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49192\fP: (\fI\%dwoz\fP) Test fixes flaky test and unicode environment key/value (refs: \fI\%#49445\fP) +.IP \(bu 2 +1a67956c0f Merge pull request \fI\%#49445\fP from rallytime/bp\-49192 +.IP \(bu 2 +20148d4438 Test fixes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49443\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49197\fP to 2018.3.3 +@ \fI2018\-08\-30 18:03:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49197\fP: (\fI\%dwoz\fP) File state line ending fixes (refs: \fI\%#49443\fP) +.IP \(bu 2 +33f59d44de Merge pull request \fI\%#49443\fP from rallytime/bp\-49197 +.IP \(bu 2 +5fe821978e File state line ending fixes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49442\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49180\fP and related fixes to 2018.3.3 +@ \fI2018\-08\-30 18:02:54 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49186\fP: (\fI\%dwoz\fP) Fix typo in \fI\%#49180\fP (refs: \fI\%#49442\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49180\fP: (\fI\%dwoz\fP) Cherry\-pick test fixes (refs: \fI\%#49442\fP, \fI\%#49186\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49167\fP: (\fI\%dwoz\fP) Fix remaining file state integration tests (py3) (refs: \fI\%#49173\fP, \fI\%#49442\fP) +.IP \(bu 2 +60758059c3 Merge pull request \fI\%#49442\fP from rallytime/bp\-49180 +.IP \(bu 2 +e155568957 Fix typo +.IP \(bu 2 +608a1ae7ba Account for file renames +.IP \(bu 2 +e8e6a46a2b Fix directory unit test +.IP \(bu 2 +2f865c398e Fix is_windows checks +.IP \(bu 2 +6460f7f217 Account for normalized dirs in unit tests +.IP \(bu 2 +f4b7101a35 Simplify dict keys lookup +.IP \(bu 2 +942b68bfc8 Fix remaining file state integration tests (py3) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49441\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49240\fP to 2018.3.3 +@ \fI2018\-08\-30 18:02:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49240\fP: (\fI\%dwoz\fP) file state test fixes (refs: \fI\%#49362\fP, \fI\%#49441\fP) +.IP \(bu 2 +1f4906346a Merge pull request \fI\%#49441\fP from rallytime/bp\-49240 +.IP \(bu 2 +22ed452479 Work around listdir encoding issues on py2 windows +.IP \(bu 2 +f5be275835 file state test fixes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49440\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49258\fP to 2018.3.3 +@ \fI2018\-08\-30 18:02:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49258\fP: (\fI\%gtmanfred\fP) flaky tests are flaky (refs: \fI\%#49440\fP) +.IP \(bu 2 +cc27b67a37 Merge pull request \fI\%#49440\fP from rallytime/bp\-49258 +.IP \(bu 2 +0191af1423 flaky tests are flaky yo +.IP \(bu 2 +720b671dda mark orchestration state tests as flaky +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48880\fP: (\fI\%damntoken\fP) Can\(aqt run cmd.run with UTF\-8 chars as arguments / parameters. With custom module. (refs: \fI\%#49322\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49368\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49322\fP to 2018.3.3 +@ \fI2018\-08\-28 17:15:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49322\fP: (\fI\%dwoz\fP) Encode shell commands explicitly. (refs: \fI\%#49368\fP) +.IP \(bu 2 +af80e64569 Merge pull request \fI\%#49368\fP from rallytime/bp\-49322 +.IP \(bu 2 +238853b9ec Encode shell commands explicitly. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49363\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49245\fP to 2018.3.3 +@ \fI2018\-08\-28 17:14:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49245\fP: (\fI\%dwoz\fP) Skip grep unit tests on windows (refs: \fI\%#49363\fP) +.IP \(bu 2 +0fee3e8786 Merge pull request \fI\%#49363\fP from rallytime/bp\-49245 +.IP \(bu 2 +cc606509d0 Fix is_windows call \- use the right path +.IP \(bu 2 +5488fbea38 Skip grep unit tests on windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49361\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49244\fP to 2018.3.3 +@ \fI2018\-08\-28 17:12:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49244\fP: (\fI\%dwoz\fP) Test fixes: unit.fileserver.test_gitfs (refs: \fI\%#49361\fP) +.IP \(bu 2 +dbcd2fc726 Merge pull request \fI\%#49361\fP from rallytime/bp\-49244 +.IP \(bu 2 +e0909d3a25 Simplify by using to_unicode helper +.IP \(bu 2 +4723c69092 Older GitPython version do not have a close method +.IP \(bu 2 +d5fecba716 Fix up fileserver.test_gitfs tests on windows +.IP \(bu 2 +4b688f6347 Remove unicode filenames on windows python 2 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49362\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49240\fP to 2018.3.3 +@ \fI2018\-08\-28 17:00:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49240\fP: (\fI\%dwoz\fP) file state test fixes (refs: \fI\%#49362\fP, \fI\%#49441\fP) +.IP \(bu 2 +b4a1e1d365 Merge pull request \fI\%#49362\fP from rallytime/bp\-49240 +.IP \(bu 2 +16ca5b9694 Work around listdir encoding issues on py2 windows +.IP \(bu 2 +7650208dbc file state test fixes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49365\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49270\fP to 2018.3.3 +@ \fI2018\-08\-28 16:56:23 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49270\fP: (\fI\%dwoz\fP) Add async helper to test_sock_path_len (refs: \fI\%#49365\fP) +.IP \(bu 2 +9ca9a775ff Merge pull request \fI\%#49365\fP from rallytime/bp\-49270 +.IP \(bu 2 +1b3f37a8b8 Add async helper to test_sock_path_len +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49364\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49243\fP to 2018.3.3 +@ \fI2018\-08\-28 16:55:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49243\fP: (\fI\%dwoz\fP) Revert newline translation change (refs: \fI\%#49364\fP) +.IP \(bu 2 +bbff57da16 Merge pull request \fI\%#49364\fP from rallytime/bp\-49243 +.IP \(bu 2 +5db77c6229 Revert newline translation change +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49347\fP: (\fI\%Ch3LL\fP) [2018.3.3] Backport \fI\%#49345\fP +@ \fI2018\-08\-28 01:54:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49345\fP: (\fI\%gtmanfred\fP) upgrade including linux kernels (refs: \fI\%#49347\fP) +.IP \(bu 2 +74b78835b3 Merge pull request \fI\%#49347\fP from Ch3LL/bp_49345_2018.3.3 +.IP \(bu 2 +7bf5ba83c8 upgrade including linux kernels +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49323\fP: (\fI\%Ch3LL\fP) Skip nonexistent branch test for git versions <1.7.10 +@ \fI2018\-08\-25 19:52:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +be6691d91b Merge pull request \fI\%#49323\fP from Ch3LL/skip_git +.IP \(bu 2 +ee3d32f74e Skip nonexistent branch for git versions <1.7.10 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#32737\fP: (\fI\%Lothiraldan\fP) No support for compound matcher in external auth configuration (refs: \fI\%#49236\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49313\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49236\fP to 2018.3.3 +@ \fI2018\-08\-24 20:59:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49236\fP: (\fI\%terminalmage\fP) Allow compound matching in eauth config expressions (refs: \fI\%#49313\fP) +.IP \(bu 2 +64d7b0e4c6 Merge pull request \fI\%#49313\fP from rallytime/bp\-49236 +.IP \(bu 2 +1a5ef996e3 Add \(aqminion_data_cache: True\(aq to mocked opts for minions unit tests +.IP \(bu 2 +549f5d5a86 Allow compound matching in eauth config expressions +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%saltstack/salt\-jenkins#1075\fP: (\fI\%Ch3LL\fP) [2018.3.3] arch python3 tests do not finish (refs: \fI\%#49303\fP, \fI\%#49451\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49311\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49303\fP to 2018.3.3 +@ \fI2018\-08\-24 17:48:23 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49303\fP: (\fI\%gtmanfred\fP) use os._exit instead of sys.exit when daemonizing (refs: \fI\%#49311\fP) +.IP \(bu 2 +7a89a4c8aa Merge pull request \fI\%#49311\fP from rallytime/bp\-49303 +.IP \(bu 2 +3fe1387751 use os._exit instead of sys.exit when daemonizing +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49294\fP: (\fI\%Ch3LL\fP) Move run_function call from __init__ to setup +@ \fI2018\-08\-24 12:41:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7bb356f11e Merge pull request \fI\%#49294\fP from Ch3LL/fed_28_tests +.IP \(bu 2 +0a5d44a3db Move run_function call from __init__ to setup +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49302\fP: (\fI\%twangboy\fP) Fix installer 2018.3.3 +@ \fI2018\-08\-24 12:41:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a607f9332f Merge pull request \fI\%#49302\fP from twangboy/fix_installer_2018.3.3 +.IP \(bu 2 +68fd37575e Fix erroneous NSSM reference +.IP \(bu 2 +103f2c289e Remove delete vcredist line +.IP \(bu 2 +007a16638e Bring installer updates from 2017.7.8 to 2018.3.3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49241\fP: (\fI\%terminalmage\fP) Don\(aqt silently catch SystemExit +@ \fI2018\-08\-22 12:57:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bc0b4ac513 Merge pull request \fI\%#49241\fP from terminalmage/salt\-jenkins\-1078 +.IP \(bu 2 +08d144f2c7 Don\(aqt silently catch SystemExit +.IP \(bu 2 +c0fdb818f7 Don\(aqt use a bare except! +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49239\fP: (\fI\%Ch3LL\fP) Use yaml\(aqs safe_dump in windows ec2 tests +@ \fI2018\-08\-22 08:48:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0fb9ccf60a Merge pull request \fI\%#49239\fP from Ch3LL/win_yaml_test +.IP \(bu 2 +f5b42dbb24 import salt.utils.yaml +.IP \(bu 2 +67290eaff7 Use yaml\(aqs safe_dump in windows ec2 tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49182\fP: (\fI\%terminalmage\fP) Fix hanging syndic test +@ \fI2018\-08\-18 12:10:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +134f125b96 Merge pull request \fI\%#49182\fP from terminalmage/salt\-jenkins\-1078 +.IP \(bu 2 +a2d2cd317b Fix hanging syndic test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49172\fP: (\fI\%Ch3LL\fP) [2018.3.3] cherry pick \fI\%#49118\fP +@ \fI2018\-08\-17 20:54:05 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49118\fP: (\fI\%dwoz\fP) Multiple fixes for integration.states.test_file (refs: \fI\%#49172\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49088\fP: (\fI\%dwoz\fP) Multiple file state test fixes (refs: \fI\%#49118\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49087\fP: (\fI\%dwoz\fP) Filter out scheme\(aqs that are not valid (refs: \fI\%#49118\fP) +.IP \(bu 2 +b3a247bfbb Merge pull request \fI\%#49172\fP from Ch3LL/bp\-49118 +.IP \(bu 2 +ce5e17bdbd update is_windows salt.utils to correct path +.IP \(bu 2 +3fef112409 Multiple fixes for integration.states.test_file +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49173\fP: (\fI\%Ch3LL\fP) [2018.3.3] cherry pick \fI\%#49167\fP +@ \fI2018\-08\-17 20:30:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49167\fP: (\fI\%dwoz\fP) Fix remaining file state integration tests (py3) (refs: \fI\%#49173\fP, \fI\%#49442\fP) +.IP \(bu 2 +85ffc8db87 Merge pull request \fI\%#49173\fP from Ch3LL/bp\-49167 +.IP \(bu 2 +a1a298a13c Simplify dict keys lookup +.IP \(bu 2 +3d26affa10 Fix remaining file state integration tests (py3) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49171\fP: (\fI\%Ch3LL\fP) [2018.3.3] cherry pick \fI\%#49103\fP +@ \fI2018\-08\-17 20:23:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49103\fP: (\fI\%dwoz\fP) Install the launcher so we can execute py files (refs: \fI\%#49171\fP) +.IP \(bu 2 +ee54ea5f73 Merge pull request \fI\%#49171\fP from Ch3LL/bp\-49103 +.IP \(bu 2 +05a2b91fb2 Install the launcher so we can execute py files +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49132\fP: (\fI\%Ch3LL\fP) [2018.3.3] backport PR \fI\%#49062\fP +@ \fI2018\-08\-17 14:51:50 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49062\fP: (\fI\%weswhet\fP) fix memoize on available macOS services (refs: \fI\%#49132\fP) +.IP \(bu 2 +58034c9dc3 Merge pull request \fI\%#49132\fP from Ch3LL/bp\-49062 +.IP \(bu 2 +990fdb6a52 decorator link fix, updating context names, as well as updating macutils tests for latest changes +.IP \(bu 2 +3ab5d282be fixing an issue with memoize on macOS services, switching to useing __context__ instead +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49142\fP: (\fI\%Ch3LL\fP) Remove \-Z script_arg for cloud tests +@ \fI2018\-08\-16 16:12:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +01f8f83cf0 Merge pull request \fI\%#49142\fP from Ch3LL/rm_z_arg +.IP \(bu 2 +a1ef6a88a6 Remove \-Z script_arg for cloud tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49137\fP: (\fI\%Ch3LL\fP) [2018.3.3] Update bootstrap script to latest release (2018.08.15) +@ \fI2018\-08\-15 19:49:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a03828884b Merge pull request \fI\%#49137\fP from Ch3LL/bootstrap_2018.3.3 +.IP \(bu 2 +eb9a612096 [2018.3.3] Update bootstrap script to latest release (2018.08.15) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49110\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-08\-14 17:11:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b412bff534 Merge pull request \fI\%#49110\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +4649f60209 Update old utils paths with new paths +.IP \(bu 2 +49c2a784bb Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +d46e23f4c2 Merge pull request \fI\%#49109\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +3c5527f300 Merge branch \(aq2017.7.8\(aq into \(aq2017.7\(aq +.IP \(bu 2 +01cf2c71ff Merge pull request \fI\%#49051\fP from rallytime/bp\-49046 +.INDENT 2.0 +.IP \(bu 2 +fc0817cb35 The osfullname grain differs when using Python2 vs Python3, swapping this out for the "OS" grain which is consistent. +.UNINDENT +.UNINDENT +.IP \(bu 2 +8954dd269f Merge pull request \fI\%#49090\fP from dwoz/file_line_fix +.INDENT 2.0 +.IP \(bu 2 +0dca634e3c Search for (but do not include) CRLF line ending +.UNINDENT +.IP \(bu 2 +b99edc3dce Merge pull request \fI\%#49088\fP from dwoz/file_hash_diffs +.INDENT 2.0 +.IP \(bu 2 +054afb8197 Multiple file state test fixes +.UNINDENT +.IP \(bu 2 +274977b6c4 Merge pull request \fI\%#49087\fP from dwoz/url_file_test_fixes +.INDENT 2.0 +.IP \(bu 2 +632b65f975 Filter out scheme\(aqs that are not valid +.UNINDENT +.IP \(bu 2 +db5fb3232a Merge pull request \fI\%#49086\fP from rallytime/new\-doc\-img +.INDENT 2.0 +.IP \(bu 2 +90954203cb Update the DOCBANNER image for saltconf +.UNINDENT +.IP \(bu 2 +af6ec1dce2 Merge pull request \fI\%#49045\fP from twangboy/fix_43164 +.INDENT 2.0 +.IP \(bu 2 +589456d08f Fix lint errors +.IP \(bu 2 +e79243566d Add rallytime\(aqs suggestions +.IP \(bu 2 +d1ae6b3d6d Fix docs for the registry module and state +.UNINDENT +.IP \(bu 2 +a840fea1a1 Merge pull request \fI\%#49083\fP from rallytime/bootstrap\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +358e14cdac [2017.7] Update bootstrap script to latest release +.UNINDENT +.IP \(bu 2 +9db6cd5654 Merge pull request \fI\%#49059\fP from twangboy/fix_37984 +.INDENT 2.0 +.IP \(bu 2 +7ed45b5b00 Remove import +.IP \(bu 2 +7fb1edb469 Fix docs to clarify uptime output on Windows +.UNINDENT +.IP \(bu 2 +f9db72f00c Merge pull request \fI\%#49061\fP from saltstack/revert\-48982\-new_logo_2017.7 +.INDENT 2.0 +.IP \(bu 2 +98a8da728b Revert "New logo 2017.7 (WIP)" +.UNINDENT +.IP \(bu 2 +bbcd1869ec Merge pull request \fI\%#48982\fP from newwebash/new_logo_2017.7 +.INDENT 2.0 +.IP \(bu 2 +5c1c311f77 Update Salt Conf ad +.IP \(bu 2 +72dc63c426 Merge branch \(aq2017.7\(aq of \fI\%https://github.com/saltstack/salt\fP into new_logo_2017.7 +.IP \(bu 2 +9f4e78a7b9 Revert "Update saltconf ad" +.IP \(bu 2 +3ab8cdb882 Update saltconf ad +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48665\fP: (\fI\%dgengtek\fP) salt\-api auth ldap generates a valid token when using bindpw and an invalid request (refs: \fI\%#48901\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48901\fP: (\fI\%garethgreenaway\fP) [2018.3] fix to auth/ldap.py +@ \fI2018\-08\-14 16:10:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e78fc0e0eb Merge pull request \fI\%#48901\fP from garethgreenaway/48665_auth_ldap_valid_token_failed_auth +.IP \(bu 2 +d4e4f2e803 Fixing a typo in a comment. +.IP \(bu 2 +2eb167ea42 Fixing issue when a valid token is generated even when invalid user credentials are passed. This change verifies that the binddn credentials are valid, then verifies that the username & password (if not None) are also valid. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#49081\fP: (\fI\%frogunder\fP) Fluorine \- I see error/traceback when running minion in debug mode (refs: \fI\%#49085\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49099\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49085\fP to 2018.3 +@ \fI2018\-08\-14 12:42:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49085\fP: (\fI\%gtmanfred\fP) fix async call to process manager (refs: \fI\%#49099\fP) +.IP \(bu 2 +484c1e0123 Merge pull request \fI\%#49099\fP from rallytime/bp\-49085 +.IP \(bu 2 +024d9cb843 fix async call to process manager +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#49018\fP: (\fI\%Ch3LL\fP) add MasterPillarUtil tests (refs: \fI\%#49034\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49071\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49034\fP to 2018.3 +@ \fI2018\-08\-13 20:15:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49034\fP: (\fI\%garethgreenaway\fP) [fluorine] Adding tests for MasterPillarUtil (refs: \fI\%#49071\fP) +.IP \(bu 2 +bc033da677 Merge pull request \fI\%#49071\fP from rallytime/bp\-49034 +.IP \(bu 2 +8108a4d31a Adding some tests for the grains, pillar and mine functions in the cache runner. These will also ensure that the relevant functions in salt.utils.master.MasterPillarUtil are functioning properly. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49077\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49075\fP to 2018.3 +@ \fI2018\-08\-13 20:00:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49075\fP: (\fI\%gtmanfred\fP) fix last async issue (refs: \fI\%#49077\fP) +.IP \(bu 2 +90c2f026b3 Merge pull request \fI\%#49077\fP from rallytime/bp\-49075 +.IP \(bu 2 +5e07b8306b fix last async issue +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49096\fP: (\fI\%rallytime\fP) Update the DOCBANNER image for saltconf +@ \fI2018\-08\-13 19:59:39 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6942ef1102 Merge pull request \fI\%#49096\fP from rallytime/new\-doc\-img\-2018.3 +.IP \(bu 2 +75080705ce Update the DOCBANNER image for saltconf +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49055\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-08\-13 19:20:11 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0e1ed7b923 Merge pull request \fI\%#49055\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +83a15cb623 Add optimization_order config to mocked opts +.IP \(bu 2 +ea6883ee55 Update old utils paths to new utils paths +.IP \(bu 2 +201031fa8a Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +0d2a495378 Merge pull request \fI\%#49050\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +ed6fb8b739 Merge branch \(aq2017.7.8\(aq into \(aq2017.7\(aq +.IP \(bu 2 +189e28691f Merge pull request \fI\%#49044\fP from Ch3LL/vultr_test +.INDENT 2.0 +.IP \(bu 2 +0dedfae4d1 increase timeout on vultr cloud integration test +.UNINDENT +.IP \(bu 2 +c606a32cf2 Merge pull request \fI\%#49042\fP from rallytime/flaky\-jinja\-test +.INDENT 2.0 +.IP \(bu 2 +a43d9b4ba6 Mark a jinja template test as flaky +.UNINDENT +.IP \(bu 2 +6415b6f73b Merge pull request \fI\%#49041\fP from Ch3LL/ec2_fix +.INDENT 2.0 +.IP \(bu 2 +cf7f2459b8 [2017.7.8] backport PR \fI\%#48212\fP +.UNINDENT +.IP \(bu 2 +1db036406b Merge pull request \fI\%#49030\fP from rallytime/update\-client\-tests +.INDENT 2.0 +.IP \(bu 2 +f08ee6c6ae Update netapi client tests +.UNINDENT +.UNINDENT +.IP \(bu 2 +70be9ac9b1 Merge pull request \fI\%#49046\fP from garethgreenaway/1022_fixing_test_failing_py3_Debian_test +.INDENT 2.0 +.IP \(bu 2 +fa2339bb91 The osfullname grain differs when using Python2 vs Python3, swapping this out for the "OS" grain which is consistent. +.UNINDENT +.IP \(bu 2 +69c9b0afb1 Merge pull request \fI\%#49036\fP from cspeidel/doc\-fix\-netyang +.INDENT 2.0 +.IP \(bu 2 +f7ac085eb5 minor doc fix in netyang.py +.UNINDENT +.IP \(bu 2 +c5f3fd6b2b Merge pull request \fI\%#48997\fP from AVeenstra/patch\-1 +.INDENT 2.0 +.IP \(bu 2 +0e535f2c8c Unpacking dict with the six iterator +.IP \(bu 2 +5e82685b89 Python 3 related fix in highstate_return.py +.UNINDENT +.IP \(bu 2 +c06a3cf531 Merge pull request \fI\%#49021\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +ca82b3d57a Merge branch \(aq2017.7.8\(aq into merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +f73ba21bc7 Merge pull request \fI\%#49024\fP from rallytime/fix\-deb\-test +.INDENT 2.0 +.IP \(bu 2 +a9c16d9137 Fix test error in test_compiler jinja check +.UNINDENT +.UNINDENT +.IP \(bu 2 +c6f8429e41 Merge branch \(aq2017.7.8\(aq into \(aq2017.7\(aq +.IP \(bu 2 +6b6d68c615 Merge pull request \fI\%#49020\fP from rallytime/fix\-grains\-test +.INDENT 2.0 +.IP \(bu 2 +f72a3ac6be Make grains integration test more robust +.UNINDENT +.IP \(bu 2 +92d6c25c7f Merge pull request \fI\%#49002\fP from rallytime/skip\-jinja\-deep\-error\-test +.INDENT 2.0 +.IP \(bu 2 +23b66ef8bb Skip test_jinja_deep_error on Debian 8 +.UNINDENT +.IP \(bu 2 +41d9f11eb3 Merge pull request \fI\%#48999\fP from rallytime/fix\-boto\-test +.INDENT 2.0 +.IP \(bu 2 +d0136b1be5 Update expected return value in boto test +.UNINDENT +.UNINDENT +.IP \(bu 2 +2ddba6391a Merge pull request \fI\%#49010\fP from Ch3LL/univention +.INDENT 2.0 +.IP \(bu 2 +c09bce9afe Add univention OS to debian os_family mapping +.UNINDENT +.IP \(bu 2 +41bd36842e Merge pull request \fI\%#48636\fP from terminalmage/loader\-fixes +.INDENT 2.0 +.IP \(bu 2 +0441cd56ef Add optimization_order to mocking +.IP \(bu 2 +2256fad320 Process pycache files after .py files +.IP \(bu 2 +a78663a301 Lint +.IP \(bu 2 +0728b5f8b6 Add note about Python 3.5+ only support for optimization_order +.IP \(bu 2 +764969ce08 Add a test to confirm that .py files are still loaded correctly +.IP \(bu 2 +0f60beb6b6 Fix bad copypasta +.IP \(bu 2 +fbcd142ea2 Add configuration docs for optimization_order config option +.IP \(bu 2 +8af2d580f3 Only compile the suffix_order/map once per LazyLoader instance +.IP \(bu 2 +4b95e5f313 Don\(aqt put __pycache__ dir in the file list +.IP \(bu 2 +e7c10196da Quiet the byte compiling for PY2 +.IP \(bu 2 +9338370477 Add unit tests for loader optimization levels +.IP \(bu 2 +c3622933c1 PY3: Support different optimization levels +.IP \(bu 2 +6fc8da5bab Add optimization_order config option with default value +.IP \(bu 2 +dfe423a1e0 Remove commented\-out log message +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49084\fP: (\fI\%rallytime\fP) [2018.3] Update bootstrap script to latest release +@ \fI2018\-08\-13 18:14:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +db7ec46875 Merge pull request \fI\%#49084\fP from rallytime/bootstrap\-2018.3 +.IP \(bu 2 +28dc8ce954 [2017.7] Update bootstrap script to latest release +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49052\fP: (\fI\%isbm\fP) Python 3.7 support (backport 2018.3) +@ \fI2018\-08\-13 13:06:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b0d5acbe0d Merge pull request \fI\%#49052\fP from isbm/isbm\-python37\-support\-2018.3 +.IP \(bu 2 +4386a9ca1f Merge branch \(aq2018.3\(aq into isbm\-python37\-support\-2018.3 +.IP \(bu 2 +bc85a5fa98 Fix configuration setting +.IP \(bu 2 +47078a300f Remove async keyword, moving it into the kwargs. +.IP \(bu 2 +31dccc4fdf fix unicode literals +.IP \(bu 2 +990936992c Keep runner API unchanged +.IP \(bu 2 +46bafcafef Fix nag\-message +.IP \(bu 2 +5c887ac2ae Support original API +.IP \(bu 2 +2c22e794d4 Use kwargs instead of directly named parameters +.IP \(bu 2 +7d095491d9 Update docstring +.IP \(bu 2 +9807e8dbb7 Add \(aqasync\(aq backward compatibility +.IP \(bu 2 +e8608aa9be Revert api call: it is about "functionname_async" suffix. +.IP \(bu 2 +0543578336 Deprecate \(aqasync\(aq parameter in Mandrill API +.IP \(bu 2 +1107de0dec Lintfix: PEP8 requires two empty lines +.IP \(bu 2 +2a18e335af Fix function signatures in Cassandra module +.IP \(bu 2 +603f94e2a3 Cleanup docstrings at module level +.IP \(bu 2 +b9718d3a09 Fix log error/info/warning and exception messages +.IP \(bu 2 +6e77aff69a Fix local opts from CLI +.IP \(bu 2 +493e48ddb5 Remove internal variables/properties with the reserved words +.IP \(bu 2 +be07f64bc4 Change internal function signatures to avoid reserved word +.IP \(bu 2 +7d095e0b26 Rename async function to asynchronous +.IP \(bu 2 +35eaebb8a4 Fix docstrings +.IP \(bu 2 +7a597f19b5 Fix comments +.IP \(bu 2 +69920366ae Fix CLI config +.IP \(bu 2 +173f3d7aa8 Fix docstring typo +.IP \(bu 2 +b7da571624 Fix imports +.IP \(bu 2 +7ec3954bef Rename module to full wording +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48557\fP: (\fI\%whytewolf\fP) file.line in python3 on windows 2012 r2 is adding extra CR line endings. (refs: \fI\%#49026\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49026\fP: (\fI\%dwoz\fP) Fix file.line line endings +@ \fI2018\-08\-13 13:05:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +338ecb70ef Merge pull request \fI\%#49026\fP from dwoz/issue_48557 +.IP \(bu 2 +a4d22fda2f Merge remote\-tracking branch \(aqorigin/issue_48557\(aq into issue_48557 +.INDENT 2.0 +.IP \(bu 2 +702e76cfc9 Merge branch \(aq2018.3\(aq into issue_48557 +.UNINDENT +.IP \(bu 2 +6cf93e8fc4 Skip newline in binary mode +.IP \(bu 2 +2cf80c1595 Fix linter errors +.IP \(bu 2 +baf291b4c8 Fix file.line line endings +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49038\fP: (\fI\%gtmanfred\fP) disable enable_ssh_minions to see if it is slowing down 2018.3 tests +@ \fI2018\-08\-10 18:07:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +602fed7806 Merge pull request \fI\%#49038\fP from gtmanfred/slowtest +.IP \(bu 2 +6bc44c91c4 remove localhost from tests +.IP \(bu 2 +7b168a5aac disable enable_ssh_minions to see if it is slowing down 2018.3 tests +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48996\fP: (\fI\%jils2013\fP) file.get_diff not work on version:2018.3.2 (refs: \fI\%#49033\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49033\fP: (\fI\%terminalmage\fP) Fix file.get_diff for remote files +@ \fI2018\-08\-09 21:06:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4eeb75f028 Merge pull request \fI\%#49033\fP from terminalmage/issue48996 +.IP \(bu 2 +163aea71c8 Lint +.IP \(bu 2 +d6e5038022 Fix file.get_diff for remote files +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48856\fP: (\fI\%travispaul\fP) Salt fails to start on NetBSD 8 (refs: \fI\%#48926\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48926\fP: (\fI\%travispaul\fP) Handle ifconfig output differently for NetBSD >= 8.0 +@ \fI2018\-08\-09 20:07:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b24c96a292 Merge pull request \fI\%#48926\fP from travispaul/fix\-netbsd\-8\-new\-ifconfig +.IP \(bu 2 +d59b6d8269 Add unit test for NetBSD 8 ifconfig changes +.IP \(bu 2 +80f8a667d1 Handle ifconfig output differently for NetBSD >= 8.0 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48803\fP: (\fI\%dmurphy18\fP) Support for execution modules and states mount on AIX +@ \fI2018\-08\-09 17:51:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7d6b9ed0a5 Merge pull request \fI\%#48803\fP from dmurphy18/aix_filesystems +.IP \(bu 2 +92818f816b Fixes for testing +.IP \(bu 2 +77dd7a1743 Adjust unit tests +.IP \(bu 2 +eaed033cde Updated for review comments and adjusted locking when writing files +.IP \(bu 2 +5bf9e6085b Update due to review comments +.IP \(bu 2 +9fb5641dc7 Mount unit tests for modules and states for AIX +.IP \(bu 2 +b28f427432 Save off work after laptop issue +.IP \(bu 2 +e5c2741fe7 module and states mount support for AIX +.IP \(bu 2 +b701e16ad0 Further updates to support for mount on AIX +.IP \(bu 2 +210076276f Initial support for handling /etc/filesystems on AIX +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48496\fP: (\fI\%icy\fP) Salt\-key unable to delete the certificate Test=True (refs: \fI\%#48929\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48929\fP: (\fI\%terminalmage\fP) 2 salt\-key fixes +@ \fI2018\-08\-09 17:50:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2a38905a8a Merge pull request \fI\%#48929\fP from terminalmage/issue48496 +.IP \(bu 2 +7ac10f9eac 2 salt\-key fixes +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47481\fP: (\fI\%whytewolf\fP) Oxygen: task.add_trigger with start_date stating strptime needs a string not int. (refs: \fI\%#49022\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49022\fP: (\fI\%dwoz\fP) Document time format idiosyncrasies +@ \fI2018\-08\-09 17:47:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bb9d23bfa1 Merge pull request \fI\%#49022\fP from dwoz/47481_docs +.IP \(bu 2 +313a3d93d6 Document time format idiosyncrasies +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48932\fP: (\fI\%twangboy\fP) Fix pkg.install when pkg already installed +@ \fI2018\-08\-09 17:45:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9b6a9ff4f1 Merge pull request \fI\%#48932\fP from twangboy/fix_win_repo +.IP \(bu 2 +075ea29d29 remove .lower(), fix debug messages +.IP \(bu 2 +d7c2f476ac Remove current: version for latest as well +.IP \(bu 2 +522ac26459 Fix typo in code comment +.IP \(bu 2 +47b2898a85 return empty dict on no changes +.IP \(bu 2 +6532706d2f Make the tests run on Linux +.IP \(bu 2 +cfe55a391a Add tests for pkg.install output +.IP \(bu 2 +8ec058f498 Clarify code comment +.IP \(bu 2 +8af2cfd54a Fix issues where current is not returned +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49011\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-08\-09 17:34:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d7b7a92ef6 Merge pull request \fI\%#49011\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +02670969d0 Apply fix to ssh init file that was there before merge +.IP \(bu 2 +7e1f7915e4 Revert "Allow for not being prompted to supply a password to deploy keys to a minion with salt\-ssh" +.IP \(bu 2 +00416d54d1 Revert "add key\-deploy test" +.IP \(bu 2 +c26fa0d6c4 Mark orchestration test as expensive +.IP \(bu 2 +fceb6d8d6f Update old utils paths to use new paths +.IP \(bu 2 +3e6445a9d6 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +b49eeca6e9 Merge pull request \fI\%#49003\fP from rallytime/boto\-test\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +1a23bb233f Update expected return value in boto test +.UNINDENT +.IP \(bu 2 +51eed1fdfb Merge pull request \fI\%#48988\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +df8699e2e7 Merge branch \(aq2017.7.8\(aq into \(aq2017.7\(aq +.IP \(bu 2 +a1e54634dc Merge pull request \fI\%#48976\fP from rallytime/tornado +.INDENT 2.0 +.IP \(bu 2 +0bd838ab6c Skip unreliable tornado tests +.UNINDENT +.IP \(bu 2 +22713be9c1 Merge pull request \fI\%#48979\fP from rallytime/bp\-48959 +.IP \(bu 2 +03aa0e49b0 Merge pull request \fI\%#48970\fP from Ch3LL/back_48962 +.INDENT 2.0 +.IP \(bu 2 +3ce1b8a3c9 Update the elif block to only be true for versions below Debian 9. +.UNINDENT +.IP \(bu 2 +e6cea5e3c7 Merge pull request \fI\%#48968\fP from rallytime/man\-pages +.INDENT 2.0 +.IP \(bu 2 +64fe3be41a Update man pages for 2017.7.8 release +.UNINDENT +.UNINDENT +.IP \(bu 2 +10fd4661ff Merge pull request \fI\%#48978\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +6108363f82 clean up gemfile +.UNINDENT +.IP \(bu 2 +5b2423e527 Merge pull request \fI\%#48959\fP from rallytime/flaky\-tests +.INDENT 2.0 +.IP \(bu 2 +aaf986d728 Mark one grains test as flaky & convert to pytest notation +.IP \(bu 2 +e7e5abcf48 Mark 2 matcher tests as flaky +.UNINDENT +.IP \(bu 2 +79994ecab4 Merge pull request \fI\%#48962\fP from garethgreenaway/1022_test_service_disable_debian_part_deux +.INDENT 2.0 +.IP \(bu 2 +9e71551b36 Update the elif block to only be true for versions below Debian 9. +.UNINDENT +.IP \(bu 2 +1a1bda00cb Merge pull request \fI\%#48960\fP from dwoz/block_replace_tests +.INDENT 2.0 +.IP \(bu 2 +94ac2b4fc7 Multiple block replace test fixes +.UNINDENT +.IP \(bu 2 +93b862f350 Merge pull request \fI\%#48957\fP from whytewolf/beacons_log_doc_change +.INDENT 2.0 +.IP \(bu 2 +a77fd16869 Update salt.beacons.log to reflect that re module is used for matching. +.UNINDENT +.IP \(bu 2 +0245cffb07 Merge pull request \fI\%#48955\fP from terminalmage/service\-systemd +.INDENT 2.0 +.IP \(bu 2 +23f87bd536 Don\(aqt load service.py if minion is running a non\-sysvinit init system +.UNINDENT +.IP \(bu 2 +848d583438 Merge pull request \fI\%#48950\fP from KaiSforza/kitchenfix\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +5242cb143a Added a quote to kitchen Jenkinsfiles +.UNINDENT +.IP \(bu 2 +928d688d65 Merge pull request \fI\%#48943\fP from rallytime/flaky\-tests +.INDENT 2.0 +.IP \(bu 2 +668da57ab9 Mark some shell and runner integration tests as flaky +.UNINDENT +.IP \(bu 2 +cd42510d3a Merge pull request \fI\%#48940\fP from rallytime/bp\-48852 +.INDENT 2.0 +.IP \(bu 2 +fa4ef92e79 Record all the artifacts from the build +.UNINDENT +.IP \(bu 2 +43649a68be Merge pull request \fI\%#48935\fP from garethgreenaway/1045_test_pkg_015_installed_held_centos +.INDENT 2.0 +.IP \(bu 2 +0bb10107b6 Merge branch \(aq2017.7\(aq into 1045_test_pkg_015_installed_held_centos +.IP \(bu 2 +24d5e6a22f Fixing the test_pkg_015_installed_held test to be able to successfully run on CentOS +.UNINDENT +.IP \(bu 2 +2421e2a570 Merge pull request \fI\%#47100\fP from gtmanfred/ssh +.INDENT 2.0 +.IP \(bu 2 +5b443af7ae add key\-deploy test +.IP \(bu 2 +a131c9beeb Allow for not being prompted to supply a password to deploy keys to a minion with salt\-ssh +.UNINDENT +.IP \(bu 2 +d541bd6446 Merge pull request \fI\%#48891\fP from damon\-atkins/2017.7_win_pkg.list_pkgs_not_found +.INDENT 2.0 +.IP \(bu 2 +a4af1dbfb1 Fix win_pkg issues introduced Jan 2018. If DisplayVersion does not exist it should return version as "Not Found" +.UNINDENT +.IP \(bu 2 +5f6a56f5dc Merge pull request \fI\%#48896\fP from rallytime/bp\-48730 +.INDENT 2.0 +.IP \(bu 2 +57aa204c9d Merge branch \(aq2017.7\(aq into bp\-48730 +.IP \(bu 2 +4995922584 Forgot variable in signature +.IP \(bu 2 +0503bc18b6 Fix batch install using pkgng +.UNINDENT +.IP \(bu 2 +0c64bba865 Merge pull request \fI\%#48933\fP from garethgreenaway/1022_debian_8_failing_service\-test +.INDENT 2.0 +.IP \(bu 2 +280d1d2ad2 Fixing failing test, integration.modules.test_service.ServiceModuleTest.test_service_disable_doesnot_exist, on Debian 8 and higher. +.UNINDENT +.IP \(bu 2 +0c3d2c6a09 Merge pull request \fI\%#48922\fP from rallytime/cache\-doc\-error +.INDENT 2.0 +.IP \(bu 2 +8ca89df7e8 Update backticks on job_cache docs +.UNINDENT +.IP \(bu 2 +8d1fc4f8e5 Merge pull request \fI\%#48866\fP from Ch3LL/cmd_win_tests +.INDENT 2.0 +.IP \(bu 2 +905da13653 Merge branch \(aq2017.7\(aq into cmd_win_tests +.UNINDENT +.IP \(bu 2 +57d58e7541 Merge pull request \fI\%#48920\fP from rallytime/bp\-48904\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +a55f92954a No rehashing in parallel +.IP \(bu 2 +3be11e06fe Add docs for new escape kwarg +.IP \(bu 2 +391bb8a411 use a specific path for just the cmd._run call +.IP \(bu 2 +62c66ba489 make sure we lower the check on shell +.IP \(bu 2 +9312a993a5 Add cmd module integration tests for windows and fix space in path issue +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48123\fP: (\fI\%c\-wicklein\fP) file.directory with recurse fails when it encounters a broken symbolic link (refs: \fI\%#48985\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48985\fP: (\fI\%garethgreenaway\fP) [2018.3] Fix to salt/modules/file.py +@ \fI2018\-08\-09 15:03:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3325b7d4c0 Merge pull request \fI\%#48985\fP from garethgreenaway/48123_file_directory_recurse_fails_broken_symlink +.IP \(bu 2 +10c4eca206 Merge branch \(aq2018.3\(aq into 48123_file_directory_recurse_fails_broken_symlink +.IP \(bu 2 +a404cc030f Fixing the issue when using the file.directory state with recurse if the directory contains a broken symbolic link. This fix adds an additional conditional, is_link, before running lsattr since lsattr does not work on symlinks and causes issues when that symlink is broken. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47695\fP: (\fI\%AmbicaY\fP) Continuous error in the proxy minion logs (refs: \fI\%#49019\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#49019\fP: (\fI\%garethgreenaway\fP) [2018.3] Fix to scheduler when global enabled key is present +@ \fI2018\-08\-09 13:06:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d353c02a8c Merge pull request \fI\%#49019\fP from garethgreenaway/47695_fixing_scheduler_bug_when_enabled_is_present +.IP \(bu 2 +aff1b8f6d4 Lint. +.IP \(bu 2 +8935c08141 Fixing a bug that occurs if the "enabled" key is present in the scheduler items dictionary. Adding a test to ensure scheduler runs as expected when that key is present. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49023\fP: (\fI\%The\-Loeki\fP) Salt SSH appends IdentityFile=agent\-forwarding +@ \fI2018\-08\-09 12:55:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a56bc7ffb9 Merge pull request \fI\%#49023\fP from The\-Loeki/patch\-1 +.IP \(bu 2 +8b53571c70 Salt SSH appends IdentityFile=agent\-forwarding +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48981\fP: (\fI\%Ch3LL\fP) Add warning to mac runas docs about escaping characters +@ \fI2018\-08\-08 19:43:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4590494b50 Merge pull request \fI\%#48981\fP from Ch3LL/mac_runas_quote +.IP \(bu 2 +8269b55b84 remove unnecessary spaces in cmdmod.py docs +.IP \(bu 2 +757daf7d7e add runas macosx warning in 2018.3.3 release notes +.IP \(bu 2 +4e9e985b14 Add warning to mac runas docs about escaping characters +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49004\fP: (\fI\%rallytime\fP) Port \fI\%#48999\fP to 2018.3 +@ \fI2018\-08\-08 15:32:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48999\fP: (\fI\%rallytime\fP) Update expected return value in boto test (refs: \fI\%#49004\fP, \fI\%#49003\fP) +.IP \(bu 2 +b87bf905c2 Merge pull request \fI\%#49004\fP from rallytime/boto\-test\-2018.3 +.IP \(bu 2 +9f0b9a1073 Update expected return value in boto test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48987\fP: (\fI\%twangboy\fP) Fix issue with win_iis.create_cert_binding +@ \fI2018\-08\-08 13:29:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +630f61e625 Merge pull request \fI\%#48987\fP from twangboy/fix_48786 +.IP \(bu 2 +86d0836f90 Fix issue with iterating over None +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48777\fP: (\fI\%jonasgit\fP) file.recurse fails on file contents encoding not utf\-8 (refs: \fI\%#48934\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48934\fP: (\fI\%terminalmage\fP) Properly handle latin\-1 encoding in file diffs +@ \fI2018\-08\-07 21:02:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ab1a713bc3 Merge pull request \fI\%#48934\fP from terminalmage/issue48777 +.IP \(bu 2 +52c64e4d51 Fix to_unicode test +.IP \(bu 2 +e2d19f40b6 Only try latin\-1 from get_diff instead of by default +.IP \(bu 2 +d39fa889f3 Add stringutils.get_diff to mocks +.IP \(bu 2 +5b191c9120 Fix incorrect use of __salt__ when __utils__ is needed +.IP \(bu 2 +53ba10ad5f Skip pylint false\-positives +.IP \(bu 2 +f14f4dae22 Add unit test for latin\-1 fallback, multi\-encoding +.IP \(bu 2 +906644a80f PY3 scoping fix +.IP \(bu 2 +726dd4331f Add integration test for latin\-1 file diffs +.IP \(bu 2 +2dd1f31d23 Use BASE_FILES instead of redundant STATE_DIR +.IP \(bu 2 +612ffb5fe8 Use new get_diff helper in file module +.IP \(bu 2 +c632265802 Make to_unicode/to_str/to_bytes helpers attempt latin\-1 +.IP \(bu 2 +2a0cb49b01 Add get_diff to salt.utils.stringutils +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47766\fP: (\fI\%zerthimon\fP) salt\-cloud: openstack driver: crash on instance creation (refs: \fI\%#48956\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48956\fP: (\fI\%gtmanfred\fP) if booted from volume, use string from image +@ \fI2018\-08\-07 16:39:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bad995462c Merge pull request \fI\%#48956\fP from gtmanfred/openstack +.IP \(bu 2 +4cb1636c4b if booted from volume, use string from image +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48306\fP: (\fI\%davidscholberg\fP) Documentation update for custom returners used for master job cache (refs: \fI\%#48319\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48319\fP: (\fI\%gtmanfred\fP) don\(aqt break older returners right now +@ \fI2018\-08\-06 13:19:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +71f587edd7 Merge pull request \fI\%#48319\fP from gtmanfred/jid +.IP \(bu 2 +084e7f0ef4 Merge branch \(aq2018.3\(aq into jid +.IP \(bu 2 +60661b4cd0 document minions required on save_load +.IP \(bu 2 +a8c243071d document passing in minions +.IP \(bu 2 +d49381c0b6 don\(aqt break save_load backwards compat +.IP \(bu 2 +cfcacf953a don\(aqt break older returners right now +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48941\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48912\fP to 2018.3 +@ \fI2018\-08\-06 13:09:38 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48912\fP: (\fI\%maxim\-sermin\fP) make jboss7.py compatible with 2018.3.0 and later (refs: \fI\%#48941\fP) +.IP \(bu 2 +1623e53ef4 Merge pull request \fI\%#48941\fP from rallytime/bp\-48912 +.IP \(bu 2 +3f55b2f89e make jboss7.py compatible with 2018.3.0 and later +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48897\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48863\fP to 2018.3 +@ \fI2018\-08\-05 19:15:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48863\fP: (\fI\%admd\fP) Decode file contents for python2 as well (refs: \fI\%#48897\fP) +.IP \(bu 2 +070af9d925 Merge pull request \fI\%#48897\fP from rallytime/bp\-48863 +.IP \(bu 2 +0ee1940232 Merge branch \(aq2018.3\(aq into bp\-48863 +.IP \(bu 2 +f40b966d99 decode file contents for python2 as well +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48928\fP: (\fI\%Ch3LL\fP) fix test_runas integration test for macosx +@ \fI2018\-08\-05 14:24:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +abd7f1312d Merge pull request \fI\%#48928\fP from Ch3LL/mac_runas +.IP \(bu 2 +3d6455dbcd remove unecessary comment in setup +.IP \(bu 2 +8e30db0217 move destructivetest to testname +.IP \(bu 2 +708dec8740 add destructivetest to setup and teardown for runas test +.IP \(bu 2 +c0730ff968 fix test_runas integration test for macosx +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48899\fP: (\fI\%Ch3LL\fP) remove base_top_file file in teardown and add sleep +@ \fI2018\-08\-05 14:23:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +dbd300ff70 Merge pull request \fI\%#48899\fP from Ch3LL/unit_state +.IP \(bu 2 +0272cadff8 Merge branch \(aq2018.3\(aq into unit_state +.IP \(bu 2 +5896c7fc36 remove base_top_file file in teardown and add sleep +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48898\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-08\-05 14:23:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ffa1fcc682 Merge pull request \fI\%#48898\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +1f093cef4a Merge branch \(aq2018.3\(aq into merge\-2018.3 +.IP \(bu 2 +b3a5aa49d7 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +e79ccb35b1 Merge pull request \fI\%#48876\fP from Vaelatern/make\-network\-learning\-optional +.INDENT 2.0 +.IP \(bu 2 +a4905b0e5d Make IP_LEARNING optional +.UNINDENT +.IP \(bu 2 +f8bfab4f9f Merge pull request \fI\%#48890\fP from Ch3LL/cmd_test +.INDENT 2.0 +.IP \(bu 2 +acda4ed9ab add sleep in test_cmd integration test +.UNINDENT +.IP \(bu 2 +52722f6ded Merge pull request \fI\%#48885\fP from rallytime/flaky\-tests\-shadow +.INDENT 2.0 +.IP \(bu 2 +da871a2d57 Mark shadow module integration test as flaky +.UNINDENT +.IP \(bu 2 +bf0895656e Merge pull request \fI\%#48884\fP from rallytime/flaky\-tests\-matchers +.INDENT 2.0 +.IP \(bu 2 +38d9eae537 Merge branch \(aq2017.7\(aq into flaky\-tests\-matchers +.UNINDENT +.IP \(bu 2 +a567666938 Merge pull request \fI\%#48868\fP from terminalmage/fix\-loader\-race +.INDENT 2.0 +.IP \(bu 2 +5f1169b9a2 Fix race when SIGTERM/SIGINT received while lazyloading a module +.UNINDENT +.IP \(bu 2 +0ca0b6f2f2 Merge pull request \fI\%#48883\fP from terminalmage/salt\-jenkins\-1023 +.INDENT 2.0 +.IP \(bu 2 +c61f75cb50 Fix failing git worktree tests +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +3660dff13c Separate compound matcher tests into individual tests +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +a84f5155a1 Merge pull request \fI\%#48869\fP from Ch3LL/mac_shell_tests +.INDENT 2.0 +.IP \(bu 2 +3734b1ec89 Catch socket.error exception in testprogram +.UNINDENT +.IP \(bu 2 +7f56b8bf44 Merge pull request \fI\%#48867\fP from rallytime/skip\-tornado\-test +.INDENT 2.0 +.IP \(bu 2 +7320aa9104 Skip unreliable tornado test. +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48893\fP: (\fI\%Ch3LL\fP) handle when ca_certs is None in utils.http +@ \fI2018\-08\-03 20:30:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +848e26ed0b Merge pull request \fI\%#48893\fP from Ch3LL/http_tests +.IP \(bu 2 +16d251f7ff Merge branch \(aq2018.3\(aq into http_tests +.IP \(bu 2 +5674dddb2a handle when ca_certs is None in utils.http +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48903\fP: (\fI\%Vaelatern\fP) Wrap ElementTree.tostring to make strs, not bytes +@ \fI2018\-08\-03 19:12:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48877\fP: (\fI\%Vaelatern\fP) Wrap ElementTree.tostring to make strs, not bytes (refs: \fI\%#48903\fP) +.IP \(bu 2 +f1adf56017 Merge pull request \fI\%#48903\fP from Vaelatern/improve\-salt\-cloud\-python3\-virt +.IP \(bu 2 +c45447fe0b Wrap ElementTree.tostring to make strs, not bytes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48900\fP: (\fI\%Ch3LL\fP) skip getpwnam check on mac in unit test_cmdmod +@ \fI2018\-08\-03 16:38:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d23471262d Merge pull request \fI\%#48900\fP from Ch3LL/cmd_unit +.IP \(bu 2 +b82dd708be skip getpwnam check on mac in unit test_cmdmod +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48921\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48904\fP to 2018.3 +@ \fI2018\-08\-03 15:17:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48904\fP: (\fI\%KaiSforza\fP) No rehashing in parallel (refs: \fI\%#48921\fP, \fI\%#48920\fP) +.IP \(bu 2 +d622a49b58 Merge pull request \fI\%#48921\fP from rallytime/bp\-48904 +.IP \(bu 2 +b504625f61 No rehashing in parallel +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48877\fP: (\fI\%Vaelatern\fP) Wrap ElementTree.tostring to make strs, not bytes (refs: \fI\%#48903\fP) +@ \fI2018\-08\-02 19:28:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1e150923aa Merge pull request \fI\%#48877\fP from Vaelatern/improve\-salt\-cloud\-libvirt\-python3\-libvirt +.IP \(bu 2 +fb7885315c Wrap ElementTree.tostring to make strs, not bytes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48824\fP: (\fI\%rallytime\fP) Bump deprecation in win_servermanager state to Neon +@ \fI2018\-08\-02 18:01:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1fb7d9431b Merge pull request \fI\%#48824\fP from rallytime/win_servermanager_deprecations +.IP \(bu 2 +6ef5412528 Bump deprecation in win_servermanager state to Neon +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#37512\fP: (\fI\%ChristianBeer\fP) What\(aqs the precedence if multiple master configurations are specified? (refs: \fI\%#48888\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48888\fP: (\fI\%terminalmage\fP) Explictly document the configuration override priority +@ \fI2018\-08\-02 16:57:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ec8e07e8ce Merge pull request \fI\%#48888\fP from terminalmage/issue37512 +.IP \(bu 2 +7dce7cde14 Explictly document the configuration override priority +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48871\fP: (\fI\%dwoz\fP) Remove unicode key pairs from environ after test +@ \fI2018\-08\-01 22:33:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d4bb3a0963 Merge pull request \fI\%#48871\fP from dwoz/test_cleanup +.IP \(bu 2 +f2e15e7f1d Do not re\-define tearDown +.IP \(bu 2 +4f8a191a69 Remove unicode key pairs from environ after test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48843\fP: (\fI\%isbm\fP) Prevent u\(aqsomething\(aq to appear in help info. +@ \fI2018\-08\-01 20:38:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bec79e83a3 Merge pull request \fI\%#48843\fP from isbm/isbm\-log\-level\-names\-fix\-2 +.IP \(bu 2 +a63686180d Merge branch \(aq2018.3\(aq into isbm\-log\-level\-names\-fix\-2 +.IP \(bu 2 +783c96ac72 Prevent u\(aqsomething\(aq to appear in help info. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48855\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-08\-01 17:44:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a8376b537a Merge pull request \fI\%#48855\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +44998c208e Lint: Fix undefined logger variable +.IP \(bu 2 +92c9317a25 Update old utils paths to use new paths +.IP \(bu 2 +15bfba7143 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +05f2d65de3 Merge pull request \fI\%#48853\fP from rallytime/bp\-48850 +.INDENT 2.0 +.IP \(bu 2 +3c33ee554a Skip tests in integration.shell.test_master +.UNINDENT +.IP \(bu 2 +8a1285239a Merge pull request \fI\%#48426\fP from garethgreenaway/46689_fixing_pkg_held_when_package_is_installed +.INDENT 2.0 +.IP \(bu 2 +9b0f5dd212 Fixing identation, removing some unnecessary conditionals. +.IP \(bu 2 +727964ab55 One last cleanup. +.IP \(bu 2 +11cb86e6eb General cleanup in pkg state, reducing duplicate code. Fixing the requires_salt_modules decorator, sys.doc was returning too much information for the event to handle. This change specifically calls sys.doc with the module name. +.IP \(bu 2 +16fb6ae635 Make sure pkg.hold and pkg.unhold are available before running the test. +.IP \(bu 2 +998651102d Fixing a situation when a package is already installed via salt or manually and a state attempts to set that package to be held. Previously the holding/unholding logic was only being run against packages that were being installed. This change moves the holding logic outside and runs it against all desired packages. Adding a new test to test holding logic. +.UNINDENT +.IP \(bu 2 +c8e69431ff Merge pull request \fI\%#47734\fP from OrlandoArcapix/Issue47689\-pip\-state\-performance +.INDENT 2.0 +.IP \(bu 2 +662bd1f780 Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +66936b4f41 Changed string comparison in pip test to match new confirmation string \- ref PR \fI\%#47734\fP\&. +.IP \(bu 2 +bb5939d6ef Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +d6a49ae41c Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +d4083fc9d1 Merge branch \(aqIssue47689\-pip\-state\-performance\(aq of github.com:OrlandoArcapix/salt into Issue47689\-pip\-state\-performance +.INDENT 2.0 +.IP \(bu 2 +779b5fa785 Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.UNINDENT +.IP \(bu 2 +f3653349ab Removed whitespaces at end of added comments lines +.IP \(bu 2 +db11f2ff4b Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +eac0178de2 Ref: \fI\%#47689\fP \- document additional kwarg passed to pip._check_if_installed function +.IP \(bu 2 +0d19803106 Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +d3678bf2f3 \fI\%#47689\fP fix lint errors +.IP \(bu 2 +4fec8f6bcc \fI\%#47698\fP improve run\-speed of pip package state checks by only loading the current package list once when checking multiple packages +.UNINDENT +.IP \(bu 2 +83a5b3cc47 Merge pull request \fI\%#48844\fP from AVeenstra/fix\-python3\-incompatibility +.INDENT 2.0 +.IP \(bu 2 +f238779a62 Merge branch \(aq2017.7\(aq into fix\-python3\-incompatibility +.IP \(bu 2 +6b1805afc6 Fixed Python 3 incompatibility in methods in nilrt_ip and debian_ip. +.UNINDENT +.IP \(bu 2 +136ff6735a Merge pull request \fI\%#48662\fP from slaws/fix\-retention\-schedule\-48637 +.INDENT 2.0 +.IP \(bu 2 +3c8f5f5b3d pylint fix +.IP \(bu 2 +5539eff39e Excluding relative dirs in state.file.retention_schedule +.UNINDENT +.IP \(bu 2 +1fc04f281b Merge pull request \fI\%#48840\fP from gtmanfred/docs +.INDENT 2.0 +.IP \(bu 2 +8d2d268c4a fix links in pkg doc. +.UNINDENT +.IP \(bu 2 +0a19f845ea Merge pull request \fI\%#48834\fP from gtmanfred/slsutil +.INDENT 2.0 +.IP \(bu 2 +f9441d2bef read output of stringio if it is readable +.UNINDENT +.IP \(bu 2 +2e00939a6e Merge pull request \fI\%#48788\fP from Ch3LL/timezone_windows +.INDENT 2.0 +.IP \(bu 2 +de95a6a215 add unused import to timezone test file +.IP \(bu 2 +22e424859e add unused import to import +.IP \(bu 2 +0840fc3117 disable pylint import error +.IP \(bu 2 +f09d1a2c7e Add timzeon windows integration tests and fix get_zone +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48659\fP: (\fI\%dstoliker\fP) file.grep with glob (*) in path produces file not found error (refs: \fI\%#48830\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48830\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixes to file.grep +@ \fI2018\-07\-31 21:30:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e23ba01cd2 Merge pull request \fI\%#48830\fP from garethgreenaway/48659_file_grep_glob_fix +.IP \(bu 2 +0791b0a03c FileGrepTestCase tests back to 2018.3 +.IP \(bu 2 +2e01c55e7e Fixing a bug that prevents specifying wildcards for filenames. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48814\fP: (\fI\%isbm\fP) dmidecode race conditions check +@ \fI2018\-07\-31 20:48:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9fda70b3d0 Merge pull request \fI\%#48814\fP from isbm/isbm\-2018.3\-smbios\-bugfix +.IP \(bu 2 +5f1141dc05 Merge branch \(aq2018.3\(aq into isbm\-2018.3\-smbios\-bugfix +.IP \(bu 2 +b00ee5feef Update clean clause +.IP \(bu 2 +b1b2e9c222 Remove multiple returns and combine logic to just one clause +.IP \(bu 2 +fd77f760ee Rephrase explanatory comment +.IP \(bu 2 +1031e06443 Remove unnecessary code +.IP \(bu 2 +c379b7e4ed Get rid of global variable +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48804\fP: (\fI\%Ch3LL\fP) Use brew path from which cmd in mac_brew module +@ \fI2018\-07\-31 20:24:33 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3d16a63ff2 Merge pull request \fI\%#48804\fP from Ch3LL/mac_brew +.IP \(bu 2 +e818c752b3 Merge branch \(aq2018.3\(aq into mac_brew +.IP \(bu 2 +41e3d17f29 Use brew path from which cmd in mac_brew module +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48836\fP: (\fI\%dwoz\fP) Fix unicode directory listing on py2 +@ \fI2018\-07\-31 20:22:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +950c1014aa Merge pull request \fI\%#48836\fP from dwoz/unicode_names_py2 +.IP \(bu 2 +47e158b9f0 Optomize if statement +.IP \(bu 2 +9b462394b2 Fix unicode directory listing on py2 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48847\fP: (\fI\%terminalmage\fP) Update file.blockreplace docs to reflect changed functionality +@ \fI2018\-07\-31 18:11:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +baf8c5784a Merge pull request \fI\%#48847\fP from terminalmage/issue48695 +.IP \(bu 2 +e2bdf7fb92 Update file.blockreplace docs to reflect changed functionality +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48587\fP: (\fI\%twangboy\fP) Fix lgpo issue on Py3 +@ \fI2018\-07\-31 18:05:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +644a1f4ff8 Merge pull request \fI\%#48587\fP from twangboy/fix_lgpo +.IP \(bu 2 +a42621c817 Write file in normal mode +.IP \(bu 2 +bfcbdeca3b Fix lgpo issue on Py3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48796\fP: (\fI\%Ch3LL\fP) Remove fake su used in integration tests +@ \fI2018\-07\-31 17:08:54 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2bacc23481 Merge pull request \fI\%#48796\fP from Ch3LL/remove_su +.IP \(bu 2 +d3b7f2cb18 Remove fake su used in integration tests +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#38310\fP: (\fI\%ghost\fP) Unable to checkout external pillar git repo using its git tag (refs: \fI\%#48689\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48689\fP: (\fI\%linoplt\fP) Fix ext_pillar remote checkout using tag (pygit2) +@ \fI2018\-07\-31 16:15:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +00d06bda76 Merge pull request \fI\%#48689\fP from linoplt/fix_38310_pygit2_checkout_ext_pillar_remote_using_tag +.IP \(bu 2 +eb4361dcc2 Merge branch \(aq2018.3\(aq into fix_38310_pygit2_checkout_ext_pillar_remote_using_tag +.IP \(bu 2 +c20977e3bc Merge branch \(aq2018.3\(aq into fix_38310_pygit2_checkout_ext_pillar_remote_using_tag +.IP \(bu 2 +b0157c215b Fix ext_pillar remote checkout using tag (pygit2) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48838\fP: (\fI\%sizgiyaev\fP) Fixed: added additional return code 200 for succeeded vault api request +@ \fI2018\-07\-31 16:14:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5e14e36195 Merge pull request \fI\%#48838\fP from sizgiyaev/fix\-vault\-policy\-state +.IP \(bu 2 +02d09c6281 Fixed: added additional return code 200 for succeeded api request +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48714\fP: (\fI\%dwoz\fP) Always transfer bytes from fileserver roots +@ \fI2018\-07\-30 22:37:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +69f81214d1 Merge pull request \fI\%#48714\fP from dwoz/state_echo_fix +.IP \(bu 2 +ce3ed43dab Always use unix line endings +.IP \(bu 2 +d5e60090bc Merge pull request \fI\%#2\fP from terminalmage/state_echo_fix +.INDENT 2.0 +.IP \(bu 2 +52fc1c955d Simplify file contents in roots fileserver test +.IP \(bu 2 +b6f73e8e57 Remove trailing whitespace on what should be a blank line +.UNINDENT +.IP \(bu 2 +95329acb1e Fileserver transfers bytes +.IP \(bu 2 +aa34a80997 Always trasfer bytes from fileserver roots +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48822\fP: (\fI\%Ch3LL\fP) Fix salt\-ssh state.sls_id TypeError key must be a string +@ \fI2018\-07\-30 20:29:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +16ca4ec2eb Merge pull request \fI\%#48822\fP from Ch3LL/ssh_2018_id +.IP \(bu 2 +01f6a15da0 Fix salt\-ssh state.sls_id TypeError key must be a string +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47999\fP: (\fI\%arthurlogilab\fP) Carbon returner failing when run through scheduler on log.trace (refs: \fI\%#48757\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48791\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48757\fP to 2018.3 +@ \fI2018\-07\-27 21:30:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48757\fP: (\fI\%kuetrzi\fP) Update carbon_return.py (refs: \fI\%#48791\fP) +.IP \(bu 2 +488f6716d4 Merge pull request \fI\%#48791\fP from rallytime/bp\-48757 +.IP \(bu 2 +f440ebe91f Update carbon_return.py +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48799\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-27 21:30:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +fae29f4257 Merge pull request \fI\%#48799\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +487458ad4b Update old utils paths to use new utils paths +.IP \(bu 2 +436510796f Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +8e61f3dce0 Merge pull request \fI\%#48742\fP from frogunder/45014 +.INDENT 2.0 +.IP \(bu 2 +f08058b043 Merge branch \(aq45014\(aq of \fI\%https://github.com/frogunder/salt\fP into 45014 +.INDENT 2.0 +.IP \(bu 2 +757fde70c6 Merge branch \(aq2017.7\(aq into 45014 +.UNINDENT +.IP \(bu 2 +33c20c1ec0 fix tests +.IP \(bu 2 +a7a914060d add windows integration tests for states.file +.UNINDENT +.IP \(bu 2 +d74f47b340 Merge pull request \fI\%#48795\fP from rallytime/fix\-48417 +.INDENT 2.0 +.IP \(bu 2 +5123b17ffd Update linting docs to contain .testing.pylintrc use +.UNINDENT +.IP \(bu 2 +bbea9ae936 Merge pull request \fI\%#48789\fP from rallytime/bp\-48783 +.INDENT 2.0 +.IP \(bu 2 +682a05bebe Threshold was wrong +.IP \(bu 2 +d4ca0e3a97 test: except for OSError only +.IP \(bu 2 +4547231909 Only run lint checks against changed files +.UNINDENT +.IP \(bu 2 +41464d4b39 Merge pull request \fI\%#48731\fP from zer0def/virt\-runner\-init\-args +.INDENT 2.0 +.IP \(bu 2 +a1fa081ad0 Documentation to missing parameters in virt.init runner. +.IP \(bu 2 +365ebdf539 Fixed \fIenable_vnc\fP runner arg being passed into \fIseed_cmd\fP module arg in \fIvirt.init\fP\&. +.UNINDENT +.IP \(bu 2 +169afea16a Merge pull request \fI\%#48749\fP from Ch3LL/logo_docs +.INDENT 2.0 +.IP \(bu 2 +73b1fc29f0 Update Saltstack Logo banner on docs.saltstack.com +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48020\fP: (\fI\%calvinhp\fP) mine.get not returning data in a state.orchestrate sls (refs: \fI\%#48765\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48765\fP: (\fI\%FedericoCeratto\fP) [2018.3] Fix mine.get not returning data +@ \fI2018\-07\-27 18:01:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bd67d2a805 Merge pull request \fI\%#48765\fP from FedericoCeratto/fix_mine.get_not_returning_data +.IP \(bu 2 +7183a6e0e8 Workaround for \fI\%#48020\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48747\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-26 18:14:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6978ce5d1d Merge pull request \fI\%#48747\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +4122da40b5 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +781c6a6c36 Merge pull request \fI\%#48743\fP from rallytime/saltconf\-ad\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +6df8fd8652 Update DOCBANNER with new SaltConf18 image +.UNINDENT +.IP \(bu 2 +ce4e22224e Merge pull request \fI\%#48720\fP from Ch3LL/mac_file_path +.INDENT 2.0 +.IP \(bu 2 +01d25fae19 Fix test_managed_source_hash_indifferent_case on macosx to correct tmp path +.UNINDENT +.IP \(bu 2 +4b9f037d43 Merge pull request \fI\%#48719\fP from Ch3LL/service_mac_state +.INDENT 2.0 +.IP \(bu 2 +f44a2fc349 Enable service if disabled before running state service tests +.UNINDENT +.IP \(bu 2 +b2431eab10 Merge pull request \fI\%#48715\fP from rallytime/flaky\-tests +.INDENT 2.0 +.IP \(bu 2 +7332cce567 [2017.7] Mark some tornado tests as flaky +.UNINDENT +.IP \(bu 2 +801eae3b8d Merge pull request \fI\%#48672\fP from frogunder/45012 +.INDENT 2.0 +.IP \(bu 2 +0747f2e58a add service enabled test +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48676\fP: (\fI\%djneades\fP) salt\-ssh should not target wrong minion from roster file as a result of reverse\-DNS lookups (refs: \fI\%#48771\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48771\fP: (\fI\%gtmanfred\fP) only do reverse dns lookup on ips for salt\-ssh +@ \fI2018\-07\-26 15:41:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5ea43817ab Merge pull request \fI\%#48771\fP from gtmanfred/2018.3 +.IP \(bu 2 +535fb8f8e7 only do reverse dns lookup on ips for salt\-ssh +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48752\fP: (\fI\%garethgreenaway\fP) [2018.3] Fix when state file is integers +@ \fI2018\-07\-25 15:03:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f2ef2d3ef6 Merge pull request \fI\%#48752\fP from garethgreenaway/fix_state_file_all_integers +.IP \(bu 2 +790801c67e Fixing a case where the state module would fail if the state file being passed was all integers. Added a new tests for this edge case. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46896\fP: (\fI\%Poil\fP) Proxy + file.managed => Comment: Failed to cache xxx invalid arguments to setopt (refs: \fI\%#48754\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48754\fP: (\fI\%lomeroe\fP) send proxy/ca_cert parameters as strings (not unicode) to tornado httpclient +@ \fI2018\-07\-25 14:55:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +030c921914 Merge pull request \fI\%#48754\fP from lomeroe/fix\-tornado\-proxy +.IP \(bu 2 +d33056704b pass proxy_user, proxy_password, proxy_host, and ca_certs through salt.utils.stringutils.to_str() +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48769\fP: (\fI\%Ch3LL\fP) Update Saltstack Logo banner on docs.saltstack.com +@ \fI2018\-07\-25 14:47:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1eee4b136b Merge pull request \fI\%#48769\fP from Ch3LL/update_doc_2018.3 +.IP \(bu 2 +0cb4bac798 Update Saltstack Logo banner on docs.saltstack.com +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48760\fP: (\fI\%dwoz\fP) Multiple windows test fixes +@ \fI2018\-07\-25 11:55:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +19afa3b023 Merge pull request \fI\%#48760\fP from dwoz/test_file_fixes +.IP \(bu 2 +a89019e956 Multiple windows test fixes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48753\fP: (\fI\%dwoz\fP) Finally fix prepend for real +@ \fI2018\-07\-25 00:07:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e6dace3959 Merge pull request \fI\%#48753\fP from dwoz/fix_prepend +.IP \(bu 2 +0d1e8ab3f8 Merge branch \(aq2018.3\(aq into fix_prepend +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48756\fP: (\fI\%dwoz\fP) os.uname is not available on py2 windows +@ \fI2018\-07\-24 23:38:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8aef6d9960 Merge pull request \fI\%#48756\fP from dwoz/core_grains_fix +.IP \(bu 2 +b7a37ecf11 os.uname is not available on py2 windows +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48536\fP: (\fI\%whytewolf\fP) diskusage beacon does not recognize tmpfs disks in linux. (refs: \fI\%#48718\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48718\fP: (\fI\%garethgreenaway\fP) [2018.3] beacon diskusage fixes +@ \fI2018\-07\-24 17:45:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +062fe7cccf Merge pull request \fI\%#48718\fP from garethgreenaway/48536_beacon_diskusage_fixes +.IP \(bu 2 +38a65e8fb3 Fixing test_diskusage_nomatch and test_diskusage_match_regex +.IP \(bu 2 +6ecca166ff Updating psutil.disk_partitions to pull in all mounts not just the physical ones. Check to see if the mount point from the configuration ends with a $ (regular expression end of line) if not we add one in to ensure that a simple / does not end up matching all mount points. Updating tests accordingly. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48711\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-24 17:38:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e873621009 Merge pull request \fI\%#48711\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +ea5c063237 Update old utils paths to use new paths +.IP \(bu 2 +e740d3b208 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +689c231d2b Merge pull request \fI\%#48691\fP from Ch3LL/win_repo_pkg_test +.INDENT 2.0 +.IP \(bu 2 +4b7d6d80c5 Remove unnecessary jinja in curl.sls file +.IP \(bu 2 +2bedadfadb Add windows pkg module integration tests +.UNINDENT +.IP \(bu 2 +83e4bba916 Merge pull request \fI\%#48635\fP from nbraud/acme +.INDENT 2.0 +.IP \(bu 2 +3673bae9de modules/acme: explicitely ignore the \fIperms\fP return value +.IP \(bu 2 +1800a231e8 Fixup some schema expectations +.IP \(bu 2 +8c718cb417 acme: Make the private key mode configurable +.IP \(bu 2 +917dea6761 modules/acme: Use file.check_perms ret\-morphing powers +.IP \(bu 2 +d2241ceb2d module/acme: Do not exit early when the certificate already exists +.IP \(bu 2 +98af0db826 modules/acme: Set the private key filemode to 0640 +.UNINDENT +.IP \(bu 2 +85991680c8 Merge pull request \fI\%#48345\fP from twangboy/fix_48169 +.INDENT 2.0 +.IP \(bu 2 +ead19725b6 Merge branch \(aq2017.7\(aq into fix_48169 +.IP \(bu 2 +653fbcb383 Fix some docs errata +.IP \(bu 2 +8898e5ff11 Add warn_until Fluorine +.IP \(bu 2 +707906ac15 Fix unit.state.test_powercfg +.IP \(bu 2 +32c5014eb6 Fix unit tests +.IP \(bu 2 +0d9c56e540 Add some more logging +.IP \(bu 2 +b20453de9f Use minutes to set +.IP \(bu 2 +7dc7eb11c2 Fix documentation to denote seconds when setting +.UNINDENT +.IP \(bu 2 +96447ce541 Merge pull request \fI\%#48656\fP from Ch3LL/windows_ip_mod +.INDENT 2.0 +.IP \(bu 2 +90c3f568b1 Add windows ip module integration tests +.UNINDENT +.IP \(bu 2 +0c5fff3dc8 Merge pull request \fI\%#48638\fP from twangboy/fix_vcredist +.INDENT 2.0 +.IP \(bu 2 +e30d17099d Use goto instead of if statement +.IP \(bu 2 +e1042fa084 Remove vcredist for Py3 +.UNINDENT +.IP \(bu 2 +1ebd96d909 Merge pull request \fI\%#48664\fP from Ch3LL/srv_disable_mac +.INDENT 2.0 +.IP \(bu 2 +f1fbfad387 move the disable call up in try block +.IP \(bu 2 +f60d21bda4 reverse assertion order for service disable test +.IP \(bu 2 +3727d1b3b9 switch try/except to match 2018.3 +.IP \(bu 2 +fb953c2369 [2017.7] Fix service.disabled test for macosx +.UNINDENT +.IP \(bu 2 +3da3cf2f3f Merge pull request \fI\%#48625\fP from Ch3LL/ssh_state +.INDENT 2.0 +.IP \(bu 2 +f590eb2b02 Update state.py +.IP \(bu 2 +9790ee3d0d Follow up to PR \fI\%#48555\fP +.UNINDENT +.IP \(bu 2 +33812f78f1 Merge pull request \fI\%#48673\fP from Ch3LL/mac_port +.INDENT 2.0 +.IP \(bu 2 +87dd85a220 Use different pub and ret ports for testprogram integration tests +.UNINDENT +.IP \(bu 2 +5f6a7c4d89 Merge pull request \fI\%#48675\fP from Ch3LL/mac_disable +.INDENT 2.0 +.IP \(bu 2 +c78efab828 Fix mac service.disable tests +.UNINDENT +.IP \(bu 2 +93d2f51d2b Merge pull request \fI\%#48658\fP from wyardley/wyardley\-npm\-json\-output\-2017 +.INDENT 2.0 +.IP \(bu 2 +7ff3c9c5ff Improve handling of npm json output (\fI\%#43138\fP) +.UNINDENT +.IP \(bu 2 +3e293b0513 Merge pull request \fI\%#48678\fP from OrlandoArcapix/fix\-npm\-dryrun\-test +.INDENT 2.0 +.IP \(bu 2 +851a404f6b Fix for issue \fI\%#48677\fP \- return True when no changes are to be made with npm.bootstrap with test=true +.UNINDENT +.IP \(bu 2 +07a1f6520f Merge pull request \fI\%#48580\fP from rallytime/fix\-46884 +.INDENT 2.0 +.IP \(bu 2 +736b382e91 Don\(aqt error on retcode 0 in libcrypto.OPENSSL_init_crypto call +.UNINDENT +.IP \(bu 2 +9874429741 Merge pull request \fI\%#48628\fP from terminalmage/testinfra +.INDENT 2.0 +.IP \(bu 2 +5ace9f01ec Fix NameError in testinfra module +.UNINDENT +.IP \(bu 2 +0d4c80205f Merge pull request \fI\%#48651\fP from gtmanfred/pylint\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +b6ee52f859 handle pyzmq for python3.4 +.UNINDENT +.IP \(bu 2 +160ae29cf2 Merge pull request \fI\%#48647\fP from gtmanfred/pylint\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +ff818c4ca2 disable checks on pylint +.UNINDENT +.IP \(bu 2 +47b1032efa Merge pull request \fI\%#48593\fP from pritambaral/fix/2017.7\-importlib\-pyc\-loading\-order +.INDENT 2.0 +.IP \(bu 2 +add7894dee loader: Fix suffix order when importlib is used +.UNINDENT +.IP \(bu 2 +9da7b2ec8d Merge pull request \fI\%#48630\fP from dubb\-b/pipeline\-updates +.INDENT 2.0 +.IP \(bu 2 +8594a8dd05 Adding PY_COLORS=1 as PY_COLORS = 1 instead +.IP \(bu 2 +314b0e3599 Adding PY_COLORS=1 for python programs to use ANSI Colors +.IP \(bu 2 +b705e8f7a5 Adding correct spacing to options section +.IP \(bu 2 +9d8a7e07db Adding options to Jenkins pipline builds +.UNINDENT +.IP \(bu 2 +a8ae2adf64 Merge pull request \fI\%#48633\fP from saltstack/revert\-48610\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +bab4a769d4 Revert "only run pylint on files that change" +.UNINDENT +.IP \(bu 2 +6e32bb7f74 Merge pull request \fI\%#48614\fP from rallytime/bp\-48562 +.INDENT 2.0 +.IP \(bu 2 +cb654bbf2c Add timeouts to all s3 queries +.UNINDENT +.IP \(bu 2 +1b6e6388f8 Merge pull request \fI\%#48588\fP from garethgreenaway/48415_event_send_multi_master +.INDENT 2.0 +.IP \(bu 2 +fab25af1a9 Adding some quick documention about why we are setting ret=True following the channel.send. +.IP \(bu 2 +bf78f4b188 If the channel send is sucessful and does not raise an exception, we set ret to True, in case a previous exception from a previous channel send to another master has sent it to False. +.IP \(bu 2 +8d1551c5fb When using Salt multi\-master, if we encouter a salt master that has not accepted the minion key yet we should not exit right away, rather continue on and try the next salt master available in the list. +.UNINDENT +.IP \(bu 2 +24ffda49ba Merge pull request \fI\%#48610\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +779d1a3dcb only run pylint on files that change +.UNINDENT +.IP \(bu 2 +5391dd0a8d Merge pull request \fI\%#48584\fP from Ch3LL/mac_user_grp +.INDENT 2.0 +.IP \(bu 2 +585ee9db90 Fix grp import for mac in test_user integration test +.UNINDENT +.IP \(bu 2 +61572b6780 Merge pull request \fI\%#48555\fP from Ch3LL/ssh_id +.INDENT 2.0 +.IP \(bu 2 +f69932f506 fix pylint +.IP \(bu 2 +70e36764ee Add more tests for salt\-ssh state.sls_id +.IP \(bu 2 +dab80e805c Fix state.sls_id to run on ssh minion and not master +.UNINDENT +.IP \(bu 2 +aa6dcf39e8 Merge pull request \fI\%#48583\fP from Ch3LL/mac_flaky_tests +.INDENT 2.0 +.IP \(bu 2 +4ba2299a87 import flaky decorator on mac tests +.IP \(bu 2 +811220b41e Add flaky decorator to mac_system and mac_timezone tests +.UNINDENT +.IP \(bu 2 +6973152057 Merge pull request \fI\%#48534\fP from xetix/fix\-zypper\-latest_version +.INDENT 2.0 +.IP \(bu 2 +9985f0b4c1 Lint: remove extra blank line +.IP \(bu 2 +5fbead8a36 Merge branch \(aq2017.7\(aq into fix\-zypper\-latest_version +.IP \(bu 2 +56ac449271 Merge branch \(aqfix\-zypper\-latest_version\(aq of \fI\%https://github.com/xetix/salt\fP into fix\-zypper\-latest_version +.INDENT 2.0 +.IP \(bu 2 +44e87f5a0f Adding testcase for this fix. +.IP \(bu 2 +b354c6863c Fix behaviour of function latest_version in zypper module when multiple packages are passed to function. Function now properly return dict with empty string as version if latest packages is already installed, and multiple packages are passed to function +.UNINDENT +.IP \(bu 2 +db35d0c1e1 Adding testcase for this fix. +.IP \(bu 2 +d2513757ed Fix behaviour of function latest_version in zypper module when multiple packages are passed to function. Function now properly return dict with empty string as version if latest packages is already installed, and multiple packages are passed to function +.UNINDENT +.IP \(bu 2 +10124034cb Merge pull request \fI\%#48582\fP from dwoz/test_prepend_fix +.INDENT 2.0 +.IP \(bu 2 +f37571e0bd Merge branch \(aq2017.7\(aq into test_prepend_fix +.UNINDENT +.IP \(bu 2 +13f67335f3 Merge pull request \fI\%#48564\fP from dwoz/test_prepend_fix +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +136ddf5f54 Finally fix prepend for real +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 2.0 +.IP \(bu 2 +66b25e65bf Fix failing prepend test +.UNINDENT +.IP \(bu 2 +b8ce27729f Merge pull request \fI\%#48558\fP from dwoz/test_file_fix +.INDENT 2.0 +.IP \(bu 2 +c858bf477f Remove which mock to get the test passing +.UNINDENT +.IP \(bu 2 +a15c65202d Merge pull request \fI\%#48552\fP from KaiSforza/jenkins\-junit\-2017 +.INDENT 2.0 +.IP \(bu 2 +72b1830974 Set up junit in jenkins +.UNINDENT +.IP \(bu 2 +f73108026e Merge pull request \fI\%#48550\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +d5c603d9b6 add posargs to tox pylint +.UNINDENT +.IP \(bu 2 +113b0426f8 Merge pull request \fI\%#48535\fP from asnell/asnell\-patch\-2 +.INDENT 2.0 +.IP \(bu 2 +d328f6e43d Update manage_file helptext +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48744\fP: (\fI\%rallytime\fP) [2018.3] Update DOCBANNER with new SaltConf18 image +@ \fI2018\-07\-24 17:15:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6c7f1c549d Merge pull request \fI\%#48744\fP from rallytime/saltconf\-ad\-2018.3 +.IP \(bu 2 +dbc1f8b772 Update DOCBANNER with new SaltConf18 image +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48726\fP: (\fI\%dwoz\fP) Skip test when syslog not available +@ \fI2018\-07\-24 16:12:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +04ab17a4d6 Merge pull request \fI\%#48726\fP from dwoz/syslogtest +.IP \(bu 2 +00f04cfd59 Skip test when syslog not available +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48727\fP: (\fI\%dwoz\fP) Windows compatible cp test +@ \fI2018\-07\-24 14:41:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +af837424aa Merge pull request \fI\%#48727\fP from dwoz/file_cp_test_fix +.IP \(bu 2 +6e7824266b Windows compatible cp test +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#40004\fP: (\fI\%te\-af\-github\fP) svn changes report (refs: \fI\%#47510\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#21025\fP: (\fI\%RobertFach\fP) svn.export reports invalid change data (2014.7.x) (refs: \fI\%#47510\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48710\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47510\fP to 2018.3 +@ \fI2018\-07\-23 21:11:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47510\fP: (\fI\%daa\fP) Fix svn export invalid changes data (refs: \fI\%#48710\fP) +.IP \(bu 2 +04125b077d Merge pull request \fI\%#48710\fP from rallytime/bp\-47510 +.IP \(bu 2 +ebcd3b1c6b fixed test for svn.export +.IP \(bu 2 +e79f4aa5cc put name under "new" key in changes dictionary to be in line with svn.latest +.IP \(bu 2 +163f99089c made svn.export changes data dictionary, fixes \fI\%#21025\fP, \fI\%#40004\fP +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +3a941055c1 Use \fIsalt.utils.platform.is_windows\fP +.IP \(bu 2 +33e48f7ad7 Finally fix prepend for real +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48699\fP: (\fI\%terminalmage\fP) Add missing release notes mention of file.blockreplace changes +@ \fI2018\-07\-23 13:34:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e1dd10be70 Merge pull request \fI\%#48699\fP from terminalmage/issue48695 +.IP \(bu 2 +7ad832c901 Add missing release notes mention of file.blockreplace changes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48700\fP: (\fI\%dwoz\fP) Call sync_modules to fix Windows test case +@ \fI2018\-07\-22 22:23:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ab44a05fe4 Merge pull request \fI\%#48700\fP from dwoz/ext_mod_test +.IP \(bu 2 +d731e6bf8e Call sync_all to fix Windows test case +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48653\fP: (\fI\%terminalmage\fP) docker_container.running: Fix regression in test mode +@ \fI2018\-07\-20 19:15:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6a494205f2 Merge pull request \fI\%#48653\fP from terminalmage/docker\-unboundlocal +.IP \(bu 2 +b0440871a0 Merge branch \(aq2018.3\(aq into docker\-unboundlocal +.IP \(bu 2 +9515dd17ff docker_container.running: Fix regression in test mode +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47059\fP: (\fI\%OrlandoArcapix\fP) Some states incorrectly return None instead of an empty dict when there are no changes (refs: \fI\%#48685\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#46985\fP: (\fI\%OrlandoArcapix\fP) grafana4_user.present and grafana4_org.present states not working in 2018.3.0 (refs: \fI\%#48685\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48685\fP: (\fI\%bbinet\fP) Use empty dict for \(aqchanges\(aq instead of None +@ \fI2018\-07\-20 17:12:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48671\fP: (\fI\%bbinet\fP) Few fixes to the grafana module and states (refs: \fI\%#48685\fP) +.IP \(bu 2 +266c6f250e Merge pull request \fI\%#48685\fP from bbinet/none\-changes +.IP \(bu 2 +842eb3da24 Use empty dict for \(aqchanges\(aq instead of None +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48670\fP: (\fI\%bbinet\fP) Add the "traverse" jinja filter +@ \fI2018\-07\-20 16:36:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5a6f7a085c Merge pull request \fI\%#48670\fP from bbinet/traverse +.IP \(bu 2 +32b6d22cf2 Fix RST syntax issue in doc +.IP \(bu 2 +37a41226d5 Add the "traverse" jinja filter +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48594\fP: (\fI\%pritambaral\fP) Backport 48418 +@ \fI2018\-07\-20 14:57:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48418\fP: (\fI\%pritambaral\fP) Fix multi\-sls \fIsalt.state\fP orchestration in masterless systems (refs: \fI\%#48594\fP) +.IP \(bu 2 +ff11763fd3 Merge pull request \fI\%#48594\fP from pritambaral/bp\-48418 +.IP \(bu 2 +adcee28b84 Fix multi\-sls \fIsalt.state\fP orchestration in masterless systems +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48184\fP: (\fI\%mmulqueen\fP) Invalid DMI prevents salt\-minion from running (refs: \fI\%#48440\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48440\fP: (\fI\%mmulqueen\fP) Make core.py tolerant of invalid chars in DMI data +@ \fI2018\-07\-20 14:48:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48216\fP: (\fI\%Ch3LL\fP) Fix UnicodeDecodeError when reading file to determine virtual grain (refs: \fI\%#48440\fP) +.IP \(bu 2 +111908f519 Merge pull request \fI\%#48440\fP from mmulqueen/patch\-1 +.IP \(bu 2 +5bbbdc74cd Make core.py tolerant of invalid chars in DMI data +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48663\fP: (\fI\%Ch3LL\fP) [2018.3] Fix service.disabled test for macosx +@ \fI2018\-07\-20 14:32:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4e77b242f2 Merge pull request \fI\%#48663\fP from Ch3LL/srv_disable_mac_2018 +.IP \(bu 2 +bddfbd75d2 reverse assertion order for service disable test +.IP \(bu 2 +2bfaf7fe89 Fix service.disabled test for macosx +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48304\fP: (\fI\%Ch3LL\fP) Fix macosx grains when swapusage returns comma +@ \fI2018\-07\-20 14:30:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +dfc1582475 Merge pull request \fI\%#48304\fP from Ch3LL/swap_mac +.IP \(bu 2 +5d6135e1e2 Fix macosx grains when swapusage returns comma +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48671\fP: (\fI\%bbinet\fP) Few fixes to the grafana module and states (refs: \fI\%#48685\fP) +@ \fI2018\-07\-20 13:58:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9d7eabd24e Merge pull request \fI\%#48671\fP from bbinet/grafana\-fixes +.IP \(bu 2 +3c5083f550 Add support for dry run (test=True) of grafana states +.IP \(bu 2 +7e7ae8ace7 influxdb: fix conflicts in function arg names with client_args +.IP \(bu 2 +73a24b774a Ignore readOnly option when diffing +.IP \(bu 2 +81f0cf8a3f Add missing profile argument to grafana4.get_user_data +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48650\fP: (\fI\%gtmanfred\fP) [2018.3] handle pyzmq for python3.4 +@ \fI2018\-07\-18 17:34:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e828167114 Merge pull request \fI\%#48650\fP from gtmanfred/pylint\-2018.3 +.IP \(bu 2 +3c1882077e handle pyzmq for python3.4 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48648\fP: (\fI\%gtmanfred\fP) [2018.3] disable checks on pylint +@ \fI2018\-07\-18 16:21:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a6f8acf4dc Merge pull request \fI\%#48648\fP from gtmanfred/pylint\-2018.3 +.IP \(bu 2 +7c34c2965e disable checks on pylint +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48634\fP: (\fI\%dwoz\fP) Sync modules for state tests +@ \fI2018\-07\-17 20:33:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +01c9c59a97 Merge pull request \fI\%#48634\fP from dwoz/state\-module\-test\-fix +.IP \(bu 2 +9dfd2ae392 Sync modules for state tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48585\fP: (\fI\%astorath\fP) replaced meta tag +@ \fI2018\-07\-16 14:11:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +fb7bfc757c Merge pull request \fI\%#48585\fP from astorath/fix\-vault\-meta +.IP \(bu 2 +42fd3d5f67 replaced meta tag +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48579\fP: (\fI\%Ch3LL\fP) Fix python2 syslog returner expecting string bytes not unicode +@ \fI2018\-07\-13 19:50:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4b16537a29 Merge pull request \fI\%#48579\fP from Ch3LL/fix_syslog +.IP \(bu 2 +d8288a0ffc add unicode type for syslog test for tag +.IP \(bu 2 +17e69382d5 Fix python2 syslog returner expecting string bytes not unicode +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48542\fP: (\fI\%calvinhp\fP) Missing state git.cloned is listed in the docs as new for 2018.3.2 (refs: \fI\%#48547\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48547\fP: (\fI\%gtmanfred\fP) fix git.cloned doc versionadded +@ \fI2018\-07\-13 18:46:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3549ce408d Merge pull request \fI\%#48547\fP from gtmanfred/git.cloned +.IP \(bu 2 +b596a945ea Merge branch \(aq2018.3\(aq into git.cloned +.IP \(bu 2 +e41f4922a0 fix git.cloned doc versionadded +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48110\fP: (\fI\%whytewolf\fP) file.line on windows not treating unix line endings correctly. (refs: \fI\%#48503\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48503\fP: (\fI\%rallytime\fP) Back\-port \fI\%#46291\fP to 2018.3 +@ \fI2018\-07\-13 17:14:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48380\fP: (\fI\%twangboy\fP) Detect and preserve line endings (refs: \fI\%#48503\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#46291\fP: (\fI\%t0fik\fP) Line mixed line ends (refs: \fI\%#48503\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#45498\fP: (\fI\%t0fik\fP) Added support for mixed line ending in file (refs: \fI\%#46291\fP) +.IP \(bu 2 +ee257a1f91 Merge pull request \fI\%#48503\fP from rallytime/bp\-46291 +.IP \(bu 2 +8bc71688ea Remove /sr.* pattern from test +.IP \(bu 2 +5e2e2a63fa Update file unit tests to handle "writelines" change +.IP \(bu 2 +5d38aa8b33 Update file.line to use \fIwritelines\fP instead of joining +.IP \(bu 2 +d0b6e82ecb Add \(aqname\(aq as the passed in filepath for test_line_insert_ensure_before_first_line test +.IP \(bu 2 +d8920cb61f Update \fItest_line_insert_ensure_before_first_line\fP to use new mock_open methodologies +.IP \(bu 2 +475f075d8e Handle list of lines instead of strings in file.line func +.IP \(bu 2 +b9ddd53b04 Added comments +.IP \(bu 2 +f3517a1852 List comprehension replaced +.IP \(bu 2 +adfa3aed0d Empty match on delete or replace not causing IndexError exception +.IP \(bu 2 +5169b1f7fd Comprehensions converting to unicode replaced by salt.utils.data.decode_list +.IP \(bu 2 +d3e8679e05 Removed regex compilation +.IP \(bu 2 +f29815b49b Fixed file permissions +.IP \(bu 2 +d2af81e9c7 Make integration green. Added test for mode ensure insert before first line +.IP \(bu 2 +9b7df671a5 file.line function refactored +.IP \(bu 2 +3af551ebe1 /sr.* pattern should raise exception +.IP \(bu 2 +935a9b9d56 test_line_insert_end fixed +.IP \(bu 2 +7d6e3ad2e2 Make tests green +.IP \(bu 2 +75a7e368a6 Setting end of line +.IP \(bu 2 +489e381100 Added _set_line_eol and _get_eol functions +.IP \(bu 2 +aacbb8c0e2 line function refactored to work on list +.IP \(bu 2 +de668166f9 _regex_to_static refactored to work on lists +.IP \(bu 2 +464eef6fe1 _get_line_indent renamed to _set_line_indent +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48507\fP: (\fI\%emersonveenstra\fP) mysql_grants.present escape option incorrectly reports failure (refs: \fI\%#48561\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48561\fP: (\fI\%garethgreenaway\fP) [2018.3] fixes to grants in mysql module +@ \fI2018\-07\-13 14:24:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2d923f2943 Merge pull request \fI\%#48561\fP from garethgreenaway/48507_mysql_grants_incorrect_failure +.IP \(bu 2 +14c59da72c Following a successful grant application in the MySQL module, the new grant and the desired grant are mismatched because the new grant from Mysql included hashmarks. This change adds the replace which is included for other items such as database name and username. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48529\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-12 17:59:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5b5a930449 Merge pull request \fI\%#48529\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +f9b8c4b257 Use () when using with_tempfile decorator in tests +.IP \(bu 2 +d3190ca0c0 Update old utils paths to new utils paths +.IP \(bu 2 +29b05ffdd1 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +0c0c05c2bc Merge pull request \fI\%#48527\fP from saltstack/revert\-48525\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +18d06c1a93 Revert "add kazoo for testing zookeeper." +.UNINDENT +.IP \(bu 2 +05bad3e71c Merge pull request \fI\%#48526\fP from twangboy/rollback_certifi\-win32 +.INDENT 2.0 +.IP \(bu 2 +361b3cdc2f Rollback python\-certifi\-win32 +.UNINDENT +.IP \(bu 2 +db066effe4 Merge pull request \fI\%#48521\fP from Martin819/2017.7 +.INDENT 2.0 +.IP \(bu 2 +d5d01f6698 Fix for GlusterFS 4.0 and above +.UNINDENT +.IP \(bu 2 +ed0bd2bbec Merge pull request \fI\%#48525\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +d7a6bff2b2 add kazoo for testing zookeeper. +.UNINDENT +.IP \(bu 2 +ad5a959ab9 Merge pull request \fI\%#48388\fP from garethgreenaway/48277_2017_7_file_roots_wrong +.INDENT 2.0 +.IP \(bu 2 +6f11da35a7 Fixing a few things in the new test. +.IP \(bu 2 +cf747b14ec Fixing lint issue +.IP \(bu 2 +16d36c79c8 When pillar items are compiled a new render is instantiated but the file_roots is the pillar_roots. This change forces the __opts__[\(aqfile_roots\(aq] to be set to what is set in actual_file_roots for all renderers once compile_pillar has finished. Adding a test when this situation is run via a orchestration runner. +.UNINDENT +.IP \(bu 2 +38df812257 Merge pull request \fI\%#48512\fP from gtmanfred/npm +.INDENT 2.0 +.IP \(bu 2 +9ba0f6b3a0 pin pm and grunt packages for npm tests +.UNINDENT +.IP \(bu 2 +04ba31147f Merge pull request \fI\%#48513\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +a466a4880f Merge branch \(aq2017.7.7\(aq into \(aq2017.7\(aq +.INDENT 2.0 +.IP \(bu 2 +cfd21ed22c Merge pull request \fI\%#48172\fP from rallytime/2017.7.7\-release\-notes +.INDENT 2.0 +.IP \(bu 2 +a0ad794132 Update release notes for 2017.7.7 +.UNINDENT +.IP \(bu 2 +8af4452134 Merge pull request \fI\%#48157\fP from gtmanfred/2017.7.7 +.INDENT 2.0 +.IP \(bu 2 +d8209e8a40 always listen when gathering job info +.UNINDENT +.IP \(bu 2 +b98c52ee51 Merge pull request \fI\%#48140\fP from rallytime/man\-pages\-2017.7.7 +.INDENT 2.0 +.IP \(bu 2 +8893bf0d4c Update man pages for 2017.7.7 +.UNINDENT +.IP \(bu 2 +baa0363336 Merge pull request \fI\%#48136\fP from gtmanfred/2017.7.7 +.INDENT 2.0 +.IP \(bu 2 +fce1c31146 bootstrap kitchen branch tests with 2017.7.6 +.UNINDENT +.IP \(bu 2 +b0ba08f4d9 Merge pull request \fI\%#48134\fP from rallytime/release\-notes\-2017.7.7 +.INDENT 2.0 +.IP \(bu 2 +217005b8f1 Add missing \fIv\fP for tag reference +.IP \(bu 2 +d53569d1e3 Add release notes file for 2017.7.7 +.UNINDENT +.IP \(bu 2 +084de927fe Merge pull request \fI\%#48098\fP from rallytime/bp\-48075\-2017.7.7 +.INDENT 2.0 +.IP \(bu 2 +e4e62e8b3a Ensure that the shared list of jids is passed when creating the Minion. Fixes an issue when minions are pointed at multiple syndics. +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +f0352ea95a Merge pull request \fI\%#48514\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +739bf92599 upgrade dependencies for pytest tests +.UNINDENT +.IP \(bu 2 +5372b60137 Merge pull request \fI\%#48491\fP from grokrecursion/group\-fix\-v2 +.INDENT 2.0 +.IP \(bu 2 +1556b37221 fixed pylint errors +.IP \(bu 2 +f6d9177dab fixed indentation for pep8 +.IP \(bu 2 +b9556bf923 v2 try of gid converted to integer +.UNINDENT +.IP \(bu 2 +16d3daab3c Merge pull request \fI\%#48375\fP from Ch3LL/file_copy +.INDENT 2.0 +.IP \(bu 2 +d16a790775 Add mode to _makedirs call in file.copy +.IP \(bu 2 +2cbcb4fd26 Add user and group to makedirs cmd in file.copy +.UNINDENT +.IP \(bu 2 +d38951b1b3 Merge pull request \fI\%#48490\fP from KaiSforza/cifixes +.INDENT 2.0 +.IP \(bu 2 +9fe7199af5 Mark failed if anything is found +.IP \(bu 2 +6749a6bf19 Stop archiving the docs +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48553\fP: (\fI\%KaiSforza\fP) Set up junit in jenkins +@ \fI2018\-07\-12 16:24:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a95b8efd8a Merge pull request \fI\%#48553\fP from KaiSforza/jenkins\-junit\-2018 +.IP \(bu 2 +412ffcc956 Set up junit in jenkins +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48551\fP: (\fI\%gtmanfred\fP) add posargs to tox pylint +@ \fI2018\-07\-12 14:35:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c4aed02740 Merge pull request \fI\%#48551\fP from gtmanfred/2018.3 +.IP \(bu 2 +a6a286af28 add posargs to tox pylint +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48533\fP: (\fI\%terminalmage\fP) Fix UnicodeDecodeError in sh beacon +@ \fI2018\-07\-12 13:38:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +260da0d545 Merge pull request \fI\%#48533\fP from terminalmage/sh\-beacon +.IP \(bu 2 +7ac5ac06c9 Fix UnicodeDecodeError in sh beacon +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48519\fP: (\fI\%Lutseslav\fP) Mysql module alter_db quotation missing (refs: \fI\%#48520\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48520\fP: (\fI\%Lutseslav\fP) Add quotes to schema name in ALTER DATABASE. +@ \fI2018\-07\-11 19:15:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8761ac2589 Merge pull request \fI\%#48520\fP from Lutseslav/fix\-alter\-databases\-with\-special\-symbols +.IP \(bu 2 +d088b00ff2 Merge branch \(aq2018.3\(aq into fix\-alter\-databases\-with\-special\-symbols +.IP \(bu 2 +59629e9757 Merge branch \(aq2018.3\(aq into fix\-alter\-databases\-with\-special\-symbols +.IP \(bu 2 +da8336712e Add quotes to schema name in ALTER DATABASE. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48528\fP: (\fI\%gtmanfred\fP) add 2018.3 requirements for tox/pytest tests +@ \fI2018\-07\-11 18:13:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ad4f7efafd Merge pull request \fI\%#48528\fP from gtmanfred/2018.3 +.IP \(bu 2 +221559358a add 2018.3 requirements for tox/pytest tests +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48336\fP: (\fI\%JuanManuelVizcainoAbad\fP) file.directory (refs: \fI\%#48399\fP, \fI\%#48398\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48508\fP: (\fI\%rallytime\fP) [2018.3] Fix 2 bugs found in the file.check_perms function +@ \fI2018\-07\-11 15:03:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48399\fP: (\fI\%garethgreenaway\fP) [2017.7] fixes to module/file.py (refs: \fI\%#48508\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48398\fP: (\fI\%garethgreenaway\fP) [2018.3] fixes to module/file.py (refs: \fI\%#48508\fP) +.IP \(bu 2 +70e5fcb8a5 Merge pull request \fI\%#48508\fP from rallytime/fix\-file\-bug +.IP \(bu 2 +0747eb5476 Move comment string join and test/changes check to bottom of file.check_perms +.IP \(bu 2 +aefa1dbe21 Fix up bad merge \- remove extra section of "mode" changes +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48277\fP: (\fI\%dvenckus\fP) init.sls with included states fails with more than one, \(aqTemplate was specified incorrectly: False\(aq (refs: \fI\%#48388\fP, \fI\%#48389\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#46986\fP: (\fI\%github\-abcde\fP) opts file_roots gets overwritten with pillar_roots in orchestration run (refs: \fI\%#48388\fP, \fI\%#48389\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48389\fP: (\fI\%garethgreenaway\fP) [2018.3] reset file_roots for renderers after compile_pillar +@ \fI2018\-07\-11 13:13:33 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5a0b274bf1 Merge pull request \fI\%#48389\fP from garethgreenaway/48277_2018_3_file_roots_wrong +.IP \(bu 2 +4b492fa633 Removing unused start_time variable from test_orchestration_with_pillar_dot_items test. +.IP \(bu 2 +30c5855d20 Fixing a few things in the new test. +.IP \(bu 2 +36b7253418 Fixing lint issue +.IP \(bu 2 +ab6abfad31 When pillar items are compiled a new render is instantiated but the file_roots is the pillar_roots. This change forces the __opts__[\(aqfile_roots\(aq] to be set to what is set in actual_file_roots for all renderers once compile_pillar has finished. Adding a test when this situation is run via a orchestration runner. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48342\fP: (\fI\%jeffclay\fP) UnicodeDecodeError when using cache mysql (refs: \fI\%#48495\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48495\fP: (\fI\%garethgreenaway\fP) [2018.3] Fix to mysql cache module +@ \fI2018\-07\-10 12:54:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f9fd1a889a Merge pull request \fI\%#48495\fP from garethgreenaway/48342_mysql_cache_unicode +.IP \(bu 2 +0029f19033 Ensure the query_string is a bytestring, otherwise an attempt will be made to convert the msgpack data to unicode which will result in a UnicodeDecodeError error. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48487\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-09 18:38:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +fc3eeef6b3 Merge pull request \fI\%#48487\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +54341d1a8d Update old utils paths to use new utils paths +.IP \(bu 2 +68aabff0cf Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.IP \(bu 2 +22cd4206c4 Merge pull request \fI\%#48472\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +c7a3a7d8bd update jenkins tests to use tox for lint +.IP \(bu 2 +44aaac1d33 use tox to run pylint +.UNINDENT +.IP \(bu 2 +27ea8f35ea Merge pull request \fI\%#48476\fP from twangboy/fix_dependencies +.INDENT 2.0 +.IP \(bu 2 +b0087d425c Add license info +.IP \(bu 2 +935f9b560c Fix dependencies +.UNINDENT +.IP \(bu 2 +acf42864aa Merge pull request \fI\%#48399\fP from garethgreenaway/48336_2017_7_ensure_chmod_setuid_with_chown +.INDENT 2.0 +.IP \(bu 2 +8efd33320f Normalize the mode before we compare it. +.IP \(bu 2 +f894f0ecb8 Setting the mode with setuid or setgid bits in addition to setting the owner and group will force the setuid & setgid bits to reset. This change ensures that we set the mode after setting the owner & group. +.UNINDENT +.IP \(bu 2 +6166ff6b78 Merge pull request \fI\%#48471\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +392ab4e51f Add some configurations to tox +.UNINDENT +.IP \(bu 2 +6234d9b15d Merge pull request \fI\%#48433\fP from discogestalt/fix\-redis.hmset +.INDENT 2.0 +.IP \(bu 2 +65817ac74d Use clean_kwargs method instead +.IP \(bu 2 +f7fa7f57c6 Found another issue with redismod.hmset +.IP \(bu 2 +5624865f86 Fix issue with redismod.hmset method +.UNINDENT +.IP \(bu 2 +aacee0fe2c Merge pull request \fI\%#48428\fP from terminalmage/fix\-jobs.lookup_jid +.INDENT 2.0 +.IP \(bu 2 +6509aa9089 Fix outputter detection in jobs.lookup_jid runner +.UNINDENT +.IP \(bu 2 +a7e52f0de2 Merge pull request \fI\%#48429\fP from rallytime/bp\-46824 +.INDENT 2.0 +.IP \(bu 2 +8b4486248d Added ignore_retcode to mock unit tests +.IP \(bu 2 +f8beab71dd Regression to ignore retcodes on crontab calls +.UNINDENT +.IP \(bu 2 +4576ef20bc Merge pull request \fI\%#48432\fP from dwoz/file\-prepend\-again +.INDENT 2.0 +.IP \(bu 2 +349a2b279e Prepend test needs file.touch method +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48481\fP: (\fI\%terminalmage\fP) Improve the slack engine docs +@ \fI2018\-07\-09 13:41:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4d4d2eacce Merge pull request \fI\%#48481\fP from terminalmage/slack\-engine +.IP \(bu 2 +56e8a1eb93 Improve the slack engine docs +.IP \(bu 2 +dde9c0640d Add information on creating bot users +.IP \(bu 2 +513c6af975 Fix inaccurate docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48348\fP: (\fI\%dwoz\fP) Fix multiple git module tests +@ \fI2018\-07\-06 20:35:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +491b5b077c Merge pull request \fI\%#48348\fP from dwoz/test_git +.IP \(bu 2 +5ca5e060b3 Merge branch \(aq2018.3\(aq into test_git +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48454\fP: (\fI\%terminalmage\fP) Improve error message when ext_pillar is incorrectly formatted +@ \fI2018\-07\-06 18:03:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +dd6a6a97c5 Merge pull request \fI\%#48454\fP from terminalmage/issue48107 +.IP \(bu 2 +269dbab7f6 Improve error message when ext_pillar is incorrectly formatted +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48336\fP: (\fI\%JuanManuelVizcainoAbad\fP) file.directory (refs: \fI\%#48399\fP, \fI\%#48398\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48398\fP: (\fI\%garethgreenaway\fP) [2018.3] fixes to module/file.py (refs: \fI\%#48508\fP) +@ \fI2018\-07\-06 18:02:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a9dc758e73 Merge pull request \fI\%#48398\fP from garethgreenaway/48336_ensure_chmodd_setuid_with_chown +.IP \(bu 2 +2454652914 Normalize the mode before we compare it. +.IP \(bu 2 +08ad5665de Fixing test to ensure it works under py3 +.IP \(bu 2 +2b25d8c95b Setting the mode with setuid or setgid bits in addition to setting the owner and group will force the setuid & setgid bits to reset. This change ensures that we set the mode after setting the owner & group. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48431\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-05 17:23:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2baa7f189f Merge pull request \fI\%#48431\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +3e59dda0b1 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +422441505d Merge pull request \fI\%#48422\fP from rallytime/fix\-48230 +.INDENT 2.0 +.IP \(bu 2 +a6abf85621 Allow file.managed to work with uppercase source_hash in test=true mode +.IP \(bu 2 +4c691ac57a Add regression test for Issue \fI\%#48230\fP +.UNINDENT +.IP \(bu 2 +83e387c951 Merge pull request \fI\%#48410\fP from dwoz/service_dead_test_fix +.INDENT 2.0 +.IP \(bu 2 +5c0923448d Fix service dead test on windows +.UNINDENT +.IP \(bu 2 +d3ba345da5 Merge pull request \fI\%#48413\fP from twangboy/fix_47811 +.INDENT 2.0 +.IP \(bu 2 +c5aad04140 handle unc paths +.UNINDENT +.IP \(bu 2 +827ef2aac4 Merge pull request \fI\%#48416\fP from dwoz/service_integration_fix +.INDENT 2.0 +.IP \(bu 2 +c43f150dcd Fix service integration test (py3) +.UNINDENT +.IP \(bu 2 +10fe7d2b9b Merge pull request \fI\%#48385\fP from Ch3LL/1update_version_doc_2017.7 +.INDENT 2.0 +.IP \(bu 2 +3cf335b0b9 Update release versions for the 2017.7 branch +.UNINDENT +.IP \(bu 2 +f8a9a037e6 Merge pull request \fI\%#48405\fP from Ch3LL/rm_inprog_2017.7 +.INDENT 2.0 +.IP \(bu 2 +03ed5167fa [2017.7] Remove In Progress Warning on 2017.7.7 +.UNINDENT +.IP \(bu 2 +8ac867c168 Merge pull request \fI\%#48409\fP from dwoz/test_prepend_fix +.INDENT 2.0 +.IP \(bu 2 +9c7085b70f Fix file state prepend test +.UNINDENT +.IP \(bu 2 +10e93bff7f Merge pull request \fI\%#48396\fP from dwoz/symlink_test_fix +.INDENT 2.0 +.IP \(bu 2 +d3456d31e6 Fix file.symlink state test for windows +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48310\fP: (\fI\%mtorromeo\fP) Backport ini_manage fixes to 2018.3 +@ \fI2018\-07\-05 16:27:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +432cbbb5ee Merge pull request \fI\%#48310\fP from mtorromeo/ini\-manage\-backports +.IP \(bu 2 +88f80fdf77 Fixed pylint useless\-super\-delegation warning. +.IP \(bu 2 +e20f4cacd4 Uniformed reports between ini.options_absent and ini.options_present +.IP \(bu 2 +2c3ae0b6c9 pylint cosmetics. +.IP \(bu 2 +0c0d10d18f Fixes dry run false positive when option value is a number. +.IP \(bu 2 +70144bccbb Fixes dry run in ini_manage + Fixes related bug \- when working with options which are not in section. + Fixes related tests + Fixes pylint warnings +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48402\fP: (\fI\%elsmorian\fP) Running SaltStack master with no init system repeatedly logs "could not determine init system " (refs: \fI\%#48441\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48441\fP: (\fI\%terminalmage\fP) Switch init system log message to debug +@ \fI2018\-07\-05 14:43:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +84fd3d2784 Merge pull request \fI\%#48441\fP from terminalmage/issue48402 +.IP \(bu 2 +d758995763 Switch init system log message to debug +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48386\fP: (\fI\%Ch3LL\fP) Update release versions for the 2018.3 branch +@ \fI2018\-07\-03 13:37:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +871c9e3b98 Merge pull request \fI\%#48386\fP from Ch3LL/1update_version_doc_2018.3 +.IP \(bu 2 +84a1994110 Update release versions for the 2018.3 branch +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48404\fP: (\fI\%Ch3LL\fP) [2018.3] Remove In Progress Warning on 2017.7.7 +@ \fI2018\-07\-03 13:33:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ddb83ad4ce Merge pull request \fI\%#48404\fP from Ch3LL/rm_inprog_2018.3 +.IP \(bu 2 +ef288f2a74 [2018.3] Remove In Progress Warning on 2017.7.7 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48339\fP: (\fI\%terminalmage\fP) Backport tojson filter from \fI\%#48309\fP to 2018.3 +@ \fI2018\-07\-02 17:52:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48309\fP: (\fI\%terminalmage\fP) Drop support for Python 2 unicode string literals in YAML renderer (refs: \fI\%#48339\fP) +.IP \(bu 2 +5b38019ca0 Merge pull request \fI\%#48339\fP from terminalmage/backport\-tojson\-filter +.IP \(bu 2 +4433bec891 Add release notes for tojson jinja filter +.IP \(bu 2 +ac36998801 Tweak docs to reflect backported filter +.IP \(bu 2 +c636b18cf0 Add unit test for tojson filter +.IP \(bu 2 +e34e39f0e2 Document filter deprecation +.IP \(bu 2 +b9a4f288b2 Deprecate json_encode_dict and json_encode_list jinja filters +.IP \(bu 2 +3896e3468c Use upstream tojson filter, if present +.IP \(bu 2 +1499c6abcf Implement tojson jinja filter for those using Jinja < 2.9 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48274\fP: (\fI\%ipmb\fP) s3.get signature failure with + in the object name (refs: \fI\%#48328\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48328\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixes to utils/s3.py +@ \fI2018\-07\-02 13:22:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +222c1d65db Merge pull request \fI\%#48328\fP from garethgreenaway/48274_s3_get_signature_fail +.IP \(bu 2 +22cafc8334 fixing lint issue +.IP \(bu 2 +131486203e Need to pass the URL path through quote to ensure any special characters are being quoted properly. if we include local_file for a PUT, read the file into data before passing it along to requests.requests. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48358\fP: (\fI\%Ch3LL\fP) Fix corrupt public key with m2crypto python3 +@ \fI2018\-07\-02 13:10:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d3c658bdcf Merge pull request \fI\%#48358\fP from Ch3LL/m2crypto_fix +.IP \(bu 2 +8fdd34d430 m2crypto open file in rb mode for pub key +.IP \(bu 2 +a964db4663 Fix corrupt public key with m2crypto python3 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48367\fP: (\fI\%asenci\fP) salt.proxy.fx2: dictionary changed size during iteration (refs: \fI\%#48368\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#46765\fP: (\fI\%roskens\fP) pkg.mod_repo fails with a python error when removing a dictionary key (refs: \fI\%#46776\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48384\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48368\fP to 2018.3 +@ \fI2018\-07\-01 04:19:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48368\fP: (\fI\%asenci\fP) Fix issue \fI\%#48367\fP using the same approach as PR \fI\%#46776\fP (refs: \fI\%#48384\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#46776\fP: (\fI\%gtmanfred\fP) fix shrinking list in for loop bug (refs: \fI\%#48368\fP) +.IP \(bu 2 +2fd63d66dc Merge pull request \fI\%#48384\fP from rallytime/bp\-48368 +.IP \(bu 2 +430c462f34 Fix issue \fI\%#48367\fP using the same approach as PR \fI\%#46776\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48394\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-07\-01 04:13:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3b53e2d206 Merge pull request \fI\%#48394\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +047f5b5f39 Update old utils paths to new utils paths +.IP \(bu 2 +c4fd2a0930 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.IP \(bu 2 +7e25f26837 Merge pull request \fI\%#48362\fP from twangboy/fix_48276 +.INDENT 2.0 +.IP \(bu 2 +77629f640a Fix module unit tests +.IP \(bu 2 +b5ca560b73 Fix lint error +.IP \(bu 2 +210e280ecf Use explicit parameter names +.IP \(bu 2 +776db98a5c Handle missing registry entries +.UNINDENT +.IP \(bu 2 +80222b6b7c Merge pull request \fI\%#48383\fP from rallytime/bp\-48379 +.INDENT 2.0 +.IP \(bu 2 +9fc7815594 Clean up the workspaces at the end for every job +.UNINDENT +.IP \(bu 2 +aa68aa774a Merge pull request \fI\%#48382\fP from rallytime/bp\-48346 +.INDENT 2.0 +.IP \(bu 2 +6a70ba222e Use the right ssh key to destroy kitchen +.UNINDENT +.IP \(bu 2 +9519f640e7 Merge pull request \fI\%#48381\fP from rallytime/bp\-48330 +.INDENT 2.0 +.IP \(bu 2 +6857bedcc2 Add warnings plugin to replace violations +.UNINDENT +.IP \(bu 2 +14db0aa35d Merge pull request \fI\%#48363\fP from dubb\-b/2017.7 +.INDENT 2.0 +.IP \(bu 2 +c0b962e28d Changing debug to info for logging +.UNINDENT +.IP \(bu 2 +5b29cd326f Merge pull request \fI\%#48352\fP from Ch3LL/wheel_doc +.INDENT 2.0 +.IP \(bu 2 +89ada68165 Add missing key to accept_dict function in wheel docs +.UNINDENT +.IP \(bu 2 +02cf19ee3b Merge pull request \fI\%#48329\fP from rallytime/codeowners\-roster\-files +.INDENT 2.0 +.IP \(bu 2 +5e56615e00 Trigger review requests for team\-ssh for roster files +.UNINDENT +.IP \(bu 2 +53cf1794be Merge pull request \fI\%#48349\fP from ralex/fix\-manjaro\-service\-behaviour +.INDENT 2.0 +.IP \(bu 2 +6cafce547e Disable the \fIservice\fP module on Manjaro since it is using systemd +.UNINDENT +.IP \(bu 2 +89dfcf3a4e Merge pull request \fI\%#48324\fP from Ch3LL/update_version_doc_2017.7 +.INDENT 2.0 +.IP \(bu 2 +47845ba810 Update release versions for the 2017.7 branch +.UNINDENT +.IP \(bu 2 +ece4c30aac Merge pull request \fI\%#48331\fP from rallytime/bp\-48215 +.INDENT 2.0 +.IP \(bu 2 +9d6ba3e247 Set jobs to pending when they come in +.IP \(bu 2 +727d2b4ffe Use proper creds with githubNotify +.IP \(bu 2 +d355861c5c Test using different credentials +.UNINDENT +.IP \(bu 2 +ab05e00d8c Merge pull request \fI\%#48332\fP from rallytime/bp\-48321 +.INDENT 2.0 +.IP \(bu 2 +d72af6ab4e Jenkins needs the / to get the directory +.UNINDENT +.IP \(bu 2 +21ed5b97ce Merge pull request \fI\%#48295\fP from rallytime/bp\-48193 +.INDENT 2.0 +.IP \(bu 2 +352fe33fd6 Separate set_result() to a new line apart from Future() call +.IP \(bu 2 +c0180ff33d Properly configure syndic in test case +.IP \(bu 2 +d0a98534a9 Properly wait on returns in saltnado +.UNINDENT +.IP \(bu 2 +9aa4687ab9 Merge pull request \fI\%#48117\fP from twangboy/fix_48026 +.INDENT 2.0 +.IP \(bu 2 +dd37f8fbc2 Disable services that are set to manual +.UNINDENT +.IP \(bu 2 +caf630487c Merge pull request \fI\%#48207\fP from rallytime/bp\-48189 +.INDENT 2.0 +.IP \(bu 2 +e9d09e0375 Use old is_windows utils path on 2017.7 +.IP \(bu 2 +b965d6c9b3 If pip binary is passed to bin_env, use that pip binary +.UNINDENT +.IP \(bu 2 +06a927b2aa Merge pull request \fI\%#48293\fP from rallytime/bp\-47453 +.INDENT 2.0 +.IP \(bu 2 +e96ab6778e dont reset system locale when running rabbitmqctl commands +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#45939\fP: (\fI\%andygabby\fP) user.present with hash_password: True detects change on every state.apply/highstate (refs: \fI\%#47147\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47147\fP: (\fI\%eliasp\fP) states.user.present: Make usage of \fIhash_password\fP idempotent +@ \fI2018\-06\-30 13:29:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9b364e25cf Merge pull request \fI\%#47147\fP from eliasp/2018.3\-issue\-45939\-shadow\-hash\-salt +.IP \(bu 2 +dd3be1d76e Add warning log message when using MD5 for hashing shadow passwords +.IP \(bu 2 +5451ab6b7a states.user.present: Make usage of \fIhash_password\fP idempotent +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48297\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-06\-30 12:57:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +89857ea8b9 Merge pull request \fI\%#48297\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +9498618418 Use \fIsaltenv\fP opts instead of \fIenvironment\fP +.IP \(bu 2 +1c8bd35f28 Update old utils paths to use new utils paths +.IP \(bu 2 +c7bb8a50b0 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +95ef006e00 Merge pull request \fI\%#48219\fP from zer0def/lxc\-bootstrap\-fixes +.INDENT 2.0 +.IP \(bu 2 +c77058560b Merge branch \(aq2017.7\(aq into lxc\-bootstrap\-fixes +.IP \(bu 2 +d63cf3f072 Fixes another case of legacy configuration key usage warning getting in the way of changing container\(aqs state. +.UNINDENT +.IP \(bu 2 +3327181507 Merge pull request \fI\%#48234\fP from dwoz/thin_dir +.INDENT 2.0 +.IP \(bu 2 +70c603451b Fix py2 thin dir issues +.UNINDENT +.IP \(bu 2 +83d7d286c4 Merge pull request \fI\%#48080\fP from lusche/2017.7 +.INDENT 2.0 +.IP \(bu 2 +917dc985fc \fI\%#47984\fP remove the line completly +.IP \(bu 2 +ba12ee947b Merge branch \(aq2017.7\(aq of \fI\%https://github.com/saltstack/salt\fP into 2017.7 +.IP \(bu 2 +dfb13d5051 Bugfix \fI\%#47984\fP messed up cert serial +.UNINDENT +.IP \(bu 2 +bccb4dcd46 Merge pull request \fI\%#48232\fP from gtmanfred/cloud +.INDENT 2.0 +.IP \(bu 2 +d108112e1a do not expand kwargs for cloud.action +.UNINDENT +.IP \(bu 2 +056f43f663 Merge pull request \fI\%#48238\fP from mirceaulinic/fix\-sdb\-cache +.INDENT 2.0 +.IP \(bu 2 +51e5fbfa1d SDB cache module: AttributeError: \(aqCache\(aq object has no attribute \(aqset\(aq +.UNINDENT +.IP \(bu 2 +731ec0a11a Merge pull request \fI\%#48037\fP from terminalmage/fix\-custom\-types\-sync\-docs +.INDENT 2.0 +.IP \(bu 2 +052ae83c4b Update versionchanged +.IP \(bu 2 +8b1bd0eda2 Update test to reflect changed argument name +.IP \(bu 2 +5e75936198 Change 2018.3.2 to 2018.3.3 +.IP \(bu 2 +c53ad603fc Rename sync \-> sync_mods per review suggestion +.IP \(bu 2 +e4d67c5fd8 Update docs to include references to new "sync" argument +.IP \(bu 2 +cb8e6f9fb8 Remove redundant mocking +.IP \(bu 2 +bc3ad795e9 Add test for sync argument to state.sls +.IP \(bu 2 +f81ccd1fdd Add sync option to state.apply/state.sls +.IP \(bu 2 +8289b07e24 Fix documentation on when custom types are synced +.UNINDENT +.IP \(bu 2 +0bae927048 Merge pull request \fI\%#48249\fP from rallytime/2017.7.7\-release\-notes\-update +.INDENT 2.0 +.IP \(bu 2 +36032c8ee7 Update release notes for 2017.7.7 +.UNINDENT +.IP \(bu 2 +8e06471817 Merge pull request \fI\%#48242\fP from asnell/asnell\-patch\-1 +.INDENT 2.0 +.IP \(bu 2 +f66bf60073 Add sample list data via command line pillar +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48364\fP: (\fI\%dubb\-b\fP) Changing debug to info for logging +@ \fI2018\-06\-28 20:48:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c5746deb5f Merge pull request \fI\%#48364\fP from dubb\-b/2018.3 +.IP \(bu 2 +d8260b6628 Changing debug to info for logging +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48354\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2018.3.2 to 2018.3 +@ \fI2018\-06\-28 20:26:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0202493b60 Merge pull request \fI\%#48354\fP from rallytime/merge\-2018.3.2\-to\-2018.3 +.IP \(bu 2 +fface7cc74 Merge branch \(aq2018.3.2\(aq into \(aq2018.3\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48347\fP: (\fI\%dwoz\fP) Fixes fileserver maintenance process on Windows +@ \fI2018\-06\-28 13:17:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bbabbbf76b Merge pull request \fI\%#48347\fP from dwoz/sigfix +.IP \(bu 2 +ccdff5029f Remove unneeded attribute +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +e8362adf71 fopen does not support encoding +.IP \(bu 2 +487161ba8f Fix file encoding on windows +.IP \(bu 2 +fc760685ee Fix multiple git module tests +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47975\fP: (\fI\%terminalmage\fP) Add a new git.cloned state +@ \fI2018\-06\-27 20:53:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +67303d7901 Merge pull request \fI\%#47975\fP from terminalmage/issue47937 +.IP \(bu 2 +34b24bb7fa Merge branch \(aq2018.3\(aq into issue47937 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48323\fP: (\fI\%Ch3LL\fP) Update release versions for the 2018.3 branch +@ \fI2018\-06\-27 13:44:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5b8d55428e Merge pull request \fI\%#48323\fP from Ch3LL/update_version_doc_2018.3 +.IP \(bu 2 +b4548aca56 Update release versions for the 2018.3 branch +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48326\fP: (\fI\%Ch3LL\fP) Remove In Progress Warning for 2018.3.2 Release +@ \fI2018\-06\-27 13:43:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7cf403e313 Merge pull request \fI\%#48326\fP from Ch3LL/rn_remove_in_prog +.IP \(bu 2 +dfce1ad5ed Remove In Progress Warning for 2018.3.2 Release +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48301\fP: (\fI\%terminalmage\fP) Fix typos in new mock_open docs +@ \fI2018\-06\-25 19:08:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +60ffad5126 Merge pull request \fI\%#48301\fP from terminalmage/docs +.IP \(bu 2 +6c33345f05 Fix typos in new mock_open docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48292\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48288\fP to 2018.3 +@ \fI2018\-06\-25 19:07:11 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48288\fP: (\fI\%rmarchei\fP) fix lsattr.get in file.check_perms (refs: \fI\%#48292\fP) +.IP \(bu 2 +4760f87153 Merge pull request \fI\%#48292\fP from rallytime/bp\-48288 +.IP \(bu 2 +d6620573bb fix lsattr.get in file.check_perms +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48296\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48258\fP to 2018.3 +@ \fI2018\-06\-25 19:04:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48258\fP: (\fI\%nullify005\fP) preserve tuples for ldap modification operations (refs: \fI\%#48296\fP) +.IP \(bu 2 +27207fc510 Merge pull request \fI\%#48296\fP from rallytime/bp\-48258 +.IP \(bu 2 +8b7f36f264 preserve tuples for ldap modification operations +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48204\fP: (\fI\%zerthimon\fP) State mysql_user.present Exception with mysql 8.0.11 (refs: \fI\%#48275\fP, \fI\%#48228\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48275\fP: (\fI\%garethgreenaway\fP) [2018.3] Follow up fix to MySQL user for password management +@ \fI2018\-06\-25 13:23:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d5265da945 Merge pull request \fI\%#48275\fP from garethgreenaway/mysql_fix_followup +.IP \(bu 2 +bb024b9115 Removing unnecessary code. +.IP \(bu 2 +8b542e1745 With MySQL versions 8.0.11 and beyond, since the PASSWORD function has been removed we need to hash the password string before comparing when checking if the user exists. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48286\fP: (\fI\%terminalmage\fP) Don\(aqt load the grains again when printing them via salt\-call \-g +@ \fI2018\-06\-25 13:19:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1f306525a7 Merge pull request \fI\%#48286\fP from terminalmage/caller\-print_grains +.IP \(bu 2 +caa62c051f Don\(aqt load the grains again when printing them via salt\-call \-g +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48279\fP: (\fI\%terminalmage\fP) Add documentation/further enhancements to rewritten mock_open +@ \fI2018\-06\-25 13:12:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +27a0e95174 Merge pull request \fI\%#48279\fP from terminalmage/mock_open\-docs +.IP \(bu 2 +65c575ae9c Fix spelling error +.IP \(bu 2 +830a624ce8 Ignore IOError when tearing down filehandles not opened for reading +.IP \(bu 2 +3b6356f4b0 Raise TypeError when trying to read from filehandles not opened for reading +.IP \(bu 2 +09aae0c82b Add more examples and information on strict string types +.IP \(bu 2 +8c069d105d Add some mock_open docs +.IP \(bu 2 +a13d1fe1a0 Update mock_open usage to reflect read_data type enforcement +.IP \(bu 2 +374a8ce31f Add more mock_open tests +.IP \(bu 2 +0f06adb008 Improve code\-reuse in mock_open tests +.IP \(bu 2 +0e8c83bac6 2 MockFH enhancements: +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48141\fP: (\fI\%zerthimon\fP) salt\-api request causes exception (refs: \fI\%#48236\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48236\fP: (\fI\%garethgreenaway\fP) [2018.3] Fix to cmd_batch +@ \fI2018\-06\-25 12:58:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6ee856631b Merge pull request \fI\%#48236\fP from garethgreenaway/48141_salt_api_local_batch +.IP \(bu 2 +aea4f7ae14 Fixing test_local_batch +.IP \(bu 2 +ce3e1eaf2c Removing sort. +.IP \(bu 2 +83accf3b20 Fixing test_local_batch +.IP \(bu 2 +ff14b99752 Fixing a typo in the comment. +.IP \(bu 2 +85cef126e0 Adding note about why salt.utils.versions is being re\-imported. Adding a test for local_batch. +.IP \(bu 2 +808805fd3d Fixing cmd_batch to work correctly when called via salt\-api. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48204\fP: (\fI\%zerthimon\fP) State mysql_user.present Exception with mysql 8.0.11 (refs: \fI\%#48275\fP, \fI\%#48228\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48228\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixes to mysql module +@ \fI2018\-06\-22 15:44:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +09b036c26e Merge pull request \fI\%#48228\fP from garethgreenaway/48204_mysql_user_password_exception +.IP \(bu 2 +1b2ffcef1d Updating the mysql module to not use the PASSWORD when MySQL is version 8.0.11 or higher, where the PASSWORD function has been removed. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48252\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-06\-22 15:13:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +67cb5563ef Merge pull request \fI\%#48252\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +84ec655c24 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +a172f9de84 Merge pull request \fI\%#48226\fP from terminalmage/fix\-alias\-docstring +.INDENT 2.0 +.IP \(bu 2 +fb237272f5 Don\(aqt display "None" in SaltInvocationError when Salt installed using \-OO +.IP \(bu 2 +90c90f5d5c Fix docstring construction in alias_function when Salt installed using \-OO +.UNINDENT +.IP \(bu 2 +c6a0207cae Merge pull request \fI\%#48227\fP from Ch3LL/fix_win_tests +.INDENT 2.0 +.IP \(bu 2 +236773e3e9 Skip new sha256 files on repo.saltstack.com/windows +.UNINDENT +.IP \(bu 2 +6929423528 Merge pull request \fI\%#48131\fP from bowmanjd\-lms/fix\-apk\-python3 +.INDENT 2.0 +.IP \(bu 2 +f5d2835299 Merge branch \(aq2017.7\(aq into fix\-apk\-python3 +.IP \(bu 2 +022f9cba50 Fix py3\-incompatible dict.keys()[x] call in apk.py +.UNINDENT +.IP \(bu 2 +868c17377f Merge pull request \fI\%#48185\fP from DSRCorporation/bugs/47901_future_done_exception +.INDENT 2.0 +.IP \(bu 2 +5f63316311 Merge branch \(aq2017.7\(aq into bugs/47901_future_done_exception +.IP \(bu 2 +9f2dbf94cb Don\(aqt call .exception() on future unless it\(aqs done. +.UNINDENT +.IP \(bu 2 +80a3e37c2e Merge pull request \fI\%#48192\fP from twangboy/fix_pip_version_2017.7 +.INDENT 2.0 +.IP \(bu 2 +59ae2cc5fc Use \-\-disable\-pip\-version\-check for build_env_#.ps1 +.UNINDENT +.IP \(bu 2 +12e2b8882a Merge pull request \fI\%#48201\fP from zer0def/lxc\-bootstrap\-fixes +.INDENT 2.0 +.IP \(bu 2 +6f6d3d40d4 Take lxcpath into account when bootstrapping new containers. Version comparison fixes. +.UNINDENT +.IP \(bu 2 +e079fce38d Merge pull request \fI\%#48190\fP from terminalmage/fix\-vfstab\-test +.INDENT 2.0 +.IP \(bu 2 +8d70d14362 Fix mount.vfstab unit test +.UNINDENT +.IP \(bu 2 +c8b9cec986 Merge pull request \fI\%#48115\fP from KaiSforza/pr\-lint\-2017 +.INDENT 2.0 +.IP \(bu 2 +494727ab39 Add docs, kitchen tests +.IP \(bu 2 +317023bb20 Move .jenkins to .ci for future +.IP \(bu 2 +dedc313cee Make it parallel so we don\(aqt fail right away +.IP \(bu 2 +cd13426726 Add a .jenkins file to run pylint +.UNINDENT +.IP \(bu 2 +fc1752b721 Merge pull request \fI\%#48174\fP from terminalmage/docker\-update\-mine +.INDENT 2.0 +.IP \(bu 2 +9af09e0127 Mock config.get due to changes in _refresh_mine_cache +.IP \(bu 2 +c5802ad465 Fix the version number in versionadded +.IP \(bu 2 +d403ae58d7 Add unit test for docker.update_mine +.IP \(bu 2 +44c275698a Actually it\(aqs more than just add/remove that updates the mine +.IP \(bu 2 +0cb6996b07 Add release notes mention of docker.update_mine config option +.IP \(bu 2 +de05097b20 Add docs for new config option +.IP \(bu 2 +04c55a9178 Add note in mine.get_docker docstring about new config item +.IP \(bu 2 +4e456255c0 Allow mine update to be disabled using new config option +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48029\fP: (\fI\%vinian\fP) syndic failed to auth when restart salt\-master on syndic master (refs: \fI\%#48034\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48034\fP: (\fI\%vinian\fP) restart salt\-syndic when salt\-master restart +@ \fI2018\-06\-21 20:12:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9f0bd90c5b Merge pull request \fI\%#48034\fP from vinian/restart\-salt\-syndic\-when\-salt\-master\-retart +.IP \(bu 2 +f7652d8c8b restart salt\-syndic when salt\-master restart +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48250\fP: (\fI\%rallytime\fP) Update release notes for 2018.3.2 +@ \fI2018\-06\-21 18:30:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ab2ba942ad Merge pull request \fI\%#48250\fP from rallytime/2018.3.2\-release\-notes\-update +.IP \(bu 2 +19c104b6cd Update release notes for 2018.3.2 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48166\fP: (\fI\%terminalmage\fP) Add trace logging and optimize file handling in grains.core.os_data +@ \fI2018\-06\-21 18:02:33 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +51928ff050 Merge pull request \fI\%#48166\fP from terminalmage/salt\-jenkins\-1000 +.IP \(bu 2 +b73df0ab00 Change call_args to call.args to reflect changes to MockFH +.IP \(bu 2 +0c2cc07704 remove unused import +.IP \(bu 2 +b8c0a55cf3 Add test for tell() +.IP \(bu 2 +1cbe89feee Implement tell() for filehandle iteration +.IP \(bu 2 +efb8f49d42 Add tests for read_data being a list, and containing unicode or bytestrings +.IP \(bu 2 +38df912fa6 Operate on a copy of the read_data +.IP \(bu 2 +71eeae1240 Update mount module unit tests to reflect changes in mock_open +.IP \(bu 2 +16c414e120 Update nfs3 module tests to reflect changes in mock_open +.IP \(bu 2 +b7eab25d6c Update grub_legacy module tests to reflect changes in mock_open +.IP \(bu 2 +cc002b8fd7 Update new network unit test to reflect changes in mock_open +.IP \(bu 2 +a8f11594f1 Update new core grains tests to reflect changes in mock_open +.IP \(bu 2 +84ce18d956 Update crypt unit tests to reflect changes in mock_open +.IP \(bu 2 +67c036dc2d Add MockCall to tests.support.mock to track calls +.IP \(bu 2 +2556a1e13d Remove unused import +.IP \(bu 2 +fd9d700157 Add additional docs to MockOpen class +.IP \(bu 2 +6acb4c83ec Update newly added test to reflect renaming of handles attribute +.IP \(bu 2 +77e5288d42 Update fibre_channel grains tests to reflect changes in mock_open +.IP \(bu 2 +ed40371a06 Update timezone module tests to reflect changes in mock_open +.IP \(bu 2 +fc0aa9934f Track call_count in MockOpen +.IP \(bu 2 +2598d2453a Update snapper module tests to reflect changes in mock_open +.IP \(bu 2 +51b3faa7b4 Add support for passing multiple strings for a given match in read_data +.IP \(bu 2 +55487c175c Fix mock_open call to use new multifile syntax +.IP \(bu 2 +7f516ef73a Update puppet module tests to reflect changes in mock_open +.IP \(bu 2 +33a97c4ecc Update btmp beacon tests to reflect changes in mock_open +.IP \(bu 2 +bc027cfa94 Update wtmp beacon tests to reflect changes in mock_open +.IP \(bu 2 +f5823252bb Track call args/kwargs in MockFH +.IP \(bu 2 +335591ca90 Mock the seek function in MockFH +.IP \(bu 2 +7eb4b1ae1c Update cp.push test to reflect changes to mock_open +.IP \(bu 2 +2be19cfa89 Report correct location when reading using explicit size and EOF reached +.IP \(bu 2 +5ec95ba5ca On second thought, actually implement tell() +.IP \(bu 2 +19022eb9e5 Add tell mock to MockFH +.IP \(bu 2 +4b5a393445 Update junos tests to reflect changes to mock_open +.IP \(bu 2 +278a222b09 Update dnsutil tests to reflect changes to mock_open +.IP \(bu 2 +4e67955572 Replace the rest of mock_open with a class +.IP \(bu 2 +75307a47c5 Update linux_sysctl tests to reflect changes to mock_open +.IP \(bu 2 +05c68fd5d9 Use explicit config file and fix remaining mac_sysctl tests +.IP \(bu 2 +836fde9a30 Allow Python 2 to accept an exception as read_data +.IP \(bu 2 +543385fd02 Add writelines_calls property +.IP \(bu 2 +42fa842456 Make read funcs mocks so their calls can be tracked +.IP \(bu 2 +675f03c58f Update mac_sysctl tests to reflect new mock_open behavior +.IP \(bu 2 +3d2c41d395 Update file module tests to reflect new mock_open behavior +.IP \(bu 2 +b9200dbc3e add a dict containing the handles to the mock_open return object +.IP \(bu 2 +852ba4b982 Add mocked close() function to MockFH +.IP \(bu 2 +f6b46bc608 Remove unused import +.IP \(bu 2 +20f60a769b Add blank lines to appease linter +.IP \(bu 2 +48d7cfa6d3 Add multifile tests for mock_open +.IP \(bu 2 +1861e9b944 mock_open: rewrite multi\-file support +.IP \(bu 2 +5e6b539770 Use function for empty string +.IP \(bu 2 +cb2620ad2b Update core grains tests to reflect EAFP changes +.IP \(bu 2 +5d09b178d7 Separate mocked file contents per filename, not glob +.IP \(bu 2 +875102f538 Modify mock_open to support multiple file paths +.IP \(bu 2 +096ace74df Move lsb_release parsing into its own function +.IP \(bu 2 +6a0828beed Add unit tests for mock_open +.IP \(bu 2 +8ba6cadac7 More mock_open bugfixes +.IP \(bu 2 +329dea218e Add a bunch of logging for linux os_data core grains +.IP \(bu 2 +2c64b270df Add timestamp to the minion\(aqs log_fmt_console +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48216\fP: (\fI\%Ch3LL\fP) Fix UnicodeDecodeError when reading file to determine virtual grain (refs: \fI\%#48440\fP) +@ \fI2018\-06\-20 16:53:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6072d1ef9c Merge pull request \fI\%#48216\fP from Ch3LL/grains_unicode +.IP \(bu 2 +c4334f3f14 Fix UnicodeDecodeError when reading file to determine virtual grain +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48212\fP: (\fI\%Ch3LL\fP) Fix python3 ec2 salt\-cloud TypeError when installing salt (refs: \fI\%#49041\fP) +@ \fI2018\-06\-20 16:00:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +77a75ebdcf Merge pull request \fI\%#48212\fP from Ch3LL/py3_ec2 +.IP \(bu 2 +b0d75f459a Fix python3 ec2 salt\-cloud TypeError when installing salt +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47984\fP: (\fI\%jeduardo\fP) x509 module/state writing wrong certificate serial number to CRL (refs: \fI\%#47986\fP, \fI\%#48080\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48209\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47986\fP to 2018.3 +@ \fI2018\-06\-20 13:44:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48080\fP: (\fI\%lusche\fP) Bugfix \fI\%#47984\fP messed up cert serial (refs: \fI\%#48209\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47986\fP: (\fI\%jeduardo\fP) Fix serial number writing into CRL files with the x509 module (refs: \fI\%#48209\fP) +.IP \(bu 2 +de614d31f5 Merge pull request \fI\%#48209\fP from rallytime/bp\-47986 +.IP \(bu 2 +f4b3bd5d2c Changed salt.utils.fopen to salt.utils.files.fopen +.IP \(bu 2 +8686872909 Fixed typos, removed repeated unit tests, and applied code fixes suggested by linter. +.IP \(bu 2 +382df48a72 Removed useless new line +.IP \(bu 2 +5aa99d14c4 Added unit tests for CRL creation and certificate revocation with CRL +.IP \(bu 2 +cc12844922 Fixed a problem where the OpenSSL bindings refuse to consume unicode strings. +.IP \(bu 2 +399cf08860 Stopped converting the certificate hexadecimal serial number to an integer in order to avoid breaking CRLs. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48210\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2018.3.1 to 2018.3 +@ \fI2018\-06\-20 13:43:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1f88df6e89 Merge pull request \fI\%#48210\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +dae65da256 Merge branch \(aq2018.3.1\(aq into \(aq2018.3\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48186\fP: (\fI\%rallytime\fP) Add autodoc module for saltcheck.py +@ \fI2018\-06\-19 19:03:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5b4897f050 Merge pull request \fI\%#48186\fP from rallytime/saltcheck\-docs +.IP \(bu 2 +314fc2d889 Clean up some doc references +.IP \(bu 2 +da7603d879 Add autodoc module for saltcheck.py +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48191\fP: (\fI\%twangboy\fP) Use the \-\-disable\-pip\-version\-check option +@ \fI2018\-06\-19 18:13:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7274a33c80 Merge pull request \fI\%#48191\fP from twangboy/fix_pip_check +.IP \(bu 2 +5c00fce6bf Use the \-\-disable\-pip\-version\-check option +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48122\fP: (\fI\%pasmon\fP) Salt minion 2017.7.6 disregards "bin_env" in pip state (refs: \fI\%#48189\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48189\fP: (\fI\%gtmanfred\fP) If pip binary is passed to bin_env, use that pip binary (refs: \fI\%#48207\fP) +@ \fI2018\-06\-19 18:08:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +96f79b0674 Merge pull request \fI\%#48189\fP from gtmanfred/pip +.IP \(bu 2 +96c59f3d93 If pip binary is passed to bin_env, use that pip binary +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48165\fP: (\fI\%terminalmage\fP) Fix regression with top_file_merging_strategy=same +@ \fI2018\-06\-19 18:03:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +71e385501b Merge pull request \fI\%#48165\fP from terminalmage/issue48144 +.IP \(bu 2 +92ac2a2d6a Remove unused imports +.IP \(bu 2 +15a44d5dd4 Remove redundant top file merging tests +.IP \(bu 2 +12100d9bd3 Add more top file merging tests +.IP \(bu 2 +0ed686cb3f Add unit test for show_top with "same" merging strategy +.IP \(bu 2 +35e5492fb7 Revert 7058f10 / 3df6fa7 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46806\fP: (\fI\%ezh\fP) Lack of debug messages on authentication fail. (refs: \fI\%#46807\fP, \fI\%#48179\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48179\fP: (\fI\%ezh\fP) 2018.3 auth +@ \fI2018\-06\-19 14:16:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#46807\fP: (\fI\%ezh\fP) Reduce initial authentication setup complexity (refs: \fI\%#48179\fP) +.IP \(bu 2 +2a8e1c6539 Merge pull request \fI\%#48179\fP from ezh/2018.3\-auth +.IP \(bu 2 +9ed2d2ec55 Fix integration.shell.test_key and integration.shell.test_runner +.IP \(bu 2 +26a6f79730 Fix integration tests test_list_acc_wrong_eauth, test_salt_run_with_wrong_eauth +.IP \(bu 2 +b84c4321c4 Add more verbose debug messages for auth subsystem +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48188\fP: (\fI\%gtmanfred\fP) allow virtual aliases to be used for the driver name +@ \fI2018\-06\-18 21:49:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0231008cf8 Merge pull request \fI\%#48188\fP from gtmanfred/2018.3 +.IP \(bu 2 +45249d3e10 allow virtual aliases to be used for the driver name +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48116\fP: (\fI\%KaiSforza\fP) Add jenkinsfiles to define tests in 2018 +@ \fI2018\-06\-18 21:27:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0f95238dca Merge pull request \fI\%#48116\fP from KaiSforza/pr\-lint\-2018 +.IP \(bu 2 +f158bed5bd Add docs, kitchen tests +.IP \(bu 2 +904a70c187 Move .jenkins to .ci for future +.IP \(bu 2 +365fa0e51f Make it parallel so we don\(aqt fail right away +.IP \(bu 2 +e594979745 Add a .jenkins file to run pylint +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48146\fP: (\fI\%rmarchei\fP) mysql_query.run: exception on 2018.3 (refs: \fI\%#48164\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48164\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixes to mysql state +@ \fI2018\-06\-18 13:10:20 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +60c9490bdc Merge pull request \fI\%#48164\fP from garethgreenaway/48146_mysql_output_to_file +.IP \(bu 2 +a040643a82 Accounting for certain situations when the query result is not a string, but actually a dictionary. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48113\fP: (\fI\%gaetanquentin\fP) state file.line has error and erase file content completly, while with mode test=true it is ok (refs: \fI\%#48156\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48156\fP: (\fI\%garethgreenaway\fP) [2018.3] Unicode fixes for file.line +@ \fI2018\-06\-17 19:34:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +85ebcbd3f2 Merge pull request \fI\%#48156\fP from garethgreenaway/48113_ensure_writing_strings_with_file_dot_line +.IP \(bu 2 +5a9ef0d1ae Unless we\(aqre using py2 and Windows, ensure we\(aqre writing out a string when using file.line. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48161\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-06\-17 19:33:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +33400e72db Merge pull request \fI\%#48161\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +0733fa1b02 Update utils path for which function to new path +.IP \(bu 2 +398cc78224 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.IP \(bu 2 +df2a156338 Merge pull request \fI\%#48061\fP from garethgreenaway/port_47049_2017_7 +.INDENT 2.0 +.IP \(bu 2 +7c472fed51 Fixing failing test_set_hwclock_aix test. +.IP \(bu 2 +ccb0acc958 Porting \fI\%#47049\fP to 2017.7. +.UNINDENT +.IP \(bu 2 +5ec3cf2dd4 Merge pull request \fI\%#48143\fP from Ch3LL/fix_long_job +.INDENT 2.0 +.IP \(bu 2 +48b5d2e9d3 Add timeout argument to run_salt for ShellCase +.UNINDENT +.IP \(bu 2 +e1e566d1f8 Merge pull request \fI\%#48135\fP from rallytime/release\-notes\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +7a97f157b3 Add missing \fIv\fP for tag reference +.IP \(bu 2 +2f2b69ed37 Add "in progress" notation to 2017.7.7 release notes +.IP \(bu 2 +06a1151a63 Add release notes file for 2017.7.7 +.IP \(bu 2 +885b2862ce Move 2017.7.7 release notes to 2017.7.8 +.UNINDENT +.IP \(bu 2 +ac9dabbfaa Merge pull request \fI\%#48105\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +cdb45874de Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.INDENT 2.0 +.IP \(bu 2 +16916d6bd2 Merge pull request \fI\%#47880\fP from gtmanfred/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +987ae6358b quote python_version in requirements.txt +.UNINDENT +.IP \(bu 2 +27670168ea Merge pull request \fI\%#47875\fP from rallytime/release\-notes\-dot\-six +.INDENT 2.0 +.IP \(bu 2 +58dee4c829 Remove sentence about the release being in progress +.IP \(bu 2 +b3dcb7330e Remove "in progress" too +.IP \(bu 2 +99e1df7823 Update 2017.7.6 release notes: remove "unreleased" text +.UNINDENT +.IP \(bu 2 +1f0bada07c Merge pull request \fI\%#47873\fP from gtmanfred/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +a1c1b5b5cf allow tornado 5.0 to be installed only for python2 +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +2da56a69d9 Merge pull request \fI\%#48101\fP from rallytime/update\-doc\-refs\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +7ba6f5fb36 Update 2017.7.7 reference to 2017.7.8 +.UNINDENT +.IP \(bu 2 +5a0e3d46e7 Merge pull request \fI\%#48091\fP from terminalmage/fix\-file_roots\-monkeypatching +.INDENT 2.0 +.IP \(bu 2 +6fe711ad76 Reverse monkeypatching after test_symlink_list finishes +.UNINDENT +.IP \(bu 2 +053b019a8f Merge pull request \fI\%#48088\fP from rallytime/update_version_doc_2017.7 +.INDENT 2.0 +.IP \(bu 2 +1b8d1c936b Remove "in progress" info for 2017.7.6 release notes +.IP \(bu 2 +9a0f4d190a Update release versions for the 2017.7 branch +.UNINDENT +.IP \(bu 2 +d6d2c5ee18 Merge pull request \fI\%#48075\fP from garethgreenaway/48038_jobs_are_not_deduping_minion_side +.INDENT 2.0 +.IP \(bu 2 +c537b3275b Ensure that the shared list of jids is passed when creating the Minion. Fixes an issue when minions are pointed at multiple syndics. +.UNINDENT +.IP \(bu 2 +aa33cc0b0c Merge pull request \fI\%#48071\fP from terminalmage/gitfs\-docs +.INDENT 2.0 +.IP \(bu 2 +24545204b3 Fix inaccurate gitfs_saltenv example in GitFS Walkthrough +.UNINDENT +.IP \(bu 2 +fb4ceacb88 Merge pull request \fI\%#48053\fP from rallytime/bp\-48040 +.INDENT 2.0 +.IP \(bu 2 +265b22b194 states/github.py fix for incorrect positional argument +.UNINDENT +.IP \(bu 2 +f37dcaac6d Merge pull request \fI\%#48024\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +56b074ab27 allow specifying a different state to run on converge +.IP \(bu 2 +cc9c4b4d5a add pytest coverage and xml junits +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48145\fP: (\fI\%max\-arnold\fP) Failed to load ext_pillar saltclass: can only assign an iterable (refs: \fI\%#48155\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48155\fP: (\fI\%max\-arnold\fP) Do not fail on empty saltclass classes (fix for \fI\%#48145\fP) +@ \fI2018\-06\-15 20:21:28 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9aa9a83b10 Merge pull request \fI\%#48155\fP from max\-arnold/2018.3 +.IP \(bu 2 +63ab02c648 Do not fail on empty saltclass classes declaration \fI\%#48145\fP +.IP \(bu 2 +3d4fcbe3aa Add test for issue \fI\%#48145\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48104\fP: (\fI\%twangboy\fP) Fix \fIunit.modules.test_win_status\fP +@ \fI2018\-06\-15 17:05:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +152c09cc0c Merge pull request \fI\%#48104\fP from twangboy/fix_test_win_status +.IP \(bu 2 +1ec3f436ee Fix test_error_logged_if_process_get_owner_fails +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48147\fP: (\fI\%brejoc\fP) Fix for sorting of multi\-version packages +@ \fI2018\-06\-15 17:03:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8cf03110d4 Merge pull request \fI\%#48147\fP from brejoc/2018.3\-multi\-version\-fix +.IP \(bu 2 +90ed25447d Swtiching to salt.utils.versions like linter suggested +.IP \(bu 2 +ed09574073 Fix for sorting of multi\-version packages (bsc#1097174 and bsc#1097413) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47956\fP: (\fI\%dmurphy18\fP) Improved support for mount on AIX +@ \fI2018\-06\-15 13:40:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2edc5f5442 Merge pull request \fI\%#47956\fP from dmurphy18/aix_mount_support +.IP \(bu 2 +f2a3e321db Improved support for mount on AIX +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48012\fP: (\fI\%Timandes\fP) Found UnicodeDecodeError when trying to start Salt Master (refs: \fI\%#48081\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48081\fP: (\fI\%terminalmage\fP) Fix UnicodeDecodeError when parsing hosts file with non\-ascii +@ \fI2018\-06\-15 12:41:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c05c176782 Merge pull request \fI\%#48081\fP from terminalmage/issue48012 +.IP \(bu 2 +8d2fb0bf25 Fix cp.push test +.IP \(bu 2 +e230a7223f Fix definition of test data for wtmp/btmp beacon tests +.IP \(bu 2 +82874a8c10 Import six like we do everywhere else +.IP \(bu 2 +54f9a2ab54 Remove unused import +.IP \(bu 2 +767cc7e87f fix tabs +.IP \(bu 2 +db19636f56 Get rid of additional newline append +.IP \(bu 2 +7427e192ba Fix more crappy mocking +.IP \(bu 2 +4eaa5789ce Fix crappy mocking +.IP \(bu 2 +248467edac Add regression test for _generate_minion_id() +.IP \(bu 2 +5e62d6d45f Fix UnicodeDecodeError when parsing hosts file with non\-ascii +.IP \(bu 2 +e6a4744f85 Use errno instead of hard\-coding error 2 +.IP \(bu 2 +ff63f36932 Fixes / enhancements for mock_open +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48133\fP: (\fI\%rallytime\fP) Updates the 2018.3.2 and 2018.3.3 release notes files +@ \fI2018\-06\-14 21:21:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48129\fP: (\fI\%rallytime\fP) Add release notes for 2018.3.2 (refs: \fI\%#48133\fP) +.IP \(bu 2 +5d92e2763a Merge pull request \fI\%#48133\fP from rallytime/release\-notes\-2018.3 +.IP \(bu 2 +afe1e91972 Add "in progress" notation to 2018.3.2 release notes +.IP \(bu 2 +3e4272ac09 Add release notes for 2018.3.2 +.IP \(bu 2 +88c584cb0d Move 2018.3.2 release notes to 2018.3.3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48103\fP: (\fI\%terminalmage\fP) Fix for gitfs base env being pinned to commit ID +@ \fI2018\-06\-14 16:29:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0e3f846836 Merge pull request \fI\%#48103\fP from terminalmage/gitfs\-base\-pinned\-to\-commit +.IP \(bu 2 +31ab2fe8de Fix for gitfs base env being pinned to commit ID +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48077\fP: (\fI\%twangboy\fP) Fix issue with \fIsalt.utils.parsers\fP on Windows +@ \fI2018\-06\-14 16:22:57 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4b6f1c7f75 Merge pull request \fI\%#48077\fP from twangboy/fix_parsers +.IP \(bu 2 +0f7d7691a2 Call logger in each case +.IP \(bu 2 +0e99dd741c Fix logic for non\-root +.IP \(bu 2 +2d2534a688 Fix parsers for Windows, fix tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48096\fP: (\fI\%twangboy\fP) Fix \fIunit.utils.test_which\fP on Windows +@ \fI2018\-06\-14 13:15:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +80332b32a7 Merge pull request \fI\%#48096\fP from twangboy/fix_test_which +.IP \(bu 2 +d26fc56f13 Use os.sep for paths +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48102\fP: (\fI\%rallytime\fP) [2018.3] Update 2018.3.2 references to 2018.3.3 +@ \fI2018\-06\-14 13:14:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +66b2200913 Merge pull request \fI\%#48102\fP from rallytime/update\-doc\-refs\-2018.3 +.IP \(bu 2 +1c9bcce3d8 Update 2018.3.2 references to 2018.3.3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48109\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47851\fP to 2018.3 +@ \fI2018\-06\-14 13:09:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47851\fP: (\fI\%rares\-pop\fP) Fixup! add master.py:FileserverUpdate **kwargs (refs: \fI\%#48109\fP) +.IP \(bu 2 +2902ee0b14 Merge pull request \fI\%#48109\fP from rallytime/bp\-47851 +.IP \(bu 2 +e9dc30bf8e Fixup! add master.py:FileserverUpdate **kwargs +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47925\fP: (\fI\%JonGriggs\fP) GitFS looking for files in the master branch only (refs: \fI\%#47943\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47943\fP: (\fI\%terminalmage\fP) Make sure we set the effective environment when lock_saltenv is True +@ \fI2018\-06\-13 20:02:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2529292568 Merge pull request \fI\%#47943\fP from terminalmage/issue47925 +.IP \(bu 2 +534e1a7100 Merge branch \(aq2018.3\(aq into issue47925 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48089\fP: (\fI\%rallytime\fP) Update release versions for the 2018.3 branch +@ \fI2018\-06\-13 14:03:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9e1d0040e4 Merge pull request \fI\%#48089\fP from rallytime/update_version_doc_2018.3 +.IP \(bu 2 +fad6a0991e Remove "in progress" info for 2018.3.1 release notes +.IP \(bu 2 +a3b3b0a0e1 Remove "in progress" info for 2017.7.6 release notes +.IP \(bu 2 +f9be1b9125 Update release versions for the 2018.3 branch +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48054\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-06\-13 12:58:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b10b7355a0 Merge pull request \fI\%#48054\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +508d70fabf Update old utils paths to use new paths +.IP \(bu 2 +3d2ea16c3a Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +ffee3576ec Merge pull request \fI\%#48044\fP from twangboy/wua_add_fail_code +.INDENT 2.0 +.IP \(bu 2 +d41d0c25eb Add faile code for WinHTTP send/receive error +.UNINDENT +.IP \(bu 2 +871a910fcb Merge pull request \fI\%#48009\fP from dwoz/winswarmfix +.INDENT 2.0 +.IP \(bu 2 +5027c7bb84 minionswarm runs on windows +.UNINDENT +.IP \(bu 2 +0dcaead36d Merge pull request \fI\%#47968\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +ae1b0d28bb pass LANG and HOME into tox commands +.IP \(bu 2 +8d15b93d00 remove tox virtualenvs from doc tests +.IP \(bu 2 +e1872e2036 simplify tox.ini +.IP \(bu 2 +81bd01f5af add tests.txt for running tests with tox requirements +.IP \(bu 2 +556a2067fc fix masterapi test to use testing directory for configs +.IP \(bu 2 +5a41f484ef add EXPENSIVE_TESTS +.IP \(bu 2 +055cd5a6ba set DESTRUCTIVE_TESTS environment variable for pytest +.UNINDENT +.IP \(bu 2 +42dd6b83eb Merge pull request \fI\%#47978\fP from twangboy/fix_test_pkg +.INDENT 2.0 +.IP \(bu 2 +8bb36b3a4b Add try/finally, fix typo in 7zip def file +.UNINDENT +.IP \(bu 2 +a67b21ef3d Merge pull request \fI\%#47959\fP from twangboy/fix_test_service +.INDENT 2.0 +.IP \(bu 2 +0cd47aa81e Remove unused import +.IP \(bu 2 +d4b42540e3 Fix failing test when service doesn\(aqt exist +.UNINDENT +.IP \(bu 2 +b81d482067 Merge pull request \fI\%#47983\fP from garethgreenaway/backport_47843_2017_7 +.INDENT 2.0 +.IP \(bu 2 +7b7fb1f5d5 Adding missing test sls file. +.IP \(bu 2 +54e51bc627 Backporting \fI\%#47843\fP to 2017.7, updating test for 2017.7. +.UNINDENT +.IP \(bu 2 +d56ddad22c Merge pull request \fI\%#47533\fP from twangboy/fix_47178 +.INDENT 2.0 +.IP \(bu 2 +24717cbc21 Change version added to 2017.7.7 +.IP \(bu 2 +0592f1bac2 Fix issues with functions that user makedirs on Windows +.UNINDENT +.IP \(bu 2 +5c56b8c755 Merge pull request \fI\%#47827\fP from twangboy/fix_47791 +.INDENT 2.0 +.IP \(bu 2 +fbbd91f09e Add more descriptive debug message +.IP \(bu 2 +365f81651b Fix deprecated exception handling +.IP \(bu 2 +8dd6710b93 Use local instead of network +.IP \(bu 2 +980d99d74b Fix issue when archive is on mapped drive +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48060\fP: (\fI\%gtmanfred\fP) mark test as expensive +@ \fI2018\-06\-13 12:58:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c83818e4f9 Merge pull request \fI\%#48060\fP from gtmanfred/2018.3 +.IP \(bu 2 +914935c4d4 Merge branch \(aq2018.3\(aq into 2018.3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48057\fP: (\fI\%terminalmage\fP) Fix link without target in 2018.3.0 release notes +@ \fI2018\-06\-11 18:50:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a4eb41623d Merge pull request \fI\%#48057\fP from terminalmage/docs\-2018.3 +.IP \(bu 2 +20f71ff6f6 Fix link without target in 2018.3.0 release notes +.IP \(bu 2 +d8c035e5e5 mark test as expensive +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48042\fP: (\fI\%terminalmage\fP) Switch to trace level logging for further test failure troubleshooting +@ \fI2018\-06\-11 14:03:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0f9a3122df Merge pull request \fI\%#48042\fP from terminalmage/salt\-jenkins\-1000 +.IP \(bu 2 +b33a0b5eaa Switch to trace level logging for further test failure troubleshooting +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48041\fP: (\fI\%terminalmage\fP) salt.utils.hashutils: Only decode to utf\-8 on Windows +@ \fI2018\-06\-11 13:31:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6c5389189a Merge pull request \fI\%#48041\fP from terminalmage/hashutils\-fix\-windows +.IP \(bu 2 +58c7cd33d7 salt.utils.hashutils: Only decode to utf\-8 on Windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48014\fP: (\fI\%cro\fP) Find job pause +@ \fI2018\-06\-08 13:48:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +dcae209951 Merge pull request \fI\%#48014\fP from cro/find_job_pause +.IP \(bu 2 +440aa67c4f Lint: Add blank line +.IP \(bu 2 +7b0e99a511 One more case where returner doesn\(aqt respond +.IP \(bu 2 +5abeedf882 Catch two cases when a returner is not able to be contacted\-\-these would throw a stacktrace. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47915\fP: (\fI\%garethgreenaway\fP) [2018.3] state runner pause resume kill +@ \fI2018\-06\-07 16:08:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ea85f882bc Merge pull request \fI\%#47915\fP from garethgreenaway/state_runner_pause_resume_kill +.IP \(bu 2 +2ecbe9c034 fixing typo in alias_function call. +.IP \(bu 2 +4377e0cc08 Some fixes to the set_pause and rm_pause function in the state runner, renaming to in line with the functions in the state module. Including aliases to previous names for back\-ward compatibility. Including a soft_kill function to kill running orchestration states. A new test to test soft_kill functionality. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48002\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47923\fP to 2018.3 +@ \fI2018\-06\-07 15:25:39 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47923\fP: (\fI\%isbm\fP) Prevent crash if files in file.recurse (refs: \fI\%#48002\fP) +.IP \(bu 2 +5c11fcde60 Merge pull request \fI\%#48002\fP from rallytime/bp\-47923 +.IP \(bu 2 +9465e5f1e9 Use to_unicode from stringutils avoid deprecation warning +.IP \(bu 2 +73d33cbfc3 Prevent crash if files in file.recurse +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48003\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-06\-07 15:25:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3d0a087c71 Merge pull request \fI\%#48003\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +a6533a9332 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +998a1c13d5 Merge pull request \fI\%#47966\fP from mbunkus/fix\-postfix\-prefix\-free\-key\-names\-assumption +.INDENT 2.0 +.IP \(bu 2 +0ae402d1b5 Fix postfix.set_main\(aqs assumption of prefix\-free key names +.UNINDENT +.IP \(bu 2 +df50ce7b1b Merge pull request \fI\%#47824\fP from twangboy/fix_setup.py +.INDENT 2.0 +.IP \(bu 2 +4538b3abb3 Remove \(aqlen\-as\-condition\(aq disablement +.IP \(bu 2 +d4efcc3c8b Skip lint errors +.IP \(bu 2 +1b3977f8d4 Remove m2crypto download for Windows +.UNINDENT +.IP \(bu 2 +3e91a31134 Merge pull request \fI\%#47922\fP from damon\-atkins/2017.7_win_pkg_keys_fix +.INDENT 2.0 +.IP \(bu 2 +7129203b1b Merge branch \(aq2017.7\(aq into 2017.7_win_pkg_keys_fix +.UNINDENT +.IP \(bu 2 +8008fca2f6 Merge pull request \fI\%#47933\fP from terminalmage/add\-pillar.get\-docs +.INDENT 2.0 +.IP \(bu 2 +4eb022b675 Clarify pillar.get docs +.UNINDENT +.IP \(bu 2 +ab565bfaa3 Merge pull request \fI\%#47944\fP from terminalmage/fix\-git.detached\-docs +.INDENT 2.0 +.IP \(bu 2 +1d082b4389 Replace use of deprecated argument name in git.detached docstring +.IP \(bu 2 +6253793cb6 Merge branch \(aq2017.7\(aq into 2017.7_win_pkg_keys_fix +.IP \(bu 2 +4ce0fe6546 win_pkg under py3 keys returns a view instead of a list, wrap keys in list() +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48022\fP: (\fI\%morganwillcock\fP) win_wua state: fix function name in examples +@ \fI2018\-06\-07 15:03:52 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0a05212f60 Merge pull request \fI\%#48022\fP from morganwillcock/patch\-1 +.IP \(bu 2 +443f4d6f21 win_wua state: fix function name in examples +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47546\fP: (\fI\%ender8282\fP) archive.extracted fails when archive includes files with non\-ascii names with 2018.3.0 (refs: \fI\%#48015\fP, \fI\%#47572\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48015\fP: (\fI\%garethgreenaway\fP) [2018.3] more unicode nonsense in archive module +@ \fI2018\-06\-07 14:44:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +406efb161e Merge pull request \fI\%#48015\fP from garethgreenaway/47546_more_unicode_nonsense +.IP \(bu 2 +f457f9cb84 Adding a test to ensure archive.list returns the right results when a tar file contains a file with unicode in it\(aqs name. +.IP \(bu 2 +9af49bc595 Ensure member names are decoded before adding to various lists. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47955\fP: (\fI\%frogunder\fP) 2018.3.1 Creating Windows machine in Amazon using salt\-cloud fails. (refs: \fI\%#47989\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47989\fP: (\fI\%dwoz\fP) Properly decode password from aws using m2crypto +@ \fI2018\-06\-06 20:44:28 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1ce7d6c38a Merge pull request \fI\%#47989\fP from dwoz/awscloud +.IP \(bu 2 +23ab2727be Fix linter errors +.IP \(bu 2 +6c8daa2b85 Properly decode password from aws using m2crypto +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47976\fP: (\fI\%terminalmage\fP) Capture and log output of processes that timed out and were killed +@ \fI2018\-06\-06 19:17:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +76068c83f5 Merge pull request \fI\%#47976\fP from terminalmage/salt\-jenkins\-1000 +.IP \(bu 2 +41e5a75027 Add catch_timeout to run_script +.IP \(bu 2 +551ada8e4d Capture and log output of processes that timed out and were killed +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47990\fP: (\fI\%terminalmage\fP) Docs fixes in 2018.3 release branch +@ \fI2018\-06\-06 17:15:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f12a52736e Merge pull request \fI\%#47990\fP from terminalmage/2018.3\-docs +.IP \(bu 2 +f89d2ccd30 Clean up Sphinx warnings +.IP \(bu 2 +f5fc936865 Add clarifying comment so that we don\(aqt break this +.IP \(bu 2 +94849780ac fix docs build error due to IndexError +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47982\fP: (\fI\%twangboy\fP) Fix \fIunit.modules.test_win_dns_client\fP tests +@ \fI2018\-06\-06 15:02:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9d56af3cad Merge pull request \fI\%#47982\fP from twangboy/fix_test_win_dns_client +.IP \(bu 2 +2dcdf6788c Force string to ModuleType +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47985\fP: (\fI\%twangboy\fP) Fix \fIunit.states.test_reg\fP test failure +@ \fI2018\-06\-06 14:56:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1b4c72345b Merge pull request \fI\%#47985\fP from twangboy/fix_test_reg +.IP \(bu 2 +4ce551811f Remove the unnecessary \fIto_unicode\fP stuff +.IP \(bu 2 +863ded39fa Mock \fIreg.cast_vdata\fP +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47236\fP: (\fI\%MorphBonehunter\fP) x509.private_key_managed broken after upgrade to 2018.3.0 (refs: \fI\%#47957\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47957\fP: (\fI\%garethgreenaway\fP) [2018.8] Ensure x509 passphrase is a string +@ \fI2018\-06\-05 13:27:33 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +84100570f7 Merge pull request \fI\%#47957\fP from garethgreenaway/47236_ensure_passphrase_is_a_string +.IP \(bu 2 +99bad3cca6 removing unnecessary change +.IP \(bu 2 +e22df8473d Ensuring that when a passphrase is passed in, it is returned as a string from the passphrase callback. +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +d0cf06a24d Make sure we set the effective environment when lock_saltenv is True +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +8da6ce45dc Finish the docstring for git.cloned state +.IP \(bu 2 +4a8260a5e5 Add tests for git.cloned state +.IP \(bu 2 +311179da05 Add git.cloned state +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47926\fP: (\fI\%dmurphy18\fP) Backport of PR 47808 to 2018.3, improved grains support for AIX +@ \fI2018\-06\-04 19:31:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47808\fP: (\fI\%dmurphy18\fP) Updated AIX support for grains reported (refs: \fI\%#47926\fP) +.IP \(bu 2 +c355da9e0d Merge pull request \fI\%#47926\fP from dmurphy18/backport_pr47808 +.IP \(bu 2 +ac15d2093a Backport of PR 47808 to 2018.3, improved grains support for AIX +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47927\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-06\-04 18:55:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a46e42ab11 Merge pull request \fI\%#47927\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +5baab66f4b Lint: Whitespace fix +.IP \(bu 2 +7e1d278d19 Update old utils paths to use new utils paths +.IP \(bu 2 +3273bbdab7 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +a2b588299b Merge pull request \fI\%#47860\fP from terminalmage/state\-writing\-docs +.INDENT 2.0 +.IP \(bu 2 +8cb33d3dec Quiet the linter +.IP \(bu 2 +af51e16f23 Use more elegant RST syntax +.IP \(bu 2 +91cd57d1e0 Update mocking to reflect changes in service module +.IP \(bu 2 +b9ace5a859 Fix crappy mocking +.IP \(bu 2 +bc9e3acef3 Lint fixes +.IP \(bu 2 +d37f7e4f04 Add 2017.7.6 release notes +.IP \(bu 2 +9dddeeefab Improve documentation on syncing states +.IP \(bu 2 +f465fa3ca7 Add best practices docs for writing states +.IP \(bu 2 +93ee5ee2b0 Fix all Sphinx warnings +.IP \(bu 2 +64b9b4d0b8 Clarify that name would override the id declaration +.UNINDENT +.IP \(bu 2 +d2f3377b5b Merge pull request \fI\%#47877\fP from dwoz/sleep_audit +.INDENT 2.0 +.IP \(bu 2 +ebc7cde9cb Revert job chunk wait time change +.UNINDENT +.IP \(bu 2 +735e92093e Merge pull request \fI\%#47917\fP from dwoz/winsuite +.INDENT 2.0 +.IP \(bu 2 +118601ebd6 Fix windows tests suite breakage +.UNINDENT +.IP \(bu 2 +63efb76d51 Merge pull request \fI\%#47822\fP from Ch3LL/win_user_test +.INDENT 2.0 +.IP \(bu 2 +3a691b405f add user_home path for both windows and linux +.IP \(bu 2 +788abf771e Add user state integration tests to windows +.UNINDENT +.IP \(bu 2 +b9da4f1221 Merge pull request \fI\%#47876\fP from doesitblend/add\-file\-read\-windows +.INDENT 2.0 +.IP \(bu 2 +3f7e7ec327 Add file.read function to Windows module +.UNINDENT +.IP \(bu 2 +cbe2ecfae8 Merge pull request \fI\%#47882\fP from frogunder/45013 +.INDENT 2.0 +.IP \(bu 2 +38d114a2d2 add whoami test +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47931\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47913\fP to 2018.3 +@ \fI2018\-06\-04 14:39:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47913\fP: (\fI\%rares\-pop\fP) Fixup! beacons/avahi_announce.py finding grains (refs: \fI\%#47931\fP) +.IP \(bu 2 +4db1f8c603 Merge pull request \fI\%#47931\fP from rallytime/bp\-47913 +.IP \(bu 2 +c51e732f4d Fixup! beacons/avahi_announce.py finding grains +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47930\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47725\fP to 2018.3 +@ \fI2018\-06\-04 14:38:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47725\fP: (\fI\%bbczeuz\fP) network_settings beacon: Update example to follow new cfg convention (refs: \fI\%#47930\fP) +.IP \(bu 2 +d05a6c70d3 Merge pull request \fI\%#47930\fP from rallytime/bp\-47725 +.IP \(bu 2 +5c666409f3 Spelling fix +.IP \(bu 2 +cfe0a5bb42 network_settings: Fix doc using new list/dict syntax +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47557\fP: (\fI\%L4rS6\fP) fix broken rabbitmq list policies in rabbitmq version 3.7 +@ \fI2018\-06\-04 13:25:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +484d83014b Merge pull request \fI\%#47557\fP from L4rS6/fix\-broken\-rabbitmq\-list\-policies +.IP \(bu 2 +6d7ef27557 Merge branch \(aq2018.3\(aq into fix\-broken\-rabbitmq\-list\-policies +.IP \(bu 2 +e043ea2833 refactored list_policies code and added more tests +.IP \(bu 2 +eea81feb7b fix broken rabbitmq list policies in rabbitmq version 3.7 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47949\fP: (\fI\%terminalmage\fP) Continued troubleshooting on salt\-jenkins 1000 +@ \fI2018\-06\-04 13:17:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +866a2fbf5e Merge pull request \fI\%#47949\fP from terminalmage/salt\-jenkins\-1000 +.IP \(bu 2 +9c369c6aa8 Remove temp logging from test +.IP \(bu 2 +af02d5ba7b Add result logging to run_script, make returns DRY +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47941\fP: (\fI\%terminalmage\fP) Update test logging for salt\-jenkins +@ \fI2018\-06\-03 02:40:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0b85d1273f Merge pull request \fI\%#47941\fP from terminalmage/salt\-jenkins\-1000 +.IP \(bu 2 +fb66368af9 Update test logging for salt\-jenkins 1000 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47924\fP: (\fI\%Ch3LL\fP) Catch all exceptions in git import for salt.utils.gitfs +@ \fI2018\-06\-01 21:06:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +58b5f2b4dd Merge pull request \fI\%#47924\fP from Ch3LL/mac_gitpy +.IP \(bu 2 +75c51ad69b Catch all exceptions in git import for salt.utils.gitfs +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47269\fP: (\fI\%isdig\fP) Reopen Windows Minion That Has IAM Role Cannot Access to S3 (refs: \fI\%#47879\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47879\fP: (\fI\%dwoz\fP) Fix ami role usage warts \fI\%#47269\fP +@ \fI2018\-06\-01 14:11:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b88ec5258d Merge pull request \fI\%#47879\fP from dwoz/ami_role_fix +.IP \(bu 2 +3884c2cf5f Fix ami role usage warts \fI\%#47269\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47788\fP: (\fI\%twangboy\fP) Use pytz to calculate timezones +@ \fI2018\-05\-31 18:33:20 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b09596982b Merge pull request \fI\%#47788\fP from twangboy/fix_47559 +.IP \(bu 2 +0d229c6182 Merge branch \(aq2018.3\(aq into fix_47559 +.IP \(bu 2 +9e612ec9e7 Fix markup in release notes +.IP \(bu 2 +60499d18f0 Skip test if pytz not present +.IP \(bu 2 +72cc361c7b Move pytz to 3rd party import, add to __virtual__ +.IP \(bu 2 +b8a6488688 Update __virtual__ function +.IP \(bu 2 +9923176b68 Use __utils__, fix unit tests +.IP \(bu 2 +73e033f555 Return offset in the same format as Unix +.IP \(bu 2 +5656183c5e Add timezone.list, add 2018.3.2 release notes +.IP \(bu 2 +986f6c9b2a Use pytz to calculate timezones +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47899\fP: (\fI\%terminalmage\fP) salt\-jenkins issue 1000 +@ \fI2018\-05\-31 18:24:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ae73cb3947 Merge pull request \fI\%#47899\fP from terminalmage/salt\-jenkins\-1000 +.IP \(bu 2 +25afc932f7 WIP salt\-jenkins issue 1000 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47753\fP: (\fI\%Ch3LL\fP) Add stderr launchctl helper class and fix service mac tests +@ \fI2018\-05\-31 18:16:57 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8f78e3aef6 Merge pull request \fI\%#47753\fP from Ch3LL/service_mac +.IP \(bu 2 +185c9e9ae2 only stop service if its running +.IP \(bu 2 +e15e674955 Add stderr launchctl helper class and fix service mac tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47908\fP: (\fI\%meaksh\fP) Align SUSE salt\-master.service \(aqLimitNOFILES\(aq limit with upstream Salt +@ \fI2018\-05\-31 18:13:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +828bf39695 Merge pull request \fI\%#47908\fP from meaksh/2018.3\-align\-suse\-salt\-master\-service +.IP \(bu 2 +efe308013a Align SUSE salt\-master.service \(aqLimitNOFILES\(aq limit with upstream Salt +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47868\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-05\-30 21:20:38 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b4bac9b41b Merge pull request \fI\%#47868\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +e5d386e91c Update solaris core grains test +.IP \(bu 2 +267f09c1a0 Lint: Remove unused import +.IP \(bu 2 +120ee16b70 Replace old utils paths with new utils paths +.IP \(bu 2 +dc32b67c03 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +4b28e510f1 Merge pull request \fI\%#47853\fP from dwoz/py3\-cloud\-test +.INDENT 2.0 +.IP \(bu 2 +c2f8aef7c5 Fix for py3 ec2 cloud tests +.UNINDENT +.IP \(bu 2 +215efa6b73 Merge pull request \fI\%#47847\fP from garethgreenaway/47833_reactor_runner_documentation +.INDENT 2.0 +.IP \(bu 2 +03676712de Adding some addition documentation to the reactor runner indicating that the reactor system must be active prior to using it. +.UNINDENT +.IP \(bu 2 +0bf651b470 Merge pull request \fI\%#47846\fP from Ch3LL/p_refresh_test +.INDENT 2.0 +.IP \(bu 2 +019edad8e4 Fix flaky refresh pillar integration test +.UNINDENT +.IP \(bu 2 +799fce979d Merge pull request \fI\%#47552\fP from twangboy/fix_46981 +.INDENT 2.0 +.IP \(bu 2 +cffc9b7806 Merge branch \(aq2017.7\(aq into fix_46981 +.IP \(bu 2 +81308a4a44 Add release notes for 2017.7.7 +.IP \(bu 2 +008af0ac6b Fix unit tests +.IP \(bu 2 +87097eefb6 Add comments about how get is returning data +.IP \(bu 2 +f1f1bfc5c1 Show GPO settings, raise error if trying to set gpo managed settings +.UNINDENT +.IP \(bu 2 +ffc2ebc373 Merge pull request \fI\%#47691\fP from lomeroe/solaris_product_grains +.INDENT 2.0 +.IP \(bu 2 +6889befc6b Merge branch \(aq2017.7\(aq into solaris_product_grains +.IP \(bu 2 +49053bc106 lint fix +.IP \(bu 2 +6f185c9179 another lint fix +.IP \(bu 2 +dbffba6876 fix tons of errors in my tests +.IP \(bu 2 +8c9355d34c Lint fix +.IP \(bu 2 +b29ec75da7 Update regexes in core grains for detecting the \(aqproduct\(aq grain on Solaris Sparc systems. Additionally, copy the \(aqproduct\(aq grain to \(aqproductname\(aq to be consistent with other OSes. +.UNINDENT +.IP \(bu 2 +96b7c0cc76 Merge pull request \fI\%#47778\fP from Ch3LL/win_state_pkg +.INDENT 2.0 +.IP \(bu 2 +e1786de6b0 Merge branch \(aq2017.7\(aq into win_state_pkg +.IP \(bu 2 +f8c467d3e6 Fix text editor error +.IP \(bu 2 +872e162137 Add test_pkg integration state tests to windows +.UNINDENT +.IP \(bu 2 +6f934c2259 Merge pull request \fI\%#47823\fP from Ch3LL/win_dns_test +.INDENT 2.0 +.IP \(bu 2 +7848114d6a Add win_dns module integration tests for windows +.UNINDENT +.IP \(bu 2 +e63e04602d Merge pull request \fI\%#47838\fP from rallytime/bp\-47810 +.INDENT 2.0 +.IP \(bu 2 +bd2b62fa66 better debug message +.IP \(bu 2 +83565c55df Address PR feedback +.IP \(bu 2 +50bce3a2f3 make decode_linode_plan_label a private function +.IP \(bu 2 +2ba4fc4cea fix raising when a \(aqGB\(aq format invalid plan is supplied +.IP \(bu 2 +3afb50d5a2 slight cleanup +.IP \(bu 2 +319fbd3406 match quotation mark types properly +.IP \(bu 2 +95e0202223 more consistent use of parens in logged warning +.IP \(bu 2 +f52926ca87 log a warning when the user supplied a label we could decode but was not in the proper format +.IP \(bu 2 +121303d827 reduce complexity of get_plan_id by moving decoding of the user\-supplied label to its own function +.IP \(bu 2 +cf534c7314 Fix Linode plan selection +.UNINDENT +.IP \(bu 2 +9ef6e60617 Merge pull request \fI\%#47805\fP from twangboy/add_sign.bat +.INDENT 2.0 +.IP \(bu 2 +66d8b0331a Add sign.bat script for signing packages +.UNINDENT +.IP \(bu 2 +93420950d3 Merge pull request \fI\%#47500\fP from dwoz/winuser +.INDENT 2.0 +.IP \(bu 2 +0ca5224cbf Merge branch \(aq2017.7\(aq into winuser +.IP \(bu 2 +e5948902af Use salt utils method for this_user +.IP \(bu 2 +a056a293f1 Centeralize test username lookup +.IP \(bu 2 +6a6ab69722 Get the current username on windows +.UNINDENT +.IP \(bu 2 +552526f309 Merge pull request \fI\%#47802\fP from rallytime/bp\-40892 +.INDENT 2.0 +.IP \(bu 2 +bb357da084 add minion function to reload beacon \fI\%#35960\fP +.UNINDENT +.IP \(bu 2 +c9cccf53b9 Merge pull request \fI\%#47816\fP from Ch3LL/disable_windows +.INDENT 2.0 +.IP \(bu 2 +2509d36888 Add windows to service disable ERROR check in tests +.UNINDENT +.IP \(bu 2 +2cb6634c6b Merge pull request \fI\%#47773\fP from frogunder/45011 +.INDENT 2.0 +.IP \(bu 2 +7c9b0bda33 add win_servermanager.list_available test +.UNINDENT +.IP \(bu 2 +e65dece202 Merge pull request \fI\%#47807\fP from dwoz/winrmtests +.INDENT 2.0 +.IP \(bu 2 +1f1cc1357a Increase instance size for cloud tests +.IP \(bu 2 +be8dcd21f1 Try an even bigger timeout +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47900\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2018.3.1 to 2018.3 +@ \fI2018\-05\-30 18:09:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +21550dbd2d Merge pull request \fI\%#47900\fP from rallytime/merge\-2018.3.1\-to\-2018.3 +.IP \(bu 2 +2801eecb26 Merge branch \(aq2018.3.1\(aq into \(aq2018.3\(aq +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#30367\fP: (\fI\%paulfanelli\fP) salt\-run orchestration via state.sls always successful; it is ignoring state return value (refs: \fI\%#47843\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47843\fP: (\fI\%garethgreenaway\fP) [2018.3] orchestration results False when function is False (refs: \fI\%#47983\fP) +@ \fI2018\-05\-30 17:21:54 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a0bf565741 Merge pull request \fI\%#47843\fP from garethgreenaway/30367_orch_return_false_when_function_fails +.IP \(bu 2 +09242697b8 Merge branch \(aq2018.3\(aq into 30367_orch_return_false_when_function_fails +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47866\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47814\fP to 2018.3 +@ \fI2018\-05\-29 19:55:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47814\fP: (\fI\%travispaul\fP) Bugfixes and unit tests for pkgin module (refs: \fI\%#47866\fP) +.IP \(bu 2 +da6f7a5538 Merge pull request \fI\%#47866\fP from rallytime/bp\-47814 +.IP \(bu 2 +d50c0ab96b Lint test_pkgin.py +.IP \(bu 2 +4dac0b4a31 pkgin latest_version bugfix +.IP \(bu 2 +4ae0313797 Bugfixes and unit tests for pkgin module +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47865\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47600\fP to 2018.3 +@ \fI2018\-05\-29 19:54:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47600\fP: (\fI\%travispaul\fP) Prevent crash on NetBSD and OpenBSD when no swap is configured. (refs: \fI\%#47865\fP) +.IP \(bu 2 +d9e7f2b5b1 Merge pull request \fI\%#47865\fP from rallytime/bp\-47600 +.IP \(bu 2 +f9f464fa51 Prevent crash on NetBSD and OpenBSD when no swap is configured. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47221\fP: (\fI\%azelezni\fP) Fix boto_ec2 unused parameter "network_interfaces" +@ \fI2018\-05\-29 14:41:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +61561a8279 Merge pull request \fI\%#47221\fP from azelezni/fix\-boto_ec2\-network_interfaces +.IP \(bu 2 +03ee0023eb Fix unused network_interfaces parameter +.IP \(bu 2 +1ece61ddfa Fix unused network_interfaces parameter +.IP \(bu 2 +3e074be9c3 Fixing lint +.IP \(bu 2 +02609b6e61 Adding state files for new test. +.IP \(bu 2 +377e34c689 Updating function in saltmod to ensure that the result is a failure if the function being run returns as False. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47850\fP: (\fI\%rallytime\fP) Fix autodoc for new swarm module +@ \fI2018\-05\-26 01:53:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c4d828c986 Merge pull request \fI\%#47850\fP from rallytime/swarm\-autodoc +.IP \(bu 2 +467c8fa45c Fix autodoc for new swarm module +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47800\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-05\-26 01:17:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +30b31c5db5 Merge pull request \fI\%#47800\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +9e3ce39e8c Typo: test_type \-\-> text_type +.IP \(bu 2 +8877489386 Fix bad merge caught by test in zpool state +.IP \(bu 2 +c328450be2 Update old utils paths to new paths +.IP \(bu 2 +4abfd26e86 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +46618d2ce7 Merge pull request \fI\%#47765\fP from meaksh/2017.7\-fix\-zypper\-error\-reading\-repo +.INDENT 2.0 +.IP \(bu 2 +4475ba19b8 Prevent zypper from parsing repo configuration from not .repo files +.UNINDENT +.IP \(bu 2 +0e87559ee3 Merge pull request \fI\%#47781\fP from rallytime/update\-linode\-sizes +.INDENT 2.0 +.IP \(bu 2 +a90c1b760e Update cloud test profile and docs to use new Linode size lables +.UNINDENT +.IP \(bu 2 +3ddc56cb9b Merge pull request \fI\%#47748\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +b75f5ae38e Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.INDENT 2.0 +.IP \(bu 2 +edf94c915e Merge pull request \fI\%#47775\fP from gtmanfred/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +548f65d056 catch UnsupportedOperation with AssertionError +.UNINDENT +.UNINDENT +.IP \(bu 2 +17596f3025 Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.INDENT 2.0 +.IP \(bu 2 +8c38ecd75f Merge pull request \fI\%#47769\fP from gtmanfred/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +3fdfc0fa82 skip test that breaks test suite +.UNINDENT +.UNINDENT +.IP \(bu 2 +e458f4a031 Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.INDENT 2.0 +.IP \(bu 2 +0d5b473ce2 Merge pull request \fI\%#47747\fP from Ch3LL/rn_2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +d4aa83b92d Add changelog to 2017.7.6 release notes +.UNINDENT +.IP \(bu 2 +8a5b34f7d9 Merge pull request \fI\%#47702\fP from damon\-atkins/2017.7.6_fix_pkg.latest_state +.INDENT 2.0 +.IP \(bu 2 +adcc094e08 Merge branch \(aq2017.7.6\(aq into 2017.7.6_fix_pkg.latest_state +.UNINDENT +.IP \(bu 2 +d610c192d9 Merge pull request \fI\%#47700\fP from yannj\-fr/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +961c1ef61e fix roots modification time check +.INDENT 2.0 +.IP \(bu 2 +2a73e905df Merge branch \(aq2017.7.6\(aq into 2017.7.6 +.UNINDENT +.UNINDENT +.IP \(bu 2 +266749420f Merge pull request \fI\%#47632\fP from gtmanfred/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +2c50c0d2f5 fix pylint +.IP \(bu 2 +4a29057b16 Fix last test for tornado +.IP \(bu 2 +550ef2e272 allow using tornado 5.0 +.IP \(bu 2 +62e468448b handle new _create_stream in tornado 5.0 +.UNINDENT +.IP \(bu 2 +2643c356af Merge pull request \fI\%#47720\fP from rallytime/bp\-47692\-2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +6e5cb36839 Default windows to m1.small for ec2\-classic +.INDENT 2.0 +.IP \(bu 2 +20d9785244 fix roots modification time check +.UNINDENT +.IP \(bu 2 +aef37dd1ce fix roots modification time check +.IP \(bu 2 +d51662e053 Ensure targeted_pkgs always contains value for non\-windows. +.IP \(bu 2 +83b4224cf8 Adjusted based on feed back. +.IP \(bu 2 +12f983ce9f Whitespace lint issues +.IP \(bu 2 +075d3d3c49 pkg.install execution module on windows ensures the software package is installed when no version is specified, it does not upgrade the software to the latest. This is per the design. pkg.latest must provide the versions to install to pkg.install +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +0ddc864f90 Merge pull request \fI\%#47779\fP from dwoz/winrmtests +.INDENT 2.0 +.IP \(bu 2 +d5eafe9d53 Use common timeout variable +.IP \(bu 2 +7e948eb540 Increase ec2 cloud timeouts to 1000 +.UNINDENT +.IP \(bu 2 +17c4c8443c Merge pull request \fI\%#47430\fP from baniobloom/vpc_association_not_found +.INDENT 2.0 +.IP \(bu 2 +0f1d007f91 added catch for VPCAssociationNotFound +.UNINDENT +.IP \(bu 2 +9c5dde1449 Merge pull request \fI\%#47525\fP from baniobloom/duplicate_sec_group_rule +.INDENT 2.0 +.IP \(bu 2 +dcc35df489 if we are trying to add the same rule then we are already in the desired state, return true +.UNINDENT +.IP \(bu 2 +536ce2fa42 Merge pull request \fI\%#47772\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +67756a50fd lock down dependencies for kitchen\-salt +.UNINDENT +.IP \(bu 2 +12b330f049 Merge pull request \fI\%#47749\fP from terminalmage/issue47717 +.INDENT 2.0 +.IP \(bu 2 +cd484bef69 Fix "dnf list upgrades" parsing +.UNINDENT +.IP \(bu 2 +5cd18b9e70 Merge pull request \fI\%#47755\fP from dwoz/winrmtests +.INDENT 2.0 +.IP \(bu 2 +57dd89e6c3 Default to ec2 classic compatible images +.IP \(bu 2 +f89668920a Be explicit about winrm setting +.UNINDENT +.IP \(bu 2 +f45a96ba1d Merge pull request \fI\%#47668\fP from Ch3LL/win_pkg_test +.INDENT 2.0 +.IP \(bu 2 +a8981024de Add pkg.latest_version windows test +.UNINDENT +.IP \(bu 2 +7b12444dfa Merge pull request \fI\%#47750\fP from dwoz/cloudtest +.INDENT 2.0 +.IP \(bu 2 +63b722ba21 Allow ssh_interface to default to public_ips +.UNINDENT +.IP \(bu 2 +27fbb42210 Merge pull request \fI\%#47737\fP from dwoz/win_timeout +.INDENT 2.0 +.IP \(bu 2 +e88833a07d Cloud test fixup +.UNINDENT +.IP \(bu 2 +1a93f060fb Merge pull request \fI\%#47729\fP from UtahDave/fix_get_info_doc +.INDENT 2.0 +.IP \(bu 2 +443a2d72a2 fix cli example to match function name +.UNINDENT +.IP \(bu 2 +00a13761c7 Merge pull request \fI\%#47682\fP from terminalmage/issue47182 +.INDENT 2.0 +.IP \(bu 2 +d0243e8f23 Suppress spurious lint failure +.IP \(bu 2 +3b449f11fc Add regression test for excludes issue +.IP \(bu 2 +28a7d2b81c Skip __exclude__ in find_sls_ids +.UNINDENT +.IP \(bu 2 +518f7bcc62 Merge pull request \fI\%#47708\fP from darkpixel/47696\-do\-not\-enumerate\-none +.INDENT 2.0 +.IP \(bu 2 +54e9bf9ec9 Merge branch \(aq2017.7\(aq into 47696\-do\-not\-enumerate\-none +.UNINDENT +.IP \(bu 2 +cad062eaa7 Merge pull request \fI\%#47681\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +6c06cb3ae3 Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.UNINDENT +.IP \(bu 2 +fd2d45d9c2 Merge pull request \fI\%#47683\fP from Ch3LL/mac_user_test +.INDENT 2.0 +.IP \(bu 2 +5a1b25b9c7 Remove unnecessary setUp in states.test_user test for mac +.UNINDENT +.IP \(bu 2 +f323799c42 Merge pull request \fI\%#47692\fP from dwoz/win_instance_type +.INDENT 2.0 +.IP \(bu 2 +20b6070d54 Default windows to m1.small for ec2\-classic +.UNINDENT +.IP \(bu 2 +990ece5cd5 Merge pull request \fI\%#47665\fP from gtmanfred/cloud +.INDENT 2.0 +.IP \(bu 2 +fd8a02decb use dictupdate to update the providers dictionary and merge lists +.UNINDENT +.IP \(bu 2 +a2ed8cbb7f Merge pull request \fI\%#47151\fP from zer0def/configparser\-defaultsect +.INDENT 2.0 +.IP \(bu 2 +a8f2ad977e Merge branch \(aq2017.7\(aq into configparser\-defaultsect +.IP \(bu 2 +cca2a806c9 Made interaction with [DEFAULT] section in ConfigParser as sane as upstream permits. +.UNINDENT +.IP \(bu 2 +e6fb8342ef Merge pull request \fI\%#47673\fP from terminalmage/bp\-45808 +.INDENT 2.0 +.IP \(bu 2 +454291ad62 Fix errors when attempting to cache files with long names or URLs +.UNINDENT +.IP \(bu 2 +b0446aab07 Merge pull request \fI\%#47670\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +dfd5a8715f add a pytest.ini and update a dependency for kitchen +.UNINDENT +.IP \(bu 2 +0d06da6944 Merge pull request \fI\%#47626\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +418364a533 make dev_python27.txt have the same message as dev_python34.txt +.IP \(bu 2 +d53b44d10f remove lock file +.IP \(bu 2 +493ed7f93d use the toml dict format +.IP \(bu 2 +e0f7cc1447 add proxy tests decorator to pytest conftest +.IP \(bu 2 +0a621dd0ec add Pipfile for managing dependencies in salt +.IP \(bu 2 +f78b81db94 simplify dev and base.txt to single files +.UNINDENT +.IP \(bu 2 +a07a8906a0 Merge pull request \fI\%#47578\fP from Ch3LL/mac_service_disabled +.INDENT 2.0 +.IP \(bu 2 +6032a01f55 change disable check for upstart service on ubuntu14 +.IP \(bu 2 +33b4cfbc5b Change service assertion check for systemd platforms +.IP \(bu 2 +14896f9743 change codeauthor and class name +.IP \(bu 2 +502c5bdff5 Ensure mac_service.disabled is correctly querying services +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +95d4488f01 Merge branch \(aq2017.7.6\(aq into 47696\-do\-not\-enumerate\-none +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.IP \(bu 2 +16c2153385 Merge pull request \fI\%#47667\fP from Ch3LL/mac_user_enable +.INDENT 2.0 +.IP \(bu 2 +ba40d3d1a1 Update test_mac_user_enable_auto_login to test both py2 and py3 +.UNINDENT +.IP \(bu 2 +a4921e86c9 Merge pull request \fI\%#47645\fP from Ch3LL/py3_rm_pip +.INDENT 2.0 +.IP \(bu 2 +225d90ad4c query the pip path for test test_issue_2087_missing_pip +.UNINDENT +.IP \(bu 2 +e441733ac1 Merge pull request \fI\%#47646\fP from rallytime/bp\-47601\-and\-47643 +.INDENT 2.0 +.IP \(bu 2 +9e1d1a5ef8 Fix typo +.IP \(bu 2 +4e94609136 Remove unwanted file +.IP \(bu 2 +0109249c78 use ignore\-undefined\-variable +.IP \(bu 2 +37caecb7f4 Ignore pylint WindowsError +.IP \(bu 2 +c1135d90c7 Better doc string +.IP \(bu 2 +e53d6b9ed9 Skip tests when we can not use runas +.IP \(bu 2 +041e4c6ddb Wrap properties loop with a check for None. Closes GH\-47696 +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47581\fP: (\fI\%twangboy\fP) Add get_encoding salt util +@ \fI2018\-05\-25 20:40:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +da9eaa1825 Merge pull request \fI\%#47581\fP from twangboy/fix_47274 +.IP \(bu 2 +ff6600f25e Merge branch \(aq2018.3\(aq into fix_47274 +.IP \(bu 2 +6eff2f847b Add suggested changes +.IP \(bu 2 +e27e9fd1e7 Fix tests on Py3 +.IP \(bu 2 +f398cbbdda Use os.linesep.join instead of textwrap.dedent +.IP \(bu 2 +771392e299 Fix unit tests, add newline=\(aq\(aq to io.open +.IP \(bu 2 +c0f735dde3 Remove comment +.IP \(bu 2 +6d877bb48b Add comment +.IP \(bu 2 +9f369d3f22 Remove to_encoding, create get_encoding +.IP \(bu 2 +68be0f9ed2 Add is_encoding salt util +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47694\fP: (\fI\%thuhak\fP) utils/boto and utils/boto3 load error (refs: \fI\%#47726\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47726\fP: (\fI\%gtmanfred\fP) rename boto to botomod +@ \fI2018\-05\-25 20:37:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b860d95b2c Merge pull request \fI\%#47726\fP from gtmanfred/2018.3 +.IP \(bu 2 +43997a466e fix tests +.IP \(bu 2 +59180e09a8 switch all salt.utils.boto* calls to __utils__ calls +.IP \(bu 2 +7e30f459c9 rename boto to botomod +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47701\fP: (\fI\%babs\fP) elasticsearch.index_template_present state with check_definition: True fails. (refs: \fI\%#47703\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47803\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47703\fP to 2018.3 +@ \fI2018\-05\-23 20:12:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47703\fP: (\fI\%babs\fP) Fix elasticsearch.index_template_present with check_definition (refs: \fI\%#47803\fP) +.IP \(bu 2 +2a270162d0 Merge pull request \fI\%#47803\fP from rallytime/bp\-47703 +.IP \(bu 2 +8fce0c562d Fix elasticsearch with check_definition +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47804\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47761\fP to 2018.3 +@ \fI2018\-05\-23 20:11:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47761\fP: (\fI\%zerthimon\fP) Fix userdata in openstack instances (refs: \fI\%#47804\fP) +.IP \(bu 2 +780043e6fd Merge pull request \fI\%#47804\fP from rallytime/bp\-47761 +.IP \(bu 2 +b7bc306333 Fix userdata in openstack instances +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47776\fP: (\fI\%garethgreenaway\fP) [2018.3] Fixes to failing _before_connect tests +@ \fI2018\-05\-23 15:10:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1efe891c42 Merge pull request \fI\%#47776\fP from garethgreenaway/970_two_minion_unit_tests_failing +.IP \(bu 2 +a5011b49ab Merge branch \(aq2018.3\(aq into 970_two_minion_unit_tests_failing +.IP \(bu 2 +ef24f72169 Fixing unit.test_minion.MinionTestCase.test_beacons_before_connect and unit.test_minion.MinionTestCase.test_scheduler_before_connect. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47783\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2018.3.1 to 2018.3 +@ \fI2018\-05\-23 14:51:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4a6ca67883 Merge pull request \fI\%#47783\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +1adb8ea27f Merge branch \(aq2018.3.1\(aq into \(aq2018.3\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47149\fP: (\fI\%meaksh\fP) [2018.3] Strip trailing commas on Linux user\(aqs GECOS fields +@ \fI2018\-05\-22 21:18:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f8a6a85d28 Merge pull request \fI\%#47149\fP from meaksh/2018.3\-remove\-trailing\-commas\-on\-linux\-user\-gecos\-fields +.IP \(bu 2 +60ec3230db Merge branch \(aq2018.3\(aq into 2018.3\-remove\-trailing\-commas\-on\-linux\-user\-gecos\-fields +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46938\fP: (\fI\%racooper\fP) Beacons documentation update for 2018.3 (refs: \fI\%#47740\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47740\fP: (\fI\%garethgreenaway\fP) [2018.3] Updating Beacon topic to include list based configuration for Beacons +@ \fI2018\-05\-21 13:58:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +19f4137b63 Merge pull request \fI\%#47740\fP from garethgreenaway/46938_beacons_documentation +.IP \(bu 2 +5d23ef4dd8 Updating Beacon topic to include list based configuration for Beacons +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47710\fP: (\fI\%terminalmage\fP) salt.loader: add error logging when whitelist lookup fails +@ \fI2018\-05\-18 16:56:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +22807ac756 Merge pull request \fI\%#47710\fP from terminalmage/fix\-loader\-whitelist +.IP \(bu 2 +6192391b7b Add additional missing modules to whitelist +.IP \(bu 2 +7192c38f66 Change key \-> function to make log message more clear +.IP \(bu 2 +91f9fd38fd Fix loader whitelists in unit tests +.IP \(bu 2 +d4f2662e5b Add error logging when whitelist lookup fails +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47680\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2018.3.1 to 2018.3 +@ \fI2018\-05\-17 21:30:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b91c0f5647 Merge pull request \fI\%#47680\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +9b1773a763 Merge branch \(aq2018.3.1\(aq into \(aq2018.3\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47545\fP: (\fI\%dmurphy18\fP) Fix non\-root build and signing for rpm packages +@ \fI2018\-05\-17 21:20:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +dbf12f9be2 Merge pull request \fI\%#47545\fP from dmurphy18/fix_nonroot_build +.IP \(bu 2 +220f887fa6 Fixed review comment, changed file.chown to file.makedirs_perms +.IP \(bu 2 +b15a1652b5 Changed versionadded from 2018.3.1 to 2018.3.2, to reflect when change should be accepted +.IP \(bu 2 +90eb03e375 Additional error checking and minor cleanup +.IP \(bu 2 +40d77e03d2 Correct building rpms with non\-root user +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47546\fP: (\fI\%ender8282\fP) archive.extracted fails when archive includes files with non\-ascii names with 2018.3.0 (refs: \fI\%#48015\fP, \fI\%#47572\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47572\fP: (\fI\%garethgreenaway\fP) [2018.3] archive module, filenames with Unicode characters +@ \fI2018\-05\-17 20:41:11 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +69056e5b67 Merge pull request \fI\%#47572\fP from garethgreenaway/47546_archive_non_ascii_filenames +.IP \(bu 2 +5e97b8b44a Updating with requested changes. +.IP \(bu 2 +cc1aa75a2f only convert to bytes when using Python2 +.IP \(bu 2 +0fe32f4066 Updating integration/modules/test_archive to include filenames with unicode characters. +.IP \(bu 2 +5a9cadd125 Accounting for when files in an archive contain non\-ascii characters +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47661\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-05\-16 15:53:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +cb04d9c37e Merge pull request \fI\%#47661\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +dd3e6f3f0a Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.IP \(bu 2 +f63d801858 Merge pull request \fI\%#47639\fP from rallytime/merge\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +1503f1020f Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.INDENT 2.0 +.IP \(bu 2 +6f178ca908 Merge pull request \fI\%#47570\fP from gtmanfred/2017.7.6 +.INDENT 2.0 +.IP \(bu 2 +84aa034e03 Update dependency to msgpack +.UNINDENT +.IP \(bu 2 +98bd598701 Merge pull request \fI\%#47523\fP from rallytime/man\-pages +.INDENT 2.0 +.IP \(bu 2 +48ecb78dec [2017.7.6] Update man pages +.UNINDENT +.IP \(bu 2 +e608ea9617 Merge pull request \fI\%#47517\fP from rallytime/bp\-47505\-2017.7.6 +.IP \(bu 2 +0734578533 Raise proper invocation errors +.UNINDENT +.UNINDENT +.IP \(bu 2 +db0eef3e8b Merge pull request \fI\%#47643\fP from dwoz/runas_detect +.INDENT 2.0 +.IP \(bu 2 +8c5e54b8b3 Fix typo +.IP \(bu 2 +69bc88f1c6 Remove unwanted file +.UNINDENT +.IP \(bu 2 +6dd3ab9f06 Merge pull request \fI\%#47601\fP from dwoz/runas_detect +.INDENT 2.0 +.IP \(bu 2 +3235ac08cb use ignore\-undefined\-variable +.IP \(bu 2 +58911d510a Ignore pylint WindowsError +.IP \(bu 2 +17987d3c5a Better doc string +.IP \(bu 2 +a48ac26573 Skip tests when we can not use runas +.UNINDENT +.IP \(bu 2 +f61ccae627 Merge pull request \fI\%#47611\fP from Ch3LL/deb_doc +.INDENT 2.0 +.IP \(bu 2 +6d2ddd050f One more grammar fixup +.IP \(bu 2 +2d5ff01261 Grammar fix +.IP \(bu 2 +138847c9c4 Update debian install docs to reflect new latest debian releases +.UNINDENT +.IP \(bu 2 +9e2fe284e4 Merge pull request \fI\%#47598\fP from rallytime/bp\-47568\-2017.7 +.INDENT 2.0 +.IP \(bu 2 +09458c65cf Add exception logging on serialize/deserialize exceptions +.IP \(bu 2 +c62c855f9c salt.serializers.yaml/yamlex: remove invalid multi_constructor +.UNINDENT +.IP \(bu 2 +8a7913ccc3 Merge pull request \fI\%#47548\fP from Ch3LL/syslog +.INDENT 2.0 +.IP \(bu 2 +31f13a4197 sysloghander: check for 3.5.4 python version +.IP \(bu 2 +a020352a03 Catch Sysloghandler errors when log file does not exist +.UNINDENT +.IP \(bu 2 +82fb6ba366 Merge pull request \fI\%#47508\fP from gtmanfred/2017.7 +.INDENT 2.0 +.IP \(bu 2 +1a87e7455f allow pulling the mysql_query.run_file to pull from the fileserver +.UNINDENT +.IP \(bu 2 +be29b58a09 Merge pull request \fI\%#47562\fP from rallytime/bp\-47513 +.INDENT 2.0 +.IP \(bu 2 +357bc084b3 fix \fI\%#46546\fP +.UNINDENT +.IP \(bu 2 +d3121fcfa4 Merge pull request \fI\%#47471\fP from meaksh/2017.7\-fix\-inconsistent\-scheduled\-jid\-with\-returners +.INDENT 2.0 +.IP \(bu 2 +f079939500 Do not override jid on returners, only sending back to master +.UNINDENT +.IP \(bu 2 +662f6086db Merge pull request \fI\%#47313\fP from Circuitsoft/2017.7 +.INDENT 2.0 +.IP \(bu 2 +237560b745 Merge branch \(aq2017.7\(aq into 2017.7 +.IP \(bu 2 +cb674fb1cb Enable opkg as pkgrepo handler on Poky +.IP \(bu 2 +7a58fd157e Enable opkg on non\-NILinuxRT systems +.IP \(bu 2 +139360c55f Add Poky to OS Information Grains +.IP \(bu 2 +d74057224d Un\-normalize os_family in pkgrepo state +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47672\fP: (\fI\%terminalmage\fP) Backport \fI\%#47487\fP to 2018.3 +@ \fI2018\-05\-16 13:55:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47487\fP: (\fI\%rosscdh\fP) bad ref to error fix (refs: \fI\%#47672\fP) +.IP \(bu 2 +d17a16b648 Merge pull request \fI\%#47672\fP from terminalmage/bp\-47487 +.IP \(bu 2 +12abbfdcf7 bad ref to error fix +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47501\fP: (\fI\%mateiw\fP) salt\-ssh doesn\(aqt propagate pillar when overriding pillar in module.run + state.apply (refs: \fI\%#47504\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47504\fP: (\fI\%mateiw\fP) Fix pillar propagation in salt\-ssh when overriding pillar in module.run + state.apply +@ \fI2018\-05\-16 13:55:05 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9d4f5203a7 Merge pull request \fI\%#47504\fP from mateiw/2018.3\-salt\-ssh\-pillar\-propagation\-issue\-47501 +.IP \(bu 2 +3ffa412ee5 Merge branch \(aq2018.3\(aq into 2018.3\-salt\-ssh\-pillar\-propagation\-issue\-47501 +.IP \(bu 2 +2f1485e067 Option to merge current pillar with opts[\(aqpillar\(aq] during pillar compile +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47212\fP: (\fI\%weswhet\fP) fix macOS running as user. +@ \fI2018\-05\-16 13:54:23 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4fe78bbb9b Merge pull request \fI\%#47212\fP from weswhet/fix\-macos\-runas +.IP \(bu 2 +8ee11d74af Merge branch \(aq2018.3\(aq into fix\-macos\-runas +.IP \(bu 2 +e78fa45927 adding in requested changes +.IP \(bu 2 +33c1492099 Merge branch \(aq2018.3\(aq into fix\-macos\-runas +.IP \(bu 2 +0ecabcae78 adding in a fix for running commands as a user on macos +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47587\fP: (\fI\%FedericoOlivieri\fP) \-\-out=table broken in 2018.3.0 \(aqstr\(aq object but received a \(aqunicode\(aq (refs: \fI\%#47674\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47674\fP: (\fI\%terminalmage\fP) Fix regression in table outputter due to unicode types +@ \fI2018\-05\-16 13:41:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0c7439a955 Merge pull request \fI\%#47674\fP from terminalmage/issue47587 +.IP \(bu 2 +43e3dcd398 Fix Python 3 incompatibility in table outputter +.IP \(bu 2 +d729656703 Add unit tests for table outputter +.IP \(bu 2 +907d182dea Fix regression in table outputter due to unicode strings +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47617\fP: (\fI\%aesposito91\fP) Update napalm.py +@ \fI2018\-05\-15 15:44:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d1a1a594e9 Merge pull request \fI\%#47617\fP from aesposito91/2018.3 +.IP \(bu 2 +9f5d201dd7 Update napalm.py +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46871\fP: (\fI\%guettli\fP) Sentry Logging Handler (refs: \fI\%#47649\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47649\fP: (\fI\%paulcollinsiii\fP) Some additional details about Sentry for the docs +@ \fI2018\-05\-15 15:41:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +049abe2850 Merge pull request \fI\%#47649\fP from paulcollinsiii/sentry_docs +.IP \(bu 2 +2a8dfd65d7 Some additional details about Sentry for the docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47642\fP: (\fI\%garethgreenaway\fP) [2018.3] Updating templates used by salt\-extend for unicode goodness +@ \fI2018\-05\-15 15:38:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8a21b864df Merge pull request \fI\%#47642\fP from garethgreenaway/unicode_update_salt_extend_templates +.IP \(bu 2 +68d73f7afc Updating the templates that the salt\-extend utility uses to include unicode_literals & print_function +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +0232a6e1ad Add \(aqother\(aq as valid kwargs for \(aquser.add\(aq method +.IP \(bu 2 +ff861d9089 Merge branch \(aq2018.3\(aq into 2018.3\-remove\-trailing\-commas\-on\-linux\-user\-gecos\-fields +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47603\fP: (\fI\%terminalmage\fP) Move/merge more test modules +@ \fI2018\-05\-14 20:48:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +99f53c0a9f Merge pull request \fI\%#47603\fP from terminalmage/more\-test\-renaming +.IP \(bu 2 +d612bd27e4 Move/merge more test modules +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47640\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2018.3.1 to 2018.3 +@ \fI2018\-05\-14 17:59:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +cc3daa88f3 Merge pull request \fI\%#47640\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +2827c56399 Merge branch \(aq2018.3.1\(aq into \(aq2018.3\(aq +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +f1680f1d9b Do make comparisons in a single line +.IP \(bu 2 +7dea455c12 Add unit test for new method \(aquser.chother\(aq +.IP \(bu 2 +694882632c Add \(aqother\(aq attribute to GECOS fields to avoid inconsistencies with chfn +.IP \(bu 2 +6c089c9de1 Fix unsupported chars checking on GECOS fields +.IP \(bu 2 +d5c9ca0fbc Add unit tests for GECOS fields +.IP \(bu 2 +ed940c4f58 Strip trailing commas on Linux user GECOS fields +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47589\fP: (\fI\%Ch3LL\fP) Remove duplicate file id in watch_any doc example +@ \fI2018\-05\-10 22:06:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4ec63dd041 Merge pull request \fI\%#47589\fP from Ch3LL/watch_any_doc +.IP \(bu 2 +8cb97a48f5 Add additional state to watch_any doc example +.IP \(bu 2 +f7223a3bbf Remove duplicate file id in watch_any doc example +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47564\fP: (\fI\%rallytime\fP) [2018.3] Merge forward from 2017.7 to 2018.3 +@ \fI2018\-05\-10 19:13:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9836a7e62b Merge pull request \fI\%#47564\fP from rallytime/merge\-2018.3 +.IP \(bu 2 +295e302fcf Lint: Fix syntax error from bad merge\-conflict resolution +.IP \(bu 2 +25f03ae425 Merge branch \(aq2017.7\(aq into \(aq2018.3\(aq +.IP \(bu 2 +291d3d3bd8 Merge pull request \fI\%#47540\fP from terminalmage/cmdmod\-home\-fix +.INDENT 2.0 +.IP \(bu 2 +e4b277f82e Fix corner case where runas user\(aqs HOME env value is incorrect +.UNINDENT +.IP \(bu 2 +49af577b3e Merge pull request \fI\%#47547\fP from terminalmage/gitfs\-tutorial +.INDENT 2.0 +.IP \(bu 2 +806ffb298a Add masterless mode docs to gitfs tutorial +.UNINDENT +.IP \(bu 2 +476ba053d1 Merge pull request \fI\%#47538\fP from terminalmage/pip\-docs +.INDENT 2.0 +.IP \(bu 2 +98e8ffeba4 Fix/clarify some of the pip module documentation +.UNINDENT +.IP \(bu 2 +7cc8d9d30a Merge pull request \fI\%#47524\fP from dwoz/whitelistlines +.INDENT 2.0 +.IP \(bu 2 +2605ff8712 Gracefully handle blank lines in whitelist.txt +.UNINDENT +.IP \(bu 2 +f1a5b13072 Merge pull request \fI\%#47527\fP from dwoz/test_file_name +.INDENT 2.0 +.IP \(bu 2 +4aea7ca571 Update doc string +.IP \(bu 2 +b3289e5a1c Fix test file name +.UNINDENT +.IP \(bu 2 +e9c1723175 Merge pull request \fI\%#47408\fP from Ch3LL/skip_diskusage +.INDENT 2.0 +.IP \(bu 2 +068da8ad7d Merge branch \(aq2017.7\(aq into skip_diskusage +.IP \(bu 2 +1a7ffb4e0d return error if diskusage not available +.IP \(bu 2 +10bd63a976 Skip status.diskusage integration tests on macsox +.UNINDENT +.IP \(bu 2 +2f50ff7bc8 Merge pull request \fI\%#47480\fP from baniobloom/ConflictingDomainExists +.INDENT 2.0 +.IP \(bu 2 +d22ed7dffa added handling for the aws error ConflictingDomainExists +.UNINDENT +.IP \(bu 2 +7f53be6e92 Merge pull request \fI\%#47444\fP from terminalmage/render_state\-spurious\-error +.INDENT 2.0 +.IP \(bu 2 +a1e9fe00fd Skip trying to render a template for a nonexistant SLS file +.UNINDENT +.IP \(bu 2 +50b9c4d79d Merge pull request \fI\%#47478\fP from terminalmage/rename\-pip\-state\-test +.INDENT 2.0 +.IP \(bu 2 +9f7a9ebebd Rename pip state test modules to match naming convention +.UNINDENT +.IP \(bu 2 +e78ac0f9b7 Merge pull request \fI\%#47505\fP from dwoz/win_dsc_fixes +.INDENT 2.0 +.IP \(bu 2 +d1fcb40d1c Raise proper invocation errors +.UNINDENT +.IP \(bu 2 +0d4d5047d8 Merge pull request \fI\%#47499\fP from dwoz/win_run_timeout_again +.INDENT 2.0 +.IP \(bu 2 +c6697b9f16 Move kill process tree and re\-use it +.UNINDENT +.IP \(bu 2 +6a4d0380b1 Merge pull request \fI\%#47493\fP from dwoz/win_run_timeout +.IP \(bu 2 +fec1233dc4 Add support for windows timeout to run_salt +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47565\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47440\fP to 2018.3 +@ \fI2018\-05\-10 18:15:50 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47440\fP: (\fI\%kt97679\fP) fix for the race condition, details are here: \fI\%https://github.com/salt\fP… (refs: \fI\%#47565\fP) +.IP \(bu 2 +b22657ff9e Merge pull request \fI\%#47565\fP from rallytime/bp\-47440 +.IP \(bu 2 +7c43417d46 addressed feedback +.IP \(bu 2 +1abe05207c fix for the race condition, details are here: \fI\%https://github.com/saltstack/salt/issues/33223#issuecomment\-386117236\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47590\fP: (\fI\%Ch3LL\fP) Fix firewalld prune_services deprecation warning +@ \fI2018\-05\-10 17:01:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +17e0fdca6c Merge pull request \fI\%#47590\fP from Ch3LL/firewall_warn +.IP \(bu 2 +d29b8e0ae2 Fix firewalld prune_services deprecation warning +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47568\fP: (\fI\%terminalmage\fP) salt.serializers.yaml/yamlex: remove invalid multi_constructor (refs: \fI\%#47598\fP) +@ \fI2018\-05\-10 16:21:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2fcb108d71 Merge pull request \fI\%#47568\fP from terminalmage/salt\-jenkins\-971 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#38671\fP: (\fI\%MikeSpaceG\fP) zpool.get error (refs: \fI\%#47224\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47563\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47224\fP to 2018.3 +@ \fI2018\-05\-10 16:18:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47224\fP: (\fI\%sjorge\fP) Zpool zol fixes (refs: \fI\%#47563\fP) +.IP \(bu 2 +e3ee7053fb Merge pull request \fI\%#47563\fP from rallytime/bp\-47224 +.IP \(bu 2 +1d191445a7 FIX \fI\%#38671\fP \- zpool.get should support older zfs version +.IP \(bu 2 +23705b12cb zpool.scub docs should mention pause is not always available +.IP \(bu 2 +d73885aa5c Make sure the docs mention that createboot is only available on illumos +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47569\fP: (\fI\%Ch3LL\fP) Update salt.utils.path mock in virtual core test +@ \fI2018\-05\-10 15:18:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8e26624db3 Merge pull request \fI\%#47569\fP from Ch3LL/core_virt +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47576\fP: (\fI\%rallytime\fP) [2018.3] Small Documentation Fixes +@ \fI2018\-05\-10 14:08:11 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +fc93715eea Merge pull request \fI\%#47576\fP from rallytime/doc\-updates +.IP \(bu 2 +ca927fc14b Add extra lines that are needed for proper code\-block formatting +.IP \(bu 2 +b330d763a4 Remove infoblox state autodoc file +.UNINDENT +.UNINDENT +.SS In Progress: Salt 2018.3.4 Release Notes +.sp +Version 2018.3.4 is an \fBunreleased\fP bugfix release for 2018.3.0\&. +This release is still in progress and has not been released yet. +.SS State Changes +.INDENT 0.0 +.IP \(bu 2 +The \fBhost.present\fP state can now remove +the specified hostname from IPs not specified in the state. This can be done +by setting the newly\-added \fBclean\fP argument to \fBTrue\fP\&. +.UNINDENT .SS Salt 2017.7.0 Release Notes \- Codename Nitrogen .SS Python 3 .sp @@ -394767,7 +429576,7 @@ fc306fc8c3 Add missing colon in \fIif\fP statement .IP \(bu 2 822eabcc81 Catch exceptions raised when making changes to jenkins .IP \(bu 2 -91b583b493 Improve and correct execption raising +91b583b493 Improve and correct exception raising .IP \(bu 2 f096917a0e Raise an exception if we fail to cache the config xml .UNINDENT @@ -407533,10 +442342,27 @@ d53569d1e3 Add release notes file for 2017.7.7 e4e62e8b3a Ensure that the shared list of jids is passed when creating the Minion. Fixes an issue when minions are pointed at multiple syndics. .UNINDENT .UNINDENT -.SS In Progress: Salt 2017.7.8 Release Notes +.SS Salt 2017.7.8 Release Notes .sp -Version 2017.7.8 is an \fBunreleased\fP bugfix release for 2017.7.0\&. -This release is still in progress and has not been released yet. +Version 2017.7.8 is a security and bugfix release for 2017.7.0\&. +.SS Statistics +.INDENT 0.0 +.IP \(bu 2 +Total Merges: \fB237\fP +.IP \(bu 2 +Total Issue References: \fB48\fP +.IP \(bu 2 +Total PR References: \fB279\fP +.IP \(bu 2 +Contributors: \fB52\fP (\fI\%AVeenstra\fP, \fI\%Ch3LL\fP, \fI\%Circuitsoft\fP, \fI\%DmitryKuzmenko\fP, \fI\%KaiSforza\fP, \fI\%Martin819\fP, \fI\%OrlandoArcapix\fP, \fI\%UtahDave\fP, \fI\%Vaelatern\fP, \fI\%abednarik\fP, \fI\%asnell\fP, \fI\%b1naryth1ef\fP, \fI\%baniobloom\fP, \fI\%basepi\fP, \fI\%bdrung\fP, \fI\%beornf\fP, \fI\%bmcorser\fP, \fI\%bowmanjd\-lms\fP, \fI\%damon\-atkins\fP, \fI\%darkpixel\fP, \fI\%discogestalt\fP, \fI\%doesitblend\fP, \fI\%dqminh\fP, \fI\%dubb\-b\fP, \fI\%dwoz\fP, \fI\%frankiexyz\fP, \fI\%frogunder\fP, \fI\%fzipi\fP, \fI\%garethgreenaway\fP, \fI\%grokrecursion\fP, \fI\%gtmanfred\fP, \fI\%jacksontj\fP, \fI\%jagguli\fP, \fI\%lejambon\fP, \fI\%lomeroe\fP, \fI\%lordcirth\fP, \fI\%lusche\fP, \fI\%mbunkus\fP, \fI\%meaksh\fP, \fI\%mirceaulinic\fP, \fI\%nbraud\fP, \fI\%pritambaral\fP, \fI\%ralex\fP, \fI\%rallytime\fP, \fI\%rmcintosh\fP, \fI\%slaws\fP, \fI\%terminalmage\fP, \fI\%twangboy\fP, \fI\%twellspring\fP, \fI\%wyardley\fP, \fI\%xetix\fP, \fI\%zer0def\fP) +.UNINDENT +.SS Security Fix +.sp +CVE\-2018\-15751 Remote command execution and incorrect access control when using salt\-api. +.sp +CVE\-2018\-15750 Directory traversal vulnerability when using salt\-api. Allows an attacker to determine what files exist on a server when querying /run or /events. +.sp +Credit and thanks for discovery and responsible disclosure: nullbr4in, xcuter, koredge, loupos, blackcon, Naver Business Platform .SS New win_snmp behavior .INDENT 0.0 .IP \(bu 2 @@ -407557,6 +442383,2764 @@ A new config option (\fBdocker.update_mine\fP) has been added. When set to \fBFalse\fP, Salt will not send this information to the mine. This is useful in cases where sensitive information is stored in the container\(aqs environment. +.SS Changelog for v2017.7.7..v2017.7.8 +.sp +\fIGenerated at: 2018\-09\-04 21:09:41 UTC\fP +.INDENT 0.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49498\fP: (\fI\%rallytime\fP) Pin CherryPy version to < 18.0.0 in requirements files for PY2 +@ \fI2018\-09\-04 17:55:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0d7b173b24 Merge pull request \fI\%#49498\fP from rallytime/pin\-cherrypy\-2017.7.8 +.IP \(bu 2 +81a6155b6b Pin CherryPy version to < 18.0.0 in requirements files for PY2 +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47087\fP: (\fI\%darkpixel\fP) How do I stop the prompt "Permission denied for host <hostname>, do you want to deploy the salt\-ssh key? (password required):"? (refs: \fI\%#47100\fP, #\(gasaltstack/salt\(ga#47100\(ga_\(ga_) +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%saltstack/salt#47100\fP: (\fI\%gtmanfred\fP) Allow for not being prompted to supply a password to deploy keys to a… (refs: \fI\%#49461\fP) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49466\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49461\fP to 2017.7.8 +@ \fI2018\-08\-31 15:44:11 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49461\fP: (\fI\%gtmanfred\fP) Revert "Allow for not being prompted to supply a password to deploy keys to a…" (refs: \fI\%#49466\fP) +.IP \(bu 2 +52ab2c0574 Merge pull request \fI\%#49466\fP from rallytime/bp\-49461 +.IP \(bu 2 +58428003b1 Revert "Allow for not being prompted to supply a password to deploy keys to a…" +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49284\fP: (\fI\%twangboy\fP) Fix path to libsodium tarball +@ \fI2018\-08\-23 17:19:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1bbe7df6c4 Merge pull request \fI\%#49284\fP from twangboy/fix_installer_osx +.IP \(bu 2 +a112eaa597 Fix path to libsodium tarball +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49272\fP: (\fI\%twangboy\fP) Add 64 bit binaries for KB2999226 to the x86 installer +@ \fI2018\-08\-23 14:27:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e0e8779985 Merge pull request \fI\%#49272\fP from twangboy/fix_installer_more +.IP \(bu 2 +a8f054b2d2 Add 64bit binaries for KB2999226 to the x86 installer +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49218\fP: (\fI\%twangboy\fP) Fix Windows and OSX installers +@ \fI2018\-08\-21 01:10:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0eb6ddf0e8 Merge pull request \fI\%#49218\fP from twangboy/fix_installer +.IP \(bu 2 +e8a1d2f772 Add more descriptive error when KB not found +.IP \(bu 2 +71737ea687 Suppress all ui on vcredist installation +.IP \(bu 2 +7dae9bb2a1 Fix Windows and OSX installers +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49116\fP: (\fI\%twangboy\fP) Fix windows installer script +@ \fI2018\-08\-14 17:09:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e484f261ee Merge pull request \fI\%#49116\fP from twangboy/fix_installer +.IP \(bu 2 +1227095c5d Add nonfatal switch to VCRedist +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49113\fP: (\fI\%Ch3LL\fP) Add changelog to 2017.7.8 release notes +@ \fI2018\-08\-14 15:03:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0b9f2f8884 Merge pull request \fI\%#49113\fP from Ch3LL/rn_7.8 +.IP \(bu 2 +f6b70bb653 Add changelog to 2017.7.8 release notes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49051\fP: (\fI\%rallytime\fP) Back\-port \fI\%#49046\fP to 2017.7.8 +@ \fI2018\-08\-10 17:19:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49046\fP: (\fI\%garethgreenaway\fP) [2017.7] Another fix to tests/integration/modules/test_service.py (refs: \fI\%#49051\fP) +.IP \(bu 2 +01cf2c71ff Merge pull request \fI\%#49051\fP from rallytime/bp\-49046 +.IP \(bu 2 +fc0817cb35 The osfullname grain differs when using Python2 vs Python3, swapping this out for the "OS" grain which is consistent. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49044\fP: (\fI\%Ch3LL\fP) increase timeout on vultr cloud integration test +@ \fI2018\-08\-10 01:28:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +189e28691f Merge pull request \fI\%#49044\fP from Ch3LL/vultr_test +.IP \(bu 2 +0dedfae4d1 increase timeout on vultr cloud integration test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49042\fP: (\fI\%rallytime\fP) Mark a jinja template test as flaky +@ \fI2018\-08\-09 21:05:54 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c606a32cf2 Merge pull request \fI\%#49042\fP from rallytime/flaky\-jinja\-test +.IP \(bu 2 +a43d9b4ba6 Mark a jinja template test as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49041\fP: (\fI\%Ch3LL\fP) [2017.7.8] backport PR \fI\%#48212\fP +@ \fI2018\-08\-09 21:05:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48212\fP: (\fI\%Ch3LL\fP) Fix python3 ec2 salt\-cloud TypeError when installing salt (refs: \fI\%#49041\fP) +.IP \(bu 2 +6415b6f73b Merge pull request \fI\%#49041\fP from Ch3LL/ec2_fix +.IP \(bu 2 +cf7f2459b8 [2017.7.8] backport PR \fI\%#48212\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49030\fP: (\fI\%rallytime\fP) Update netapi client tests +@ \fI2018\-08\-09 17:11:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1db036406b Merge pull request \fI\%#49030\fP from rallytime/update\-client\-tests +.IP \(bu 2 +f08ee6c6ae Update netapi client tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49024\fP: (\fI\%rallytime\fP) Fix test error in test_compiler jinja check +@ \fI2018\-08\-09 12:43:23 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#49002\fP: (\fI\%rallytime\fP) Skip test_jinja_deep_error on Debian 8 (refs: \fI\%#49024\fP) +.IP \(bu 2 +f73ba21bc7 Merge pull request \fI\%#49024\fP from rallytime/fix\-deb\-test +.IP \(bu 2 +a9c16d9137 Fix test error in test_compiler jinja check +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49020\fP: (\fI\%rallytime\fP) Make grains integration test more robust +@ \fI2018\-08\-08 20:59:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6b6d68c615 Merge pull request \fI\%#49020\fP from rallytime/fix\-grains\-test +.IP \(bu 2 +f72a3ac6be Make grains integration test more robust +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#49002\fP: (\fI\%rallytime\fP) Skip test_jinja_deep_error on Debian 8 (refs: \fI\%#49024\fP) +@ \fI2018\-08\-08 19:18:39 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +92d6c25c7f Merge pull request \fI\%#49002\fP from rallytime/skip\-jinja\-deep\-error\-test +.IP \(bu 2 +23b66ef8bb Skip test_jinja_deep_error on Debian 8 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48999\fP: (\fI\%rallytime\fP) Update expected return value in boto test +@ \fI2018\-08\-08 14:42:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +41d9f11eb3 Merge pull request \fI\%#48999\fP from rallytime/fix\-boto\-test +.IP \(bu 2 +d0136b1be5 Update expected return value in boto test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48976\fP: (\fI\%rallytime\fP) Skip unreliable tornado tests +@ \fI2018\-08\-07 18:55:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a1e54634dc Merge pull request \fI\%#48976\fP from rallytime/tornado +.IP \(bu 2 +0bd838ab6c Skip unreliable tornado tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48979\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48959\fP to 2017.7.8 +@ \fI2018\-08\-07 18:11:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48959\fP: (\fI\%rallytime\fP) Mark some more tests as flaky (refs: \fI\%#48979\fP) +.IP \(bu 2 +22713be9c1 Merge pull request \fI\%#48979\fP from rallytime/bp\-48959 +.IP \(bu 2 +aaf986d728 Mark one grains test as flaky & convert to pytest notation +.IP \(bu 2 +e7e5abcf48 Mark 2 matcher tests as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48970\fP: (\fI\%Ch3LL\fP) [2017.7.8] Backport \fI\%#48962\fP +@ \fI2018\-08\-07 15:01:57 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48962\fP: (\fI\%garethgreenaway\fP) [2017.7] Fixing tests/integration/modules/test_service.py (refs: \fI\%#48970\fP) +.IP \(bu 2 +03aa0e49b0 Merge pull request \fI\%#48970\fP from Ch3LL/back_48962 +.IP \(bu 2 +3ce1b8a3c9 Update the elif block to only be true for versions below Debian 9. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48968\fP: (\fI\%rallytime\fP) Update man pages for 2017.7.8 release +@ \fI2018\-08\-07 14:29:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e6cea5e3c7 Merge pull request \fI\%#48968\fP from rallytime/man\-pages +.IP \(bu 2 +64fe3be41a Update man pages for 2017.7.8 release +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48950\fP: (\fI\%KaiSforza\fP) Added a quote to kitchen Jenkinsfiles +@ \fI2018\-08\-06 14:29:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +848d583438 Merge pull request \fI\%#48950\fP from KaiSforza/kitchenfix\-2017.7 +.IP \(bu 2 +5242cb143a Added a quote to kitchen Jenkinsfiles +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48943\fP: (\fI\%rallytime\fP) Mark some shell and runner integration tests as flaky +@ \fI2018\-08\-06 13:08:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +928d688d65 Merge pull request \fI\%#48943\fP from rallytime/flaky\-tests +.IP \(bu 2 +668da57ab9 Mark some shell and runner integration tests as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48940\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48852\fP to 2017.7 +@ \fI2018\-08\-05 21:32:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48852\fP: (\fI\%KaiSforza\fP) Record all the artifacts from the build (refs: \fI\%#48940\fP) +.IP \(bu 2 +cd42510d3a Merge pull request \fI\%#48940\fP from rallytime/bp\-48852 +.IP \(bu 2 +fa4ef92e79 Record all the artifacts from the build +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48935\fP: (\fI\%garethgreenaway\fP) [2017.7] Fix to test_pkg.test_pkg_015_installed_held +@ \fI2018\-08\-05 19:47:39 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +43649a68be Merge pull request \fI\%#48935\fP from garethgreenaway/1045_test_pkg_015_installed_held_centos +.IP \(bu 2 +0bb10107b6 Merge branch \(aq2017.7\(aq into 1045_test_pkg_015_installed_held_centos +.IP \(bu 2 +24d5e6a22f Fixing the test_pkg_015_installed_held test to be able to successfully run on CentOS +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47087\fP: (\fI\%darkpixel\fP) How do I stop the prompt "Permission denied for host <hostname>, do you want to deploy the salt\-ssh key? (password required):"? (refs: \fI\%#47100\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47100\fP: (\fI\%gtmanfred\fP) Allow for not being prompted to supply a password to deploy keys to a… +@ \fI2018\-08\-05 19:12:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2421e2a570 Merge pull request \fI\%#47100\fP from gtmanfred/ssh +.IP \(bu 2 +5b443af7ae add key\-deploy test +.IP \(bu 2 +a131c9beeb Allow for not being prompted to supply a password to deploy keys to a minion with salt\-ssh +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48865\fP: (\fI\%mts\-avco\fP) Windows packages are hidden in pkg.list_pkgs if they have no DisplayVersion (refs: \fI\%#48891\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48891\fP: (\fI\%damon\-atkins\fP) win_pkg: Fix issue introduced in Jan 2018 DisplayVersion missing should result… +@ \fI2018\-08\-05 18:53:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d541bd6446 Merge pull request \fI\%#48891\fP from damon\-atkins/2017.7_win_pkg.list_pkgs_not_found +.IP \(bu 2 +a4af1dbfb1 Fix win_pkg issues introduced Jan 2018. If DisplayVersion does not exist it should return version as "Not Found" +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#27056\fP: (\fI\%oogali\fP) pkgng provider on FreeBSD does not do BATCH=yes (refs: \fI\%#48730\fP, \fI\%#29909\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48896\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48730\fP to 2017.7 +@ \fI2018\-08\-05 18:20:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48730\fP: (\fI\%fzipi\fP) Fix batch install on FreeBSD using pkgng (refs: \fI\%#48896\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#29909\fP: (\fI\%abednarik\fP) FreeBSD pkgng fix for non\-interactive install. (refs: \fI\%#48730\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#29907\fP: (\fI\%bmcorser\fP) Presumably what was meant (refs: \fI\%#48730\fP) +.IP \(bu 2 +5f6a56f5dc Merge pull request \fI\%#48896\fP from rallytime/bp\-48730 +.IP \(bu 2 +57aa204c9d Merge branch \(aq2017.7\(aq into bp\-48730 +.IP \(bu 2 +4995922584 Forgot variable in signature +.IP \(bu 2 +0503bc18b6 Fix batch install using pkgng +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48933\fP: (\fI\%garethgreenaway\fP) [2017.7] Fix to test_service_disable_doesnot_exist +@ \fI2018\-08\-05 14:29:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0c64bba865 Merge pull request \fI\%#48933\fP from garethgreenaway/1022_debian_8_failing_service\-test +.IP \(bu 2 +280d1d2ad2 Fixing failing test, integration.modules.test_service.ServiceModuleTest.test_service_disable_doesnot_exist, on Debian 8 and higher. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48922\fP: (\fI\%rallytime\fP) Update backticks on job_cache docs +@ \fI2018\-08\-03 21:05:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0c3d2c6a09 Merge pull request \fI\%#48922\fP from rallytime/cache\-doc\-error +.IP \(bu 2 +8ca89df7e8 Update backticks on job_cache docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48866\fP: (\fI\%Ch3LL\fP) Add cmd module integration tests for windows and fix space in path issue +@ \fI2018\-08\-03 21:03:33 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8d1fc4f8e5 Merge pull request \fI\%#48866\fP from Ch3LL/cmd_win_tests +.IP \(bu 2 +905da13653 Merge branch \(aq2017.7\(aq into cmd_win_tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48920\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48904\fP to 2017.7 +@ \fI2018\-08\-03 15:17:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48904\fP: (\fI\%KaiSforza\fP) No rehashing in parallel (refs: \fI\%#48920\fP) +.IP \(bu 2 +57d58e7541 Merge pull request \fI\%#48920\fP from rallytime/bp\-48904\-2017.7 +.IP \(bu 2 +a55f92954a No rehashing in parallel +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48876\fP: (\fI\%Vaelatern\fP) Make IP_LEARNING optional +@ \fI2018\-08\-02 19:30:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e79ccb35b1 Merge pull request \fI\%#48876\fP from Vaelatern/make\-network\-learning\-optional +.IP \(bu 2 +a4905b0e5d Make IP_LEARNING optional +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48890\fP: (\fI\%Ch3LL\fP) add sleep in test_cmd integration test +@ \fI2018\-08\-02 19:15:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f8bfab4f9f Merge pull request \fI\%#48890\fP from Ch3LL/cmd_test +.IP \(bu 2 +acda4ed9ab add sleep in test_cmd integration test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48885\fP: (\fI\%rallytime\fP) Mark shadow module integration test as flaky +@ \fI2018\-08\-02 19:04:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +52722f6ded Merge pull request \fI\%#48885\fP from rallytime/flaky\-tests\-shadow +.IP \(bu 2 +da871a2d57 Mark shadow module integration test as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48884\fP: (\fI\%rallytime\fP) Separate compound matcher tests into individual tests +@ \fI2018\-08\-02 19:04:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bf0895656e Merge pull request \fI\%#48884\fP from rallytime/flaky\-tests\-matchers +.IP \(bu 2 +38d9eae537 Merge branch \(aq2017.7\(aq into flaky\-tests\-matchers +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48868\fP: (\fI\%terminalmage\fP) Fix race when SIGTERM/SIGINT received while lazyloading a module +@ \fI2018\-08\-02 17:13:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a567666938 Merge pull request \fI\%#48868\fP from terminalmage/fix\-loader\-race +.IP \(bu 2 +5f1169b9a2 Fix race when SIGTERM/SIGINT received while lazyloading a module +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48883\fP: (\fI\%terminalmage\fP) Fix failing git worktree tests +@ \fI2018\-08\-02 16:51:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0ca0b6f2f2 Merge pull request \fI\%#48883\fP from terminalmage/salt\-jenkins\-1023 +.IP \(bu 2 +c61f75cb50 Fix failing git worktree tests +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +3660dff13c Separate compound matcher tests into individual tests +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48869\fP: (\fI\%Ch3LL\fP) Catch socket.error exception in testprogram +@ \fI2018\-08\-02 14:19:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a84f5155a1 Merge pull request \fI\%#48869\fP from Ch3LL/mac_shell_tests +.IP \(bu 2 +3734b1ec89 Catch socket.error exception in testprogram +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48867\fP: (\fI\%rallytime\fP) Skip unreliable tornado test. +@ \fI2018\-08\-01 21:07:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7f56b8bf44 Merge pull request \fI\%#48867\fP from rallytime/skip\-tornado\-test +.IP \(bu 2 +7320aa9104 Skip unreliable tornado test. +.IP \(bu 2 +3be11e06fe Add docs for new escape kwarg +.IP \(bu 2 +391bb8a411 use a specific path for just the cmd._run call +.IP \(bu 2 +62c66ba489 make sure we lower the check on shell +.IP \(bu 2 +9312a993a5 Add cmd module integration tests for windows and fix space in path issue +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48853\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48850\fP to 2017.7 +@ \fI2018\-07\-31 20:21:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48850\fP: (\fI\%rallytime\fP) Skip tests in integration.shell.test_master (refs: \fI\%#48853\fP) +.IP \(bu 2 +05f2d65de3 Merge pull request \fI\%#48853\fP from rallytime/bp\-48850 +.IP \(bu 2 +3c33ee554a Skip tests in integration.shell.test_master +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46689\fP: (\fI\%mxork\fP) pkg.installed: hold: True not applied to a package which is already installed. (refs: \fI\%#48426\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48426\fP: (\fI\%garethgreenaway\fP) [2017.7] fixes to states/pkg.py +@ \fI2018\-07\-31 20:18:05 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8a1285239a Merge pull request \fI\%#48426\fP from garethgreenaway/46689_fixing_pkg_held_when_package_is_installed +.IP \(bu 2 +9b0f5dd212 Fixing identation, removing some unnecessary conditionals. +.IP \(bu 2 +727964ab55 One last cleanup. +.IP \(bu 2 +11cb86e6eb General cleanup in pkg state, reducing duplicate code. Fixing the requires_salt_modules decorator, sys.doc was returning too much information for the event to handle. This change specifically calls sys.doc with the module name. +.IP \(bu 2 +16fb6ae635 Make sure pkg.hold and pkg.unhold are available before running the test. +.IP \(bu 2 +998651102d Fixing a situation when a package is already installed via salt or manually and a state attempts to set that package to be held. Previously the holding/unholding logic was only being run against packages that were being installed. This change moves the holding logic outside and runs it against all desired packages. Adding a new test to test holding logic. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47689\fP: (\fI\%OrlandoArcapix\fP) Poor performance of pip.installed when given a list of packages (refs: \fI\%#47734\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47734\fP: (\fI\%OrlandoArcapix\fP) \fI\%#47689\fP improve run\-speed of pip package state +@ \fI2018\-07\-31 19:15:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c8e69431ff Merge pull request \fI\%#47734\fP from OrlandoArcapix/Issue47689\-pip\-state\-performance +.IP \(bu 2 +662bd1f780 Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +66936b4f41 Changed string comparison in pip test to match new confirmation string \- ref PR \fI\%#47734\fP\&. +.IP \(bu 2 +bb5939d6ef Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +d6a49ae41c Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +d4083fc9d1 Merge branch \(aqIssue47689\-pip\-state\-performance\(aq of github.com:OrlandoArcapix/salt into Issue47689\-pip\-state\-performance +.INDENT 2.0 +.IP \(bu 2 +779b5fa785 Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.UNINDENT +.IP \(bu 2 +f3653349ab Removed whitespaces at end of added comments lines +.IP \(bu 2 +db11f2ff4b Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +eac0178de2 Ref: \fI\%#47689\fP \- document additional kwarg passed to pip._check_if_installed function +.IP \(bu 2 +0d19803106 Merge branch \(aq2017.7\(aq into Issue47689\-pip\-state\-performance +.IP \(bu 2 +d3678bf2f3 \fI\%#47689\fP fix lint errors +.IP \(bu 2 +4fec8f6bcc \fI\%#47698\fP improve run\-speed of pip package state checks by only loading the current package list once when checking multiple packages +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48844\fP: (\fI\%AVeenstra\fP) Fixed Python 3 incompatibility in methods in nilrt_ip and debian_ip. +@ \fI2018\-07\-31 17:20:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +83a5b3cc47 Merge pull request \fI\%#48844\fP from AVeenstra/fix\-python3\-incompatibility +.IP \(bu 2 +f238779a62 Merge branch \(aq2017.7\(aq into fix\-python3\-incompatibility +.IP \(bu 2 +6b1805afc6 Fixed Python 3 incompatibility in methods in nilrt_ip and debian_ip. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48637\fP: (\fI\%slaws\fP) state.file.retention_schedule does not ignore relative directory when using getmtime() (refs: \fI\%#48662\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48662\fP: (\fI\%slaws\fP) Excluding relative dirs in state.file.retention_schedule +@ \fI2018\-07\-31 16:15:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +136ff6735a Merge pull request \fI\%#48662\fP from slaws/fix\-retention\-schedule\-48637 +.IP \(bu 2 +3c8f5f5b3d pylint fix +.IP \(bu 2 +5539eff39e Excluding relative dirs in state.file.retention_schedule +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48818\fP: (\fI\%guettli\fP) Broken Link in Docs (refs: \fI\%#48840\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48840\fP: (\fI\%gtmanfred\fP) fix links in pkg doc. +@ \fI2018\-07\-31 16:13:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1fc04f281b Merge pull request \fI\%#48840\fP from gtmanfred/docs +.IP \(bu 2 +8d2d268c4a fix links in pkg doc. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48834\fP: (\fI\%gtmanfred\fP) read output of stringio if it is readable +@ \fI2018\-07\-31 13:40:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0a19f845ea Merge pull request \fI\%#48834\fP from gtmanfred/slsutil +.IP \(bu 2 +f9441d2bef read output of stringio if it is readable +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48788\fP: (\fI\%Ch3LL\fP) Add timzeone windows integration tests and fix get_zone +@ \fI2018\-07\-27 20:14:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2e00939a6e Merge pull request \fI\%#48788\fP from Ch3LL/timezone_windows +.IP \(bu 2 +de95a6a215 add unused import to timezone test file +.IP \(bu 2 +22e424859e add unused import to import +.IP \(bu 2 +0840fc3117 disable pylint import error +.IP \(bu 2 +f09d1a2c7e Add timzeon windows integration tests and fix get_zone +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48742\fP: (\fI\%frogunder\fP) add windows integration tests for states.file +@ \fI2018\-07\-27 13:57:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8e61f3dce0 Merge pull request \fI\%#48742\fP from frogunder/45014 +.IP \(bu 2 +f08058b043 Merge branch \(aq45014\(aq of \fI\%https://github.com/frogunder/salt\fP into 45014 +.INDENT 2.0 +.IP \(bu 2 +757fde70c6 Merge branch \(aq2017.7\(aq into 45014 +.UNINDENT +.IP \(bu 2 +33c20c1ec0 fix tests +.IP \(bu 2 +a7a914060d add windows integration tests for states.file +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48417\fP: (\fI\%samilaine\fP) Contribution Documentation Refers to Incorrect Pylintrc (refs: \fI\%#48795\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48795\fP: (\fI\%rallytime\fP) Update linting docs to contain .testing.pylintrc use +@ \fI2018\-07\-27 13:34:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d74f47b340 Merge pull request \fI\%#48795\fP from rallytime/fix\-48417 +.IP \(bu 2 +5123b17ffd Update linting docs to contain .testing.pylintrc use +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48789\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48783\fP to 2017.7 +@ \fI2018\-07\-26 21:47:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48783\fP: (\fI\%KaiSforza\fP) Only run lint checks against changed files (refs: \fI\%#48789\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48610\fP: (\fI\%gtmanfred\fP) only run pylint on files that change (refs: \fI\%#48783\fP) +.IP \(bu 2 +bbea9ae936 Merge pull request \fI\%#48789\fP from rallytime/bp\-48783 +.IP \(bu 2 +682a05bebe Threshold was wrong +.IP \(bu 2 +d4ca0e3a97 test: except for OSError only +.IP \(bu 2 +4547231909 Only run lint checks against changed files +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48731\fP: (\fI\%zer0def\fP) Fixed \fIenable_vnc\fP runner arg being passed into \fIseed_cmd\fP module arg in \fIvirt.init\fP\&. +@ \fI2018\-07\-26 21:13:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +41464d4b39 Merge pull request \fI\%#48731\fP from zer0def/virt\-runner\-init\-args +.IP \(bu 2 +a1fa081ad0 Documentation to missing parameters in virt.init runner. +.IP \(bu 2 +365ebdf539 Fixed \fIenable_vnc\fP runner arg being passed into \fIseed_cmd\fP module arg in \fIvirt.init\fP\&. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48749\fP: (\fI\%Ch3LL\fP) Update Saltstack Logo banner on docs.saltstack.com +@ \fI2018\-07\-25 13:05:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +169afea16a Merge pull request \fI\%#48749\fP from Ch3LL/logo_docs +.IP \(bu 2 +73b1fc29f0 Update Saltstack Logo banner on docs.saltstack.com +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48743\fP: (\fI\%rallytime\fP) Update DOCBANNER with new SaltConf18 image +@ \fI2018\-07\-24 16:46:19 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +781c6a6c36 Merge pull request \fI\%#48743\fP from rallytime/saltconf\-ad\-2017.7 +.IP \(bu 2 +6df8fd8652 Update DOCBANNER with new SaltConf18 image +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48720\fP: (\fI\%Ch3LL\fP) Fix test_managed_source_hash_indifferent_case on macosx to correct tmp path +@ \fI2018\-07\-23 22:32:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ce4e22224e Merge pull request \fI\%#48720\fP from Ch3LL/mac_file_path +.IP \(bu 2 +01d25fae19 Fix test_managed_source_hash_indifferent_case on macosx to correct tmp path +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48719\fP: (\fI\%Ch3LL\fP) Enable service if disabled before running state service tests +@ \fI2018\-07\-23 21:01:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4b9f037d43 Merge pull request \fI\%#48719\fP from Ch3LL/service_mac_state +.IP \(bu 2 +f44a2fc349 Enable service if disabled before running state service tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48715\fP: (\fI\%rallytime\fP) [2017.7] Mark some tornado tests as flaky +@ \fI2018\-07\-23 17:27:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b2431eab10 Merge pull request \fI\%#48715\fP from rallytime/flaky\-tests +.IP \(bu 2 +7332cce567 [2017.7] Mark some tornado tests as flaky +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48672\fP: (\fI\%frogunder\fP) add service enabled test +@ \fI2018\-07\-23 15:38:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +801eae3b8d Merge pull request \fI\%#48672\fP from frogunder/45012 +.IP \(bu 2 +0747f2e58a add service enabled test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48691\fP: (\fI\%Ch3LL\fP) Add windows pkg module integration tests +@ \fI2018\-07\-22 20:01:30 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +689c231d2b Merge pull request \fI\%#48691\fP from Ch3LL/win_repo_pkg_test +.IP \(bu 2 +4b7d6d80c5 Remove unnecessary jinja in curl.sls file +.IP \(bu 2 +2bedadfadb Add windows pkg module integration tests +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48627\fP: (\fI\%nbraud\fP) acme module\(aqs group parameter is non\-functional (refs: \fI\%#48635\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#48626\fP: (\fI\%nbraud\fP) acme module fails to set file permissions if the certificate is already present (refs: \fI\%#48635\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48635\fP: (\fI\%nbraud\fP) Bug fixes in the acme module & state +@ \fI2018\-07\-22 19:53:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +83e4bba916 Merge pull request \fI\%#48635\fP from nbraud/acme +.IP \(bu 2 +3673bae9de modules/acme: explicitely ignore the \fIperms\fP return value +.IP \(bu 2 +1800a231e8 Fixup some schema expectations +.IP \(bu 2 +8c718cb417 acme: Make the private key mode configurable +.IP \(bu 2 +917dea6761 modules/acme: Use file.check_perms ret\-morphing powers +.IP \(bu 2 +d2241ceb2d module/acme: Do not exit early when the certificate already exists +.IP \(bu 2 +98af0db826 modules/acme: Set the private key filemode to 0640 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48345\fP: (\fI\%twangboy\fP) Fix behavior of powercfg module and state +@ \fI2018\-07\-20 17:37:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +85991680c8 Merge pull request \fI\%#48345\fP from twangboy/fix_48169 +.IP \(bu 2 +ead19725b6 Merge branch \(aq2017.7\(aq into fix_48169 +.IP \(bu 2 +653fbcb383 Fix some docs errata +.IP \(bu 2 +8898e5ff11 Add warn_until Fluorine +.IP \(bu 2 +707906ac15 Fix unit.state.test_powercfg +.IP \(bu 2 +32c5014eb6 Fix unit tests +.IP \(bu 2 +0d9c56e540 Add some more logging +.IP \(bu 2 +b20453de9f Use minutes to set +.IP \(bu 2 +7dc7eb11c2 Fix documentation to denote seconds when setting +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48656\fP: (\fI\%Ch3LL\fP) Add windows ip module integration tests +@ \fI2018\-07\-20 14:57:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +96447ce541 Merge pull request \fI\%#48656\fP from Ch3LL/windows_ip_mod +.IP \(bu 2 +90c3f568b1 Add windows ip module integration tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48638\fP: (\fI\%twangboy\fP) Remove vcredist 2015 from Py3 installer +@ \fI2018\-07\-20 14:56:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0c5fff3dc8 Merge pull request \fI\%#48638\fP from twangboy/fix_vcredist +.IP \(bu 2 +e30d17099d Use goto instead of if statement +.IP \(bu 2 +e1042fa084 Remove vcredist for Py3 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48664\fP: (\fI\%Ch3LL\fP) [2017.7] Fix service.disabled test for macosx +@ \fI2018\-07\-20 14:32:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1ebd96d909 Merge pull request \fI\%#48664\fP from Ch3LL/srv_disable_mac +.IP \(bu 2 +f1fbfad387 move the disable call up in try block +.IP \(bu 2 +f60d21bda4 reverse assertion order for service disable test +.IP \(bu 2 +3727d1b3b9 switch try/except to match 2018.3 +.IP \(bu 2 +fb953c2369 [2017.7] Fix service.disabled test for macosx +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48625\fP: (\fI\%Ch3LL\fP) Follow up to PR \fI\%#48555\fP +@ \fI2018\-07\-20 14:27:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48555\fP: (\fI\%Ch3LL\fP) Fix state.sls_id not running on ssh minion (refs: \fI\%#48625\fP) +.IP \(bu 2 +3da3cf2f3f Merge pull request \fI\%#48625\fP from Ch3LL/ssh_state +.IP \(bu 2 +f590eb2b02 Update state.py +.IP \(bu 2 +9790ee3d0d Follow up to PR \fI\%#48555\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48673\fP: (\fI\%Ch3LL\fP) Use different pub and ret ports for testprogram integration tests +@ \fI2018\-07\-20 14:11:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +33812f78f1 Merge pull request \fI\%#48673\fP from Ch3LL/mac_port +.IP \(bu 2 +87dd85a220 Use different pub and ret ports for testprogram integration tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48675\fP: (\fI\%Ch3LL\fP) Fix mac service.disable tests +@ \fI2018\-07\-20 14:09:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5f6a7c4d89 Merge pull request \fI\%#48675\fP from Ch3LL/mac_disable +.IP \(bu 2 +c78efab828 Fix mac service.disable tests +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#43138\fP: (\fI\%F30\fP) npm.installed mistakenly throws error for packages which are "installed via remote" (refs: \fI\%#48492\fP, \fI\%#48658\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48658\fP: (\fI\%wyardley\fP) Improve handling of json output (\fI\%#43138\fP) +@ \fI2018\-07\-20 14:08:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48492\fP: (\fI\%wyardley\fP) Improve identifying json out in npm module (\fI\%#43138\fP) (refs: \fI\%#48658\fP) +.IP \(bu 2 +93d2f51d2b Merge pull request \fI\%#48658\fP from wyardley/wyardley\-npm\-json\-output\-2017 +.IP \(bu 2 +7ff3c9c5ff Improve handling of npm json output (\fI\%#43138\fP) +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48677\fP: (\fI\%OrlandoArcapix\fP) npm.bootstrap does not return True (clean) with test=true and no changes (refs: \fI\%#48678\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48678\fP: (\fI\%OrlandoArcapix\fP) Fix for issue \fI\%#48677\fP \- return clean npm.bootstrap on no changes +@ \fI2018\-07\-20 14:07:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3e293b0513 Merge pull request \fI\%#48678\fP from OrlandoArcapix/fix\-npm\-dryrun\-test +.IP \(bu 2 +851a404f6b Fix for issue \fI\%#48677\fP \- return True when no changes are to be made with npm.bootstrap with test=true +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46884\fP: (\fI\%alexandergraul\fP) salt.utils.rsax931._init_libcrypto() fails to initialize libopenssl1_1\-1.1.0h (refs: \fI\%#48580\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48580\fP: (\fI\%rallytime\fP) Don\(aqt error on retcode 0 in libcrypto.OPENSSL_init_crypto call +@ \fI2018\-07\-19 19:21:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#37772\fP: (\fI\%bdrung\fP) Support initializing OpenSSL 1.1 (refs: \fI\%#48580\fP) +.IP \(bu 2 +07a1f6520f Merge pull request \fI\%#48580\fP from rallytime/fix\-46884 +.IP \(bu 2 +736b382e91 Don\(aqt error on retcode 0 in libcrypto.OPENSSL_init_crypto call +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48628\fP: (\fI\%terminalmage\fP) Fix NameError in testinfra module +@ \fI2018\-07\-18 21:34:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9874429741 Merge pull request \fI\%#48628\fP from terminalmage/testinfra +.IP \(bu 2 +5ace9f01ec Fix NameError in testinfra module +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48651\fP: (\fI\%gtmanfred\fP) [2017.7] handle pyzmq for python3.4 +@ \fI2018\-07\-18 17:34:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0d4c80205f Merge pull request \fI\%#48651\fP from gtmanfred/pylint\-2017.7 +.IP \(bu 2 +b6ee52f859 handle pyzmq for python3.4 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48647\fP: (\fI\%gtmanfred\fP) [2017.7] disable checks on pylint +@ \fI2018\-07\-18 16:21:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +160ae29cf2 Merge pull request \fI\%#48647\fP from gtmanfred/pylint\-2017.7 +.IP \(bu 2 +ff818c4ca2 disable checks on pylint +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46924\fP: (\fI\%chschmitt\fP) Stale custom roster from __pycache__ executed instead of changed .py file (refs: \fI\%#48593\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48593\fP: (\fI\%pritambaral\fP) Fix importlib pyc loading order +@ \fI2018\-07\-17 21:06:28 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +47b1032efa Merge pull request \fI\%#48593\fP from pritambaral/fix/2017.7\-importlib\-pyc\-loading\-order +.IP \(bu 2 +add7894dee loader: Fix suffix order when importlib is used +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48630\fP: (\fI\%dubb\-b\fP) Adding options to Jenkins pipline builds +@ \fI2018\-07\-17 20:16:23 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9da7b2ec8d Merge pull request \fI\%#48630\fP from dubb\-b/pipeline\-updates +.IP \(bu 2 +8594a8dd05 Adding PY_COLORS=1 as PY_COLORS = 1 instead +.IP \(bu 2 +314b0e3599 Adding PY_COLORS=1 for python programs to use ANSI Colors +.IP \(bu 2 +b705e8f7a5 Adding correct spacing to options section +.IP \(bu 2 +9d8a7e07db Adding options to Jenkins pipline builds +.IP \(bu 2 +\fBPR\fP \fI\%saltstack/salt#48610\fP: (\fI\%gtmanfred\fP) only run pylint on files that change (refs: \fI\%#48633\fP) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48633\fP: (\fI\%gtmanfred\fP) Revert "only run pylint on files that change" +@ \fI2018\-07\-17 18:44:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a8ae2adf64 Merge pull request \fI\%#48633\fP from saltstack/revert\-48610\-2017.7 +.IP \(bu 2 +bab4a769d4 Revert "only run pylint on files that change" +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48614\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48562\fP to 2017.7 +@ \fI2018\-07\-17 15:04:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48562\fP: (\fI\%basepi\fP) Add timeouts to all s3 queries (refs: \fI\%#48614\fP) +.IP \(bu 2 +6e32bb7f74 Merge pull request \fI\%#48614\fP from rallytime/bp\-48562 +.IP \(bu 2 +cb654bbf2c Add timeouts to all s3 queries +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48415\fP: (\fI\%doesitblend\fP) Event.send short\-circuiting in multi\-master mode (refs: \fI\%#48588\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48588\fP: (\fI\%garethgreenaway\fP) [2017.7] event send multi master +@ \fI2018\-07\-17 10:31:20 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1b6e6388f8 Merge pull request \fI\%#48588\fP from garethgreenaway/48415_event_send_multi_master +.IP \(bu 2 +fab25af1a9 Adding some quick documention about why we are setting ret=True following the channel.send. +.IP \(bu 2 +bf78f4b188 If the channel send is sucessful and does not raise an exception, we set ret to True, in case a previous exception from a previous channel send to another master has sent it to False. +.IP \(bu 2 +8d1551c5fb When using Salt multi\-master, if we encouter a salt master that has not accepted the minion key yet we should not exit right away, rather continue on and try the next salt master available in the list. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48610\fP: (\fI\%gtmanfred\fP) only run pylint on files that change (refs: \fI\%#48783\fP) +@ \fI2018\-07\-17 01:36:50 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +24ffda49ba Merge pull request \fI\%#48610\fP from gtmanfred/2017.7 +.IP \(bu 2 +779d1a3dcb only run pylint on files that change +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48584\fP: (\fI\%Ch3LL\fP) Fix grp import for mac in test_user integration test +@ \fI2018\-07\-16 19:28:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5391dd0a8d Merge pull request \fI\%#48584\fP from Ch3LL/mac_user_grp +.IP \(bu 2 +585ee9db90 Fix grp import for mac in test_user integration test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48555\fP: (\fI\%Ch3LL\fP) Fix state.sls_id not running on ssh minion (refs: \fI\%#48625\fP) +@ \fI2018\-07\-16 13:24:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +61572b6780 Merge pull request \fI\%#48555\fP from Ch3LL/ssh_id +.IP \(bu 2 +f69932f506 fix pylint +.IP \(bu 2 +70e36764ee Add more tests for salt\-ssh state.sls_id +.IP \(bu 2 +dab80e805c Fix state.sls_id to run on ssh minion and not master +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48583\fP: (\fI\%Ch3LL\fP) Add flaky decorator to mac_system and mac_timezone tests +@ \fI2018\-07\-13 19:56:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +aa6dcf39e8 Merge pull request \fI\%#48583\fP from Ch3LL/mac_flaky_tests +.IP \(bu 2 +4ba2299a87 import flaky decorator on mac tests +.IP \(bu 2 +811220b41e Add flaky decorator to mac_system and mac_timezone tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48534\fP: (\fI\%xetix\fP) Fix behaviour of function latest_version in zypper module when multip… +@ \fI2018\-07\-13 19:56:05 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6973152057 Merge pull request \fI\%#48534\fP from xetix/fix\-zypper\-latest_version +.IP \(bu 2 +9985f0b4c1 Lint: remove extra blank line +.IP \(bu 2 +5fbead8a36 Merge branch \(aq2017.7\(aq into fix\-zypper\-latest_version +.IP \(bu 2 +56ac449271 Merge branch \(aqfix\-zypper\-latest_version\(aq of \fI\%https://github.com/xetix/salt\fP into fix\-zypper\-latest_version +.INDENT 2.0 +.IP \(bu 2 +44e87f5a0f Adding testcase for this fix. +.IP \(bu 2 +b354c6863c Fix behaviour of function latest_version in zypper module when multiple packages are passed to function. Function now properly return dict with empty string as version if latest packages is already installed, and multiple packages are passed to function +.UNINDENT +.IP \(bu 2 +db35d0c1e1 Adding testcase for this fix. +.IP \(bu 2 +d2513757ed Fix behaviour of function latest_version in zypper module when multiple packages are passed to function. Function now properly return dict with empty string as version if latest packages is already installed, and multiple packages are passed to function +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48582\fP: (\fI\%dwoz\fP) Finally fix prepend for real +@ \fI2018\-07\-13 18:45:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +10124034cb Merge pull request \fI\%#48582\fP from dwoz/test_prepend_fix +.IP \(bu 2 +f37571e0bd Merge branch \(aq2017.7\(aq into test_prepend_fix +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48564\fP: (\fI\%dwoz\fP) Fix failing prepend test +@ \fI2018\-07\-13 14:12:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +13f67335f3 Merge pull request \fI\%#48564\fP from dwoz/test_prepend_fix +.INDENT 2.0 +.IP \(bu 2 +136ddf5f54 Finally fix prepend for real +.UNINDENT +.IP \(bu 2 +66b25e65bf Fix failing prepend test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48558\fP: (\fI\%dwoz\fP) Remove which mock to get the test passing +@ \fI2018\-07\-12 19:04:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b8ce27729f Merge pull request \fI\%#48558\fP from dwoz/test_file_fix +.IP \(bu 2 +c858bf477f Remove which mock to get the test passing +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48552\fP: (\fI\%KaiSforza\fP) Set up junit in jenkins +@ \fI2018\-07\-12 16:23:33 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a15c65202d Merge pull request \fI\%#48552\fP from KaiSforza/jenkins\-junit\-2017 +.IP \(bu 2 +72b1830974 Set up junit in jenkins +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48550\fP: (\fI\%gtmanfred\fP) add posargs to tox pylint +@ \fI2018\-07\-12 14:34:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f73108026e Merge pull request \fI\%#48550\fP from gtmanfred/2017.7 +.IP \(bu 2 +d5c603d9b6 add posargs to tox pylint +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48535\fP: (\fI\%asnell\fP) Update manage_file helptext +@ \fI2018\-07\-12 13:34:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +113b0426f8 Merge pull request \fI\%#48535\fP from asnell/asnell\-patch\-2 +.IP \(bu 2 +d328f6e43d Update manage_file helptext +.IP \(bu 2 +\fBPR\fP \fI\%saltstack/salt#48525\fP: (\fI\%gtmanfred\fP) add kazoo for testing zookeeper. (refs: \fI\%#48527\fP) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48527\fP: (\fI\%gtmanfred\fP) Revert "add kazoo for testing zookeeper." +@ \fI2018\-07\-11 17:29:16 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0c0c05c2bc Merge pull request \fI\%#48527\fP from saltstack/revert\-48525\-2017.7 +.IP \(bu 2 +18d06c1a93 Revert "add kazoo for testing zookeeper." +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48526\fP: (\fI\%twangboy\fP) Rollback python\-certifi\-win32 +@ \fI2018\-07\-11 17:26:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +05bad3e71c Merge pull request \fI\%#48526\fP from twangboy/rollback_certifi\-win32 +.IP \(bu 2 +361b3cdc2f Rollback python\-certifi\-win32 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48521\fP: (\fI\%Martin819\fP) Back\-port \fI\%#48222\fP to 2017.7 +@ \fI2018\-07\-11 16:42:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48222\fP: (\fI\%Martin819\fP) Fix GlusterFS module for version 4.0 and above (refs: \fI\%#48521\fP) +.IP \(bu 2 +db066effe4 Merge pull request \fI\%#48521\fP from Martin819/2017.7 +.IP \(bu 2 +d5d01f6698 Fix for GlusterFS 4.0 and above +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48525\fP: (\fI\%gtmanfred\fP) add kazoo for testing zookeeper. +@ \fI2018\-07\-11 16:09:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ed0bd2bbec Merge pull request \fI\%#48525\fP from gtmanfred/2017.7 +.IP \(bu 2 +d7a6bff2b2 add kazoo for testing zookeeper. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48277\fP: (\fI\%dvenckus\fP) init.sls with included states fails with more than one, \(aqTemplate was specified incorrectly: False\(aq (refs: \fI\%#48388\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#46986\fP: (\fI\%github\-abcde\fP) opts file_roots gets overwritten with pillar_roots in orchestration run (refs: \fI\%#48388\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48388\fP: (\fI\%garethgreenaway\fP) [2017.7] reset file_roots for renderers after compile_pillar +@ \fI2018\-07\-11 13:13:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ad5a959ab9 Merge pull request \fI\%#48388\fP from garethgreenaway/48277_2017_7_file_roots_wrong +.IP \(bu 2 +6f11da35a7 Fixing a few things in the new test. +.IP \(bu 2 +cf747b14ec Fixing lint issue +.IP \(bu 2 +16d36c79c8 When pillar items are compiled a new render is instantiated but the file_roots is the pillar_roots. This change forces the __opts__[\(aqfile_roots\(aq] to be set to what is set in actual_file_roots for all renderers once compile_pillar has finished. Adding a test when this situation is run via a orchestration runner. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48512\fP: (\fI\%gtmanfred\fP) pin pm and grunt packages for npm tests +@ \fI2018\-07\-11 13:06:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +38df812257 Merge pull request \fI\%#48512\fP from gtmanfred/npm +.IP \(bu 2 +9ba0f6b3a0 pin pm and grunt packages for npm tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48513\fP: (\fI\%rallytime\fP) [2017.7] Merge forward from 2017.7.7 to 2017.7 +@ \fI2018\-07\-11 13:04:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +04ba31147f Merge pull request \fI\%#48513\fP from rallytime/merge\-2017.7 +.IP \(bu 2 +a466a4880f Merge branch \(aq2017.7.7\(aq into \(aq2017.7\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48514\fP: (\fI\%gtmanfred\fP) upgrade dependencies for pytest tests +@ \fI2018\-07\-10 20:53:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f0352ea95a Merge pull request \fI\%#48514\fP from gtmanfred/2017.7 +.IP \(bu 2 +739bf92599 upgrade dependencies for pytest tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48491\fP: (\fI\%grokrecursion\fP) Group gid fixed as integer +@ \fI2018\-07\-10 19:31:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5372b60137 Merge pull request \fI\%#48491\fP from grokrecursion/group\-fix\-v2 +.IP \(bu 2 +1556b37221 fixed pylint errors +.IP \(bu 2 +f6d9177dab fixed indentation for pep8 +.IP \(bu 2 +b9556bf923 v2 try of gid converted to integer +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48375\fP: (\fI\%Ch3LL\fP) Add user and group to makedirs cmd in file.copy +@ \fI2018\-07\-10 12:35:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +16d3daab3c Merge pull request \fI\%#48375\fP from Ch3LL/file_copy +.IP \(bu 2 +d16a790775 Add mode to _makedirs call in file.copy +.IP \(bu 2 +2cbcb4fd26 Add user and group to makedirs cmd in file.copy +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48490\fP: (\fI\%KaiSforza\fP) Cifixes +@ \fI2018\-07\-09 15:20:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d38951b1b3 Merge pull request \fI\%#48490\fP from KaiSforza/cifixes +.IP \(bu 2 +9fe7199af5 Mark failed if anything is found +.IP \(bu 2 +6749a6bf19 Stop archiving the docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48472\fP: (\fI\%gtmanfred\fP) use tox to run pylint +@ \fI2018\-07\-07 02:46:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +22cd4206c4 Merge pull request \fI\%#48472\fP from gtmanfred/2017.7 +.IP \(bu 2 +c7a3a7d8bd update jenkins tests to use tox for lint +.IP \(bu 2 +44aaac1d33 use tox to run pylint +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48476\fP: (\fI\%twangboy\fP) Fix dependencies +@ \fI2018\-07\-06 23:43:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +27ea8f35ea Merge pull request \fI\%#48476\fP from twangboy/fix_dependencies +.IP \(bu 2 +b0087d425c Add license info +.IP \(bu 2 +935f9b560c Fix dependencies +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48336\fP: (\fI\%JuanManuelVizcainoAbad\fP) file.directory (refs: \fI\%#48399\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48399\fP: (\fI\%garethgreenaway\fP) [2017.7] fixes to module/file.py +@ \fI2018\-07\-06 18:02:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +acf42864aa Merge pull request \fI\%#48399\fP from garethgreenaway/48336_2017_7_ensure_chmod_setuid_with_chown +.IP \(bu 2 +8efd33320f Normalize the mode before we compare it. +.IP \(bu 2 +f894f0ecb8 Setting the mode with setuid or setgid bits in addition to setting the owner and group will force the setuid & setgid bits to reset. This change ensures that we set the mode after setting the owner & group. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48471\fP: (\fI\%gtmanfred\fP) Add some configurations to tox +@ \fI2018\-07\-06 17:45:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6166ff6b78 Merge pull request \fI\%#48471\fP from gtmanfred/2017.7 +.IP \(bu 2 +392ab4e51f Add some configurations to tox +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48433\fP: (\fI\%discogestalt\fP) Fix issue with redismod.hmset method +@ \fI2018\-07\-06 15:55:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6234d9b15d Merge pull request \fI\%#48433\fP from discogestalt/fix\-redis.hmset +.IP \(bu 2 +65817ac74d Use clean_kwargs method instead +.IP \(bu 2 +f7fa7f57c6 Found another issue with redismod.hmset +.IP \(bu 2 +5624865f86 Fix issue with redismod.hmset method +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48428\fP: (\fI\%terminalmage\fP) Fix outputter detection in jobs.lookup_jid runner +@ \fI2018\-07\-06 14:37:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +aacee0fe2c Merge pull request \fI\%#48428\fP from terminalmage/fix\-jobs.lookup_jid +.IP \(bu 2 +6509aa9089 Fix outputter detection in jobs.lookup_jid runner +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48429\fP: (\fI\%rallytime\fP) Back\-port \fI\%#46824\fP to 2017.7 +@ \fI2018\-07\-03 21:45:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#46824\fP: (\fI\%beornf\fP) Regression to ignore retcodes on crontab calls (refs: \fI\%#48429\fP) +.IP \(bu 2 +a7e52f0de2 Merge pull request \fI\%#48429\fP from rallytime/bp\-46824 +.IP \(bu 2 +8b4486248d Added ignore_retcode to mock unit tests +.IP \(bu 2 +f8beab71dd Regression to ignore retcodes on crontab calls +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48432\fP: (\fI\%dwoz\fP) Prepend test needs file.touch method +@ \fI2018\-07\-03 21:32:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4576ef20bc Merge pull request \fI\%#48432\fP from dwoz/file\-prepend\-again +.IP \(bu 2 +349a2b279e Prepend test needs file.touch method +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48230\fP: (\fI\%whytewolf\fP) file.managed source_hash case\-sensitive for test=true (refs: \fI\%#48422\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#38914\fP: (\fI\%hgfischer\fP) Uppercase checksums are not accepted by archive.extracted (refs: \fI\%#40754\fP, \fI\%#48422\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48422\fP: (\fI\%rallytime\fP) Allow file.managed to work with uppercase source_hash in test=true mode +@ \fI2018\-07\-03 16:40:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#40754\fP: (\fI\%lordcirth\fP) file.manage_file: uppercase checksums now work (refs: \fI\%#48422\fP) +.IP \(bu 2 +422441505d Merge pull request \fI\%#48422\fP from rallytime/fix\-48230 +.IP \(bu 2 +a6abf85621 Allow file.managed to work with uppercase source_hash in test=true mode +.IP \(bu 2 +4c691ac57a Add regression test for Issue \fI\%#48230\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48410\fP: (\fI\%dwoz\fP) Fix service dead test on windows +@ \fI2018\-07\-03 14:17:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +83e387c951 Merge pull request \fI\%#48410\fP from dwoz/service_dead_test_fix +.IP \(bu 2 +5c0923448d Fix service dead test on windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48413\fP: (\fI\%twangboy\fP) Fix archive.extracted to handle UNC paths +@ \fI2018\-07\-03 14:14:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d3ba345da5 Merge pull request \fI\%#48413\fP from twangboy/fix_47811 +.IP \(bu 2 +c5aad04140 handle unc paths +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48416\fP: (\fI\%dwoz\fP) Fix service integration test (py3) +@ \fI2018\-07\-03 14:08:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +827ef2aac4 Merge pull request \fI\%#48416\fP from dwoz/service_integration_fix +.IP \(bu 2 +c43f150dcd Fix service integration test (py3) +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48385\fP: (\fI\%Ch3LL\fP) Update release versions for the 2017.7 branch +@ \fI2018\-07\-03 13:39:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +10fe7d2b9b Merge pull request \fI\%#48385\fP from Ch3LL/1update_version_doc_2017.7 +.IP \(bu 2 +3cf335b0b9 Update release versions for the 2017.7 branch +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48405\fP: (\fI\%Ch3LL\fP) [2017.7] Remove In Progress Warning on 2017.7.7 +@ \fI2018\-07\-03 13:32:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f8a9a037e6 Merge pull request \fI\%#48405\fP from Ch3LL/rm_inprog_2017.7 +.IP \(bu 2 +03ed5167fa [2017.7] Remove In Progress Warning on 2017.7.7 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48409\fP: (\fI\%dwoz\fP) Fix file state prepend test +@ \fI2018\-07\-02 23:21:08 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8ac867c168 Merge pull request \fI\%#48409\fP from dwoz/test_prepend_fix +.IP \(bu 2 +9c7085b70f Fix file state prepend test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48396\fP: (\fI\%dwoz\fP) Fix file.symlink state test for windows +@ \fI2018\-07\-02 18:10:32 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +10e93bff7f Merge pull request \fI\%#48396\fP from dwoz/symlink_test_fix +.IP \(bu 2 +d3456d31e6 Fix file.symlink state test for windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48362\fP: (\fI\%twangboy\fP) Fix stacktrace when registry entries are missing +@ \fI2018\-06\-30 13:20:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7e25f26837 Merge pull request \fI\%#48362\fP from twangboy/fix_48276 +.IP \(bu 2 +77629f640a Fix module unit tests +.IP \(bu 2 +b5ca560b73 Fix lint error +.IP \(bu 2 +210e280ecf Use explicit parameter names +.IP \(bu 2 +776db98a5c Handle missing registry entries +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48383\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48379\fP to 2017.7 +@ \fI2018\-06\-29 19:48:38 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48379\fP: (\fI\%KaiSforza\fP) Clean up the workspaces at the end for every job (refs: \fI\%#48383\fP) +.IP \(bu 2 +80222b6b7c Merge pull request \fI\%#48383\fP from rallytime/bp\-48379 +.IP \(bu 2 +9fc7815594 Clean up the workspaces at the end for every job +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48382\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48346\fP to 2017.7 +@ \fI2018\-06\-29 19:45:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48346\fP: (\fI\%KaiSforza\fP) Use the right ssh key to destroy kitchen (refs: \fI\%#48382\fP) +.IP \(bu 2 +aa68aa774a Merge pull request \fI\%#48382\fP from rallytime/bp\-48346 +.IP \(bu 2 +6a70ba222e Use the right ssh key to destroy kitchen +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48381\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48330\fP to 2017.7 +@ \fI2018\-06\-29 19:43:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48330\fP: (\fI\%KaiSforza\fP) Add warnings plugin to replace violations (refs: \fI\%#48381\fP) +.IP \(bu 2 +9519f640e7 Merge pull request \fI\%#48381\fP from rallytime/bp\-48330 +.IP \(bu 2 +6857bedcc2 Add warnings plugin to replace violations +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48363\fP: (\fI\%dubb\-b\fP) Changing debug to info for logging +@ \fI2018\-06\-28 20:45:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +14db0aa35d Merge pull request \fI\%#48363\fP from dubb\-b/2017.7 +.IP \(bu 2 +c0b962e28d Changing debug to info for logging +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48352\fP: (\fI\%Ch3LL\fP) Add missing key to accept_dict function in wheel docs +@ \fI2018\-06\-28 13:54:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5b29cd326f Merge pull request \fI\%#48352\fP from Ch3LL/wheel_doc +.IP \(bu 2 +89ada68165 Add missing key to accept_dict function in wheel docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48329\fP: (\fI\%rallytime\fP) Trigger review requests for team\-ssh for roster files +@ \fI2018\-06\-28 13:53:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +02cf19ee3b Merge pull request \fI\%#48329\fP from rallytime/codeowners\-roster\-files +.IP \(bu 2 +5e56615e00 Trigger review requests for team\-ssh for roster files +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48316\fP: (\fI\%ralex\fP) Wrong init system used in virtual module "service" on Manjaro (refs: \fI\%#48349\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48349\fP: (\fI\%ralex\fP) Disable the "service" module on Manjaro since it is using systemd +@ \fI2018\-06\-28 13:32:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +53cf1794be Merge pull request \fI\%#48349\fP from ralex/fix\-manjaro\-service\-behaviour +.IP \(bu 2 +6cafce547e Disable the \fIservice\fP module on Manjaro since it is using systemd +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48324\fP: (\fI\%Ch3LL\fP) Update release versions for the 2017.7 branch +@ \fI2018\-06\-27 13:44:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +89dfcf3a4e Merge pull request \fI\%#48324\fP from Ch3LL/update_version_doc_2017.7 +.IP \(bu 2 +47845ba810 Update release versions for the 2017.7 branch +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48331\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48215\fP to 2017.7 +@ \fI2018\-06\-27 13:12:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48215\fP: (\fI\%KaiSforza\fP) Notify during tests using different credentials (refs: \fI\%#48331\fP) +.IP \(bu 2 +ece4c30aac Merge pull request \fI\%#48331\fP from rallytime/bp\-48215 +.IP \(bu 2 +9d6ba3e247 Set jobs to pending when they come in +.IP \(bu 2 +727d2b4ffe Use proper creds with githubNotify +.IP \(bu 2 +d355861c5c Test using different credentials +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48332\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48321\fP to 2017.7 +@ \fI2018\-06\-27 13:12:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48321\fP: (\fI\%KaiSforza\fP) Jenkins needs the / to get the directory (refs: \fI\%#48332\fP) +.IP \(bu 2 +ab05e00d8c Merge pull request \fI\%#48332\fP from rallytime/bp\-48321 +.IP \(bu 2 +d72af6ab4e Jenkins needs the / to get the directory +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#42659\fP: (\fI\%szin2012\fP) rest_tornado is not able to return normal result (refs: \fI\%#48193\fP, \fI\%#48295\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48295\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48193\fP to 2017.7 +@ \fI2018\-06\-26 23:42:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48193\fP: (\fI\%jacksontj\fP) Properly wait on returns in saltnado (refs: \fI\%#48295\fP) +.IP \(bu 2 +21ed5b97ce Merge pull request \fI\%#48295\fP from rallytime/bp\-48193 +.IP \(bu 2 +352fe33fd6 Separate set_result() to a new line apart from Future() call +.IP \(bu 2 +c0180ff33d Properly configure syndic in test case +.IP \(bu 2 +d0a98534a9 Properly wait on returns in saltnado +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48117\fP: (\fI\%twangboy\fP) service.disabled on Windows +@ \fI2018\-06\-26 23:35:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9aa4687ab9 Merge pull request \fI\%#48117\fP from twangboy/fix_48026 +.IP \(bu 2 +dd37f8fbc2 Disable services that are set to manual +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48122\fP: (\fI\%pasmon\fP) Salt minion 2017.7.6 disregards "bin_env" in pip state (refs: \fI\%#48189\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48207\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48189\fP to 2017.7 +@ \fI2018\-06\-25 19:26:56 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48189\fP: (\fI\%gtmanfred\fP) If pip binary is passed to bin_env, use that pip binary (refs: \fI\%#48207\fP) +.IP \(bu 2 +caf630487c Merge pull request \fI\%#48207\fP from rallytime/bp\-48189 +.IP \(bu 2 +e9d09e0375 Use old is_windows utils path on 2017.7 +.IP \(bu 2 +b965d6c9b3 If pip binary is passed to bin_env, use that pip binary +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#45383\fP: (\fI\%jodok\fP) RabbitMQ commands fail due to wrong locale (refs: \fI\%#47453\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48293\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47453\fP to 2017.7 +@ \fI2018\-06\-25 19:06:42 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47453\fP: (\fI\%dqminh\fP) dont reset system locale when running rabbitmqctl commands (refs: \fI\%#48293\fP) +.IP \(bu 2 +06a927b2aa Merge pull request \fI\%#48293\fP from rallytime/bp\-47453 +.IP \(bu 2 +e96ab6778e dont reset system locale when running rabbitmqctl commands +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48219\fP: (\fI\%zer0def\fP) Fix: LXC legacy configuration key warnings falsely report errors during state change +@ \fI2018\-06\-25 13:46:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +95ef006e00 Merge pull request \fI\%#48219\fP from zer0def/lxc\-bootstrap\-fixes +.IP \(bu 2 +c77058560b Merge branch \(aq2017.7\(aq into lxc\-bootstrap\-fixes +.IP \(bu 2 +d63cf3f072 Fixes another case of legacy configuration key usage warning getting in the way of changing container\(aqs state. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#46507\fP: (\fI\%nkv16786\fP) Failed to return clean data (refs: \fI\%#48234\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48234\fP: (\fI\%dwoz\fP) Fix py2 thin dir issues +@ \fI2018\-06\-25 13:33:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3327181507 Merge pull request \fI\%#48234\fP from dwoz/thin_dir +.IP \(bu 2 +70c603451b Fix py2 thin dir issues +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47984\fP: (\fI\%jeduardo\fP) x509 module/state writing wrong certificate serial number to CRL (refs: \fI\%#48080\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48080\fP: (\fI\%lusche\fP) Bugfix \fI\%#47984\fP messed up cert serial +@ \fI2018\-06\-22 18:00:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +83d7d286c4 Merge pull request \fI\%#48080\fP from lusche/2017.7 +.IP \(bu 2 +917dc985fc \fI\%#47984\fP remove the line completly +.IP \(bu 2 +ba12ee947b Merge branch \(aq2017.7\(aq of \fI\%https://github.com/saltstack/salt\fP into 2017.7 +.IP \(bu 2 +dfb13d5051 Bugfix \fI\%#47984\fP messed up cert serial +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48232\fP: (\fI\%gtmanfred\fP) do not expand kwargs for cloud.action +@ \fI2018\-06\-22 15:49:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +bccb4dcd46 Merge pull request \fI\%#48232\fP from gtmanfred/cloud +.IP \(bu 2 +d108112e1a do not expand kwargs for cloud.action +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48238\fP: (\fI\%mirceaulinic\fP) SDB cache module: AttributeError: \(aqCache\(aq object has no attribute \(aqset\(aq +@ \fI2018\-06\-22 15:37:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +056f43f663 Merge pull request \fI\%#48238\fP from mirceaulinic/fix\-sdb\-cache +.IP \(bu 2 +51e5fbfa1d SDB cache module: AttributeError: \(aqCache\(aq object has no attribute \(aqset\(aq +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48025\fP: (\fI\%onmeac\fP) Autoloading Utility Modules? (refs: \fI\%#48037\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48037\fP: (\fI\%terminalmage\fP) Add "sync_mods" argument to state.apply/state.sls +@ \fI2018\-06\-21 19:57:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +731ec0a11a Merge pull request \fI\%#48037\fP from terminalmage/fix\-custom\-types\-sync\-docs +.IP \(bu 2 +052ae83c4b Update versionchanged +.IP \(bu 2 +8b1bd0eda2 Update test to reflect changed argument name +.IP \(bu 2 +5e75936198 Change 2018.3.2 to 2018.3.3 +.IP \(bu 2 +c53ad603fc Rename sync \-> sync_mods per review suggestion +.IP \(bu 2 +e4d67c5fd8 Update docs to include references to new "sync" argument +.IP \(bu 2 +cb8e6f9fb8 Remove redundant mocking +.IP \(bu 2 +bc3ad795e9 Add test for sync argument to state.sls +.IP \(bu 2 +f81ccd1fdd Add sync option to state.apply/state.sls +.IP \(bu 2 +8289b07e24 Fix documentation on when custom types are synced +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48249\fP: (\fI\%rallytime\fP) Update release notes for 2017.7.7 +@ \fI2018\-06\-21 18:30:39 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0bae927048 Merge pull request \fI\%#48249\fP from rallytime/2017.7.7\-release\-notes\-update +.IP \(bu 2 +36032c8ee7 Update release notes for 2017.7.7 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48242\fP: (\fI\%asnell\fP) Add sample list data via command line pillar +@ \fI2018\-06\-21 18:27:41 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8e06471817 Merge pull request \fI\%#48242\fP from asnell/asnell\-patch\-1 +.IP \(bu 2 +f66bf60073 Add sample list data via command line pillar +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48226\fP: (\fI\%terminalmage\fP) 2 fixes for when Salt is installed using \-OO +@ \fI2018\-06\-20 20:12:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a172f9de84 Merge pull request \fI\%#48226\fP from terminalmage/fix\-alias\-docstring +.IP \(bu 2 +fb237272f5 Don\(aqt display "None" in SaltInvocationError when Salt installed using \-OO +.IP \(bu 2 +90c90f5d5c Fix docstring construction in alias_function when Salt installed using \-OO +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48227\fP: (\fI\%Ch3LL\fP) Skip new sha256 files on repo.saltstack.com/windows +@ \fI2018\-06\-20 20:12:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c6a0207cae Merge pull request \fI\%#48227\fP from Ch3LL/fix_win_tests +.IP \(bu 2 +236773e3e9 Skip new sha256 files on repo.saltstack.com/windows +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48128\fP: (\fI\%bowmanjd\-lms\fP) apk.py Python 3 compatibility (refs: \fI\%#48131\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48131\fP: (\fI\%bowmanjd\-lms\fP) Fix py3\-incompatible dict.keys()[x] call in apk.py +@ \fI2018\-06\-19 18:19:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6929423528 Merge pull request \fI\%#48131\fP from bowmanjd\-lms/fix\-apk\-python3 +.IP \(bu 2 +f5d2835299 Merge branch \(aq2017.7\(aq into fix\-apk\-python3 +.IP \(bu 2 +022f9cba50 Fix py3\-incompatible dict.keys()[x] call in apk.py +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47901\fP: (\fI\%frogunder\fP) 2017.7.6 \- Exiting command with CTRL\-C gives Error/Traceback (refs: \fI\%#48185\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48185\fP: (\fI\%DmitryKuzmenko\fP) Don\(aqt call .exception() on future unless it\(aqs done. +@ \fI2018\-06\-19 18:16:27 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +868c17377f Merge pull request \fI\%#48185\fP from DSRCorporation/bugs/47901_future_done_exception +.IP \(bu 2 +5f63316311 Merge branch \(aq2017.7\(aq into bugs/47901_future_done_exception +.IP \(bu 2 +9f2dbf94cb Don\(aqt call .exception() on future unless it\(aqs done. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48192\fP: (\fI\%twangboy\fP) Use the \-\-disable\-pip\-version\-check option (2017.7) +@ \fI2018\-06\-19 18:13:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +80a3e37c2e Merge pull request \fI\%#48192\fP from twangboy/fix_pip_version_2017.7 +.IP \(bu 2 +59ae2cc5fc Use \-\-disable\-pip\-version\-check for build_env_#.ps1 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48201\fP: (\fI\%zer0def\fP) Fixes to LXC bootstrap when alternate lxcpath is provided. +@ \fI2018\-06\-19 12:56:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +12e2b8882a Merge pull request \fI\%#48201\fP from zer0def/lxc\-bootstrap\-fixes +.IP \(bu 2 +6f6d3d40d4 Take lxcpath into account when bootstrapping new containers. Version comparison fixes. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48190\fP: (\fI\%terminalmage\fP) Fix mount.vfstab unit test +@ \fI2018\-06\-18 21:47:54 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e079fce38d Merge pull request \fI\%#48190\fP from terminalmage/fix\-vfstab\-test +.IP \(bu 2 +8d70d14362 Fix mount.vfstab unit test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48115\fP: (\fI\%KaiSforza\fP) Add jenkinsfiles to define tests in 2017 +@ \fI2018\-06\-18 21:27:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c8b9cec986 Merge pull request \fI\%#48115\fP from KaiSforza/pr\-lint\-2017 +.IP \(bu 2 +494727ab39 Add docs, kitchen tests +.IP \(bu 2 +317023bb20 Move .jenkins to .ci for future +.IP \(bu 2 +dedc313cee Make it parallel so we don\(aqt fail right away +.IP \(bu 2 +cd13426726 Add a .jenkins file to run pylint +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48174\fP: (\fI\%terminalmage\fP) Add docker.update_mine config option +@ \fI2018\-06\-18 19:04:54 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +fc1752b721 Merge pull request \fI\%#48174\fP from terminalmage/docker\-update\-mine +.IP \(bu 2 +9af09e0127 Mock config.get due to changes in _refresh_mine_cache +.IP \(bu 2 +c5802ad465 Fix the version number in versionadded +.IP \(bu 2 +d403ae58d7 Add unit test for docker.update_mine +.IP \(bu 2 +44c275698a Actually it\(aqs more than just add/remove that updates the mine +.IP \(bu 2 +0cb6996b07 Add release notes mention of docker.update_mine config option +.IP \(bu 2 +de05097b20 Add docs for new config option +.IP \(bu 2 +04c55a9178 Add note in mine.get_docker docstring about new config item +.IP \(bu 2 +4e456255c0 Allow mine update to be disabled using new config option +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47031\fP: (\fI\%lejambon\fP) Cannot set hwclock on UTC on CentOS 7 (refs: \fI\%#47049\fP, \fI\%#48061\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48061\fP: (\fI\%garethgreenaway\fP) [2017.7] Porting \fI\%#47049\fP to 2017.7. +@ \fI2018\-06\-15 17:15:50 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47049\fP: (\fI\%lejambon\fP) Centos set utc hwclock (refs: \fI\%#48061\fP) +.IP \(bu 2 +df2a156338 Merge pull request \fI\%#48061\fP from garethgreenaway/port_47049_2017_7 +.IP \(bu 2 +7c472fed51 Fixing failing test_set_hwclock_aix test. +.IP \(bu 2 +ccb0acc958 Porting \fI\%#47049\fP to 2017.7. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48143\fP: (\fI\%Ch3LL\fP) Add timeout argument to run_salt for ShellCase +@ \fI2018\-06\-15 17:04:57 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5ec3cf2dd4 Merge pull request \fI\%#48143\fP from Ch3LL/fix_long_job +.IP \(bu 2 +48b5d2e9d3 Add timeout argument to run_salt for ShellCase +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48135\fP: (\fI\%rallytime\fP) Update the 2017.7.7 and 2017.7.8 release notes +@ \fI2018\-06\-14 21:22:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48134\fP: (\fI\%rallytime\fP) Add release notes file for 2017.7.7 (refs: \fI\%#48135\fP) +.IP \(bu 2 +e1e566d1f8 Merge pull request \fI\%#48135\fP from rallytime/release\-notes\-2017.7 +.IP \(bu 2 +7a97f157b3 Add missing \fIv\fP for tag reference +.IP \(bu 2 +2f2b69ed37 Add "in progress" notation to 2017.7.7 release notes +.IP \(bu 2 +06a1151a63 Add release notes file for 2017.7.7 +.IP \(bu 2 +885b2862ce Move 2017.7.7 release notes to 2017.7.8 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48105\fP: (\fI\%rallytime\fP) [2017.7] Merge forward from 2017.7.6 to 2017.7 +@ \fI2018\-06\-14 17:00:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ac9dabbfaa Merge pull request \fI\%#48105\fP from rallytime/merge\-2017.7 +.IP \(bu 2 +cdb45874de Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48101\fP: (\fI\%rallytime\fP) [2017.7] Update 2017.7.7 reference to 2017.7.8 +@ \fI2018\-06\-14 13:14:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2da56a69d9 Merge pull request \fI\%#48101\fP from rallytime/update\-doc\-refs\-2017.7 +.IP \(bu 2 +7ba6f5fb36 Update 2017.7.7 reference to 2017.7.8 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48091\fP: (\fI\%terminalmage\fP) Reverse monkeypatching after test_symlink_list finishes +@ \fI2018\-06\-13 18:02:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5a0e3d46e7 Merge pull request \fI\%#48091\fP from terminalmage/fix\-file_roots\-monkeypatching +.IP \(bu 2 +6fe711ad76 Reverse monkeypatching after test_symlink_list finishes +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48088\fP: (\fI\%rallytime\fP) Update release versions for the 2017.7 branch +@ \fI2018\-06\-13 14:03:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +053b019a8f Merge pull request \fI\%#48088\fP from rallytime/update_version_doc_2017.7 +.IP \(bu 2 +1b8d1c936b Remove "in progress" info for 2017.7.6 release notes +.IP \(bu 2 +9a0f4d190a Update release versions for the 2017.7 branch +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48038\fP: (\fI\%austinpapp\fP) jobs are not dedup\(aqing minion side (refs: \fI\%#48075\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48075\fP: (\fI\%garethgreenaway\fP) [2017.7] Ensure that the shared list of jids is passed +@ \fI2018\-06\-13 13:25:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d6d2c5ee18 Merge pull request \fI\%#48075\fP from garethgreenaway/48038_jobs_are_not_deduping_minion_side +.IP \(bu 2 +c537b3275b Ensure that the shared list of jids is passed when creating the Minion. Fixes an issue when minions are pointed at multiple syndics. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48071\fP: (\fI\%terminalmage\fP) Fix inaccurate gitfs_saltenv example in GitFS Walkthrough +@ \fI2018\-06\-12 20:34:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +aa33cc0b0c Merge pull request \fI\%#48071\fP from terminalmage/gitfs\-docs +.IP \(bu 2 +24545204b3 Fix inaccurate gitfs_saltenv example in GitFS Walkthrough +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#48039\fP: (\fI\%twellspring\fP) github.repo_present returns stacktrace, got multiple values for keyword argument profile (refs: \fI\%#48040\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#48053\fP: (\fI\%rallytime\fP) Back\-port \fI\%#48040\fP to 2017.7 +@ \fI2018\-06\-12 14:46:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#48040\fP: (\fI\%twellspring\fP) states/github.py fix for incorrect positional argument (refs: \fI\%#48053\fP) +.IP \(bu 2 +fb4ceacb88 Merge pull request \fI\%#48053\fP from rallytime/bp\-48040 +.IP \(bu 2 +265b22b194 states/github.py fix for incorrect positional argument +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48024\fP: (\fI\%gtmanfred\fP) add pytest coverage and xml junits +@ \fI2018\-06\-12 14:03:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f37dcaac6d Merge pull request \fI\%#48024\fP from gtmanfred/2017.7 +.IP \(bu 2 +56b074ab27 allow specifying a different state to run on converge +.IP \(bu 2 +cc9c4b4d5a add pytest coverage and xml junits +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48044\fP: (\fI\%twangboy\fP) Add fail code for WinHTTP send/receive error +@ \fI2018\-06\-11 13:49:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ffee3576ec Merge pull request \fI\%#48044\fP from twangboy/wua_add_fail_code +.IP \(bu 2 +d41d0c25eb Add faile code for WinHTTP send/receive error +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#48009\fP: (\fI\%dwoz\fP) minionswarm runs on windows +@ \fI2018\-06\-08 13:52:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +871a910fcb Merge pull request \fI\%#48009\fP from dwoz/winswarmfix +.IP \(bu 2 +5027c7bb84 minionswarm runs on windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47968\fP: (\fI\%gtmanfred\fP) Clean up tox + pytest +@ \fI2018\-06\-06 21:23:52 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0dcaead36d Merge pull request \fI\%#47968\fP from gtmanfred/2017.7 +.IP \(bu 2 +ae1b0d28bb pass LANG and HOME into tox commands +.IP \(bu 2 +8d15b93d00 remove tox virtualenvs from doc tests +.IP \(bu 2 +e1872e2036 simplify tox.ini +.IP \(bu 2 +81bd01f5af add tests.txt for running tests with tox requirements +.IP \(bu 2 +556a2067fc fix masterapi test to use testing directory for configs +.IP \(bu 2 +5a41f484ef add EXPENSIVE_TESTS +.IP \(bu 2 +055cd5a6ba set DESTRUCTIVE_TESTS environment variable for pytest +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47978\fP: (\fI\%twangboy\fP) Add try/finally, fix typo in 7zip def file +@ \fI2018\-06\-06 19:06:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +42dd6b83eb Merge pull request \fI\%#47978\fP from twangboy/fix_test_pkg +.IP \(bu 2 +8bb36b3a4b Add try/finally, fix typo in 7zip def file +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47959\fP: (\fI\%twangboy\fP) Fix failing test when service doesn\(aqt exist +@ \fI2018\-06\-06 19:05:43 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a67b21ef3d Merge pull request \fI\%#47959\fP from twangboy/fix_test_service +.IP \(bu 2 +0cd47aa81e Remove unused import +.IP \(bu 2 +d4b42540e3 Fix failing test when service doesn\(aqt exist +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#30367\fP: (\fI\%paulfanelli\fP) salt\-run orchestration via state.sls always successful; it is ignoring state return value (refs: \fI\%#47843\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47983\fP: (\fI\%garethgreenaway\fP) [2017.7] Backporting \fI\%#47843\fP +@ \fI2018\-06\-06 19:03:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47843\fP: (\fI\%garethgreenaway\fP) [2018.3] orchestration results False when function is False (refs: \fI\%#47983\fP) +.IP \(bu 2 +b81d482067 Merge pull request \fI\%#47983\fP from garethgreenaway/backport_47843_2017_7 +.IP \(bu 2 +7b7fb1f5d5 Adding missing test sls file. +.IP \(bu 2 +54e51bc627 Backporting \fI\%#47843\fP to 2017.7, updating test for 2017.7. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47533\fP: (\fI\%twangboy\fP) Fix issues with functions that use makedirs on Windows +@ \fI2018\-06\-06 17:20:51 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d56ddad22c Merge pull request \fI\%#47533\fP from twangboy/fix_47178 +.IP \(bu 2 +24717cbc21 Change version added to 2017.7.7 +.IP \(bu 2 +0592f1bac2 Fix issues with functions that user makedirs on Windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47827\fP: (\fI\%twangboy\fP) Fix issue when archive is on mapped drive +@ \fI2018\-06\-06 17:18:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5c56b8c755 Merge pull request \fI\%#47827\fP from twangboy/fix_47791 +.IP \(bu 2 +fbbd91f09e Add more descriptive debug message +.IP \(bu 2 +365f81651b Fix deprecated exception handling +.IP \(bu 2 +8dd6710b93 Use local instead of network +.IP \(bu 2 +980d99d74b Fix issue when archive is on mapped drive +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47888\fP: (\fI\%mbunkus\fP) postfix.set_main overwrites wrong keys (refs: \fI\%#47966\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47966\fP: (\fI\%mbunkus\fP) Fix postfix.set_main\(aqs assumption of prefix\-free key names +@ \fI2018\-06\-06 15:43:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +998a1c13d5 Merge pull request \fI\%#47966\fP from mbunkus/fix\-postfix\-prefix\-free\-key\-names\-assumption +.IP \(bu 2 +0ae402d1b5 Fix postfix.set_main\(aqs assumption of prefix\-free key names +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47824\fP: (\fI\%twangboy\fP) Fix issues with setup.py in Windows +@ \fI2018\-06\-05 17:39:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +df50ce7b1b Merge pull request \fI\%#47824\fP from twangboy/fix_setup.py +.IP \(bu 2 +4538b3abb3 Remove \(aqlen\-as\-condition\(aq disablement +.IP \(bu 2 +d4efcc3c8b Skip lint errors +.IP \(bu 2 +1b3977f8d4 Remove m2crypto download for Windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47922\fP: (\fI\%damon\-atkins\fP) win_pkg: pkg.refresh_db verbose=True PY3 compatibility fix +@ \fI2018\-06\-05 13:31:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3e91a31134 Merge pull request \fI\%#47922\fP from damon\-atkins/2017.7_win_pkg_keys_fix +.IP \(bu 2 +7129203b1b Merge branch \(aq2017.7\(aq into 2017.7_win_pkg_keys_fix +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47933\fP: (\fI\%terminalmage\fP) Clarify pillar.get docs +@ \fI2018\-06\-04 14:07:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8008fca2f6 Merge pull request \fI\%#47933\fP from terminalmage/add\-pillar.get\-docs +.IP \(bu 2 +4eb022b675 Clarify pillar.get docs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47944\fP: (\fI\%terminalmage\fP) Replace use of deprecated argument name in git.detached docstring +@ \fI2018\-06\-04 13:53:34 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ab565bfaa3 Merge pull request \fI\%#47944\fP from terminalmage/fix\-git.detached\-docs +.IP \(bu 2 +1d082b4389 Replace use of deprecated argument name in git.detached docstring +.IP \(bu 2 +6253793cb6 Merge branch \(aq2017.7\(aq into 2017.7_win_pkg_keys_fix +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47860\fP: (\fI\%terminalmage\fP) Clean up doc build warnings, add best practices for writing states +@ \fI2018\-06\-01 14:42:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a2b588299b Merge pull request \fI\%#47860\fP from terminalmage/state\-writing\-docs +.IP \(bu 2 +8cb33d3dec Quiet the linter +.IP \(bu 2 +af51e16f23 Use more elegant RST syntax +.IP \(bu 2 +91cd57d1e0 Update mocking to reflect changes in service module +.IP \(bu 2 +b9ace5a859 Fix crappy mocking +.IP \(bu 2 +bc9e3acef3 Lint fixes +.IP \(bu 2 +d37f7e4f04 Add 2017.7.6 release notes +.IP \(bu 2 +9dddeeefab Improve documentation on syncing states +.IP \(bu 2 +f465fa3ca7 Add best practices docs for writing states +.IP \(bu 2 +93ee5ee2b0 Fix all Sphinx warnings +.IP \(bu 2 +64b9b4d0b8 Clarify that name would override the id declaration +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47877\fP: (\fI\%dwoz\fP) Revert job chunk wait time change +@ \fI2018\-06\-01 14:11:46 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d2f3377b5b Merge pull request \fI\%#47877\fP from dwoz/sleep_audit +.IP \(bu 2 +ebc7cde9cb Revert job chunk wait time change +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +4ce0fe6546 win_pkg under py3 keys returns a view instead of a list, wrap keys in list() +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47917\fP: (\fI\%dwoz\fP) Fix windows tests suite breakage +@ \fI2018\-06\-01 11:42:15 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47500\fP: (\fI\%dwoz\fP) Get the current username on windows (refs: \fI\%#47917\fP) +.IP \(bu 2 +735e92093e Merge pull request \fI\%#47917\fP from dwoz/winsuite +.IP \(bu 2 +118601ebd6 Fix windows tests suite breakage +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47822\fP: (\fI\%Ch3LL\fP) Add user state integration tests to windows +@ \fI2018\-05\-30 21:13:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +63efb76d51 Merge pull request \fI\%#47822\fP from Ch3LL/win_user_test +.IP \(bu 2 +3a691b405f add user_home path for both windows and linux +.IP \(bu 2 +788abf771e Add user state integration tests to windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47876\fP: (\fI\%doesitblend\fP) Add file read windows +@ \fI2018\-05\-30 14:03:55 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b9da4f1221 Merge pull request \fI\%#47876\fP from doesitblend/add\-file\-read\-windows +.IP \(bu 2 +3f7e7ec327 Add file.read function to Windows module +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47882\fP: (\fI\%frogunder\fP) add whoami test +@ \fI2018\-05\-30 13:47:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +cbe2ecfae8 Merge pull request \fI\%#47882\fP from frogunder/45013 +.IP \(bu 2 +38d114a2d2 add whoami test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47853\fP: (\fI\%dwoz\fP) Fix for py3 ec2 cloud tests +@ \fI2018\-05\-28 23:08:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +4b28e510f1 Merge pull request \fI\%#47853\fP from dwoz/py3\-cloud\-test +.IP \(bu 2 +c2f8aef7c5 Fix for py3 ec2 cloud tests +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47833\fP: (\fI\%blefeuvr\fP) reactor.add | list | delete \-> python exception (refs: \fI\%#47847\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47847\fP: (\fI\%garethgreenaway\fP) [2017.7] reactor runner documentation +@ \fI2018\-05\-25 23:23:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +215efa6b73 Merge pull request \fI\%#47847\fP from garethgreenaway/47833_reactor_runner_documentation +.IP \(bu 2 +03676712de Adding some addition documentation to the reactor runner indicating that the reactor system must be active prior to using it. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47846\fP: (\fI\%Ch3LL\fP) Fix flaky refresh pillar integration test +@ \fI2018\-05\-25 20:50:48 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0bf651b470 Merge pull request \fI\%#47846\fP from Ch3LL/p_refresh_test +.IP \(bu 2 +019edad8e4 Fix flaky refresh pillar integration test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47552\fP: (\fI\%twangboy\fP) Show GPO settings, raise error if trying to set gpo managed settings +@ \fI2018\-05\-25 20:41:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +799fce979d Merge pull request \fI\%#47552\fP from twangboy/fix_46981 +.IP \(bu 2 +cffc9b7806 Merge branch \(aq2017.7\(aq into fix_46981 +.IP \(bu 2 +81308a4a44 Add release notes for 2017.7.7 +.IP \(bu 2 +008af0ac6b Fix unit tests +.IP \(bu 2 +87097eefb6 Add comments about how get is returning data +.IP \(bu 2 +f1f1bfc5c1 Show GPO settings, raise error if trying to set gpo managed settings +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47690\fP: (\fI\%lomeroe\fP) productname grain missing on Solaris (refs: \fI\%#47691\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47691\fP: (\fI\%lomeroe\fP) Update regexes for Solaris \(aqproduct\(aq grain and copy to \(aqproductname\(aq grain +@ \fI2018\-05\-25 20:38:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +ffc2ebc373 Merge pull request \fI\%#47691\fP from lomeroe/solaris_product_grains +.IP \(bu 2 +6889befc6b Merge branch \(aq2017.7\(aq into solaris_product_grains +.IP \(bu 2 +49053bc106 lint fix +.IP \(bu 2 +6f185c9179 another lint fix +.IP \(bu 2 +dbffba6876 fix tons of errors in my tests +.IP \(bu 2 +8c9355d34c Lint fix +.IP \(bu 2 +b29ec75da7 Update regexes in core grains for detecting the \(aqproduct\(aq grain on Solaris Sparc systems. Additionally, copy the \(aqproduct\(aq grain to \(aqproductname\(aq to be consistent with other OSes. +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47778\fP: (\fI\%Ch3LL\fP) Add test_pkg integration state tests to windows +@ \fI2018\-05\-25 20:36:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +96b7c0cc76 Merge pull request \fI\%#47778\fP from Ch3LL/win_state_pkg +.IP \(bu 2 +e1786de6b0 Merge branch \(aq2017.7\(aq into win_state_pkg +.IP \(bu 2 +f8c467d3e6 Fix text editor error +.IP \(bu 2 +872e162137 Add test_pkg integration state tests to windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47823\fP: (\fI\%Ch3LL\fP) Add win_dns module integration tests for windows +@ \fI2018\-05\-25 20:34:03 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6f934c2259 Merge pull request \fI\%#47823\fP from Ch3LL/win_dns_test +.IP \(bu 2 +7848114d6a Add win_dns module integration tests for windows +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47838\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47810\fP to 2017.7 +@ \fI2018\-05\-25 20:33:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47810\fP: (\fI\%rmcintosh\fP) Fix Linode plan selection (refs: \fI\%#47838\fP) +.IP \(bu 2 +e63e04602d Merge pull request \fI\%#47838\fP from rallytime/bp\-47810 +.IP \(bu 2 +bd2b62fa66 better debug message +.IP \(bu 2 +83565c55df Address PR feedback +.IP \(bu 2 +50bce3a2f3 make decode_linode_plan_label a private function +.IP \(bu 2 +2ba4fc4cea fix raising when a \(aqGB\(aq format invalid plan is supplied +.IP \(bu 2 +3afb50d5a2 slight cleanup +.IP \(bu 2 +319fbd3406 match quotation mark types properly +.IP \(bu 2 +95e0202223 more consistent use of parens in logged warning +.IP \(bu 2 +f52926ca87 log a warning when the user supplied a label we could decode but was not in the proper format +.IP \(bu 2 +121303d827 reduce complexity of get_plan_id by moving decoding of the user\-supplied label to its own function +.IP \(bu 2 +cf534c7314 Fix Linode plan selection +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47805\fP: (\fI\%twangboy\fP) Add sign.bat script for signing packages +@ \fI2018\-05\-25 13:53:58 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9ef6e60617 Merge pull request \fI\%#47805\fP from twangboy/add_sign.bat +.IP \(bu 2 +66d8b0331a Add sign.bat script for signing packages +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47500\fP: (\fI\%dwoz\fP) Get the current username on windows (refs: \fI\%#47917\fP) +@ \fI2018\-05\-24 19:14:07 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +93420950d3 Merge pull request \fI\%#47500\fP from dwoz/winuser +.IP \(bu 2 +0ca5224cbf Merge branch \(aq2017.7\(aq into winuser +.IP \(bu 2 +e5948902af Use salt utils method for this_user +.IP \(bu 2 +a056a293f1 Centeralize test username lookup +.IP \(bu 2 +6a6ab69722 Get the current username on windows +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#35960\fP: (\fI\%basepi\fP) Beacons cannot be reloaded/refreshed without minion restart (refs: \fI\%#40892\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47802\fP: (\fI\%rallytime\fP) Back\-port \fI\%#40892\fP to 2017.7 +@ \fI2018\-05\-24 16:34:35 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#40892\fP: (\fI\%jagguli\fP) add minion function to reload beacon \fI\%#35960\fP (refs: \fI\%#47802\fP) +.IP \(bu 2 +552526f309 Merge pull request \fI\%#47802\fP from rallytime/bp\-40892 +.IP \(bu 2 +bb357da084 add minion function to reload beacon \fI\%#35960\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47816\fP: (\fI\%Ch3LL\fP) Add windows to service disable ERROR check in tests +@ \fI2018\-05\-24 15:31:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +c9cccf53b9 Merge pull request \fI\%#47816\fP from Ch3LL/disable_windows +.IP \(bu 2 +2509d36888 Add windows to service disable ERROR check in tests +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47773\fP: (\fI\%frogunder\fP) add win_servermanager.list_available test +@ \fI2018\-05\-23 19:44:14 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2cb6634c6b Merge pull request \fI\%#47773\fP from frogunder/45011 +.IP \(bu 2 +7c9b0bda33 add win_servermanager.list_available test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47807\fP: (\fI\%dwoz\fP) Try an even bigger timeout +@ \fI2018\-05\-23 19:38:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e65dece202 Merge pull request \fI\%#47807\fP from dwoz/winrmtests +.IP \(bu 2 +1f1cc1357a Increase instance size for cloud tests +.IP \(bu 2 +be8dcd21f1 Try an even bigger timeout +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47765\fP: (\fI\%meaksh\fP) Prevent zypper from parsing repo configuration from not .repo files +@ \fI2018\-05\-23 14:45:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +46618d2ce7 Merge pull request \fI\%#47765\fP from meaksh/2017.7\-fix\-zypper\-error\-reading\-repo +.IP \(bu 2 +4475ba19b8 Prevent zypper from parsing repo configuration from not .repo files +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47781\fP: (\fI\%rallytime\fP) Update cloud test profile and docs to use new Linode size lables +@ \fI2018\-05\-23 13:09:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0e87559ee3 Merge pull request \fI\%#47781\fP from rallytime/update\-linode\-sizes +.IP \(bu 2 +a90c1b760e Update cloud test profile and docs to use new Linode size lables +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47748\fP: (\fI\%rallytime\fP) [2017.7] Merge forward from 2017.7.6 to 2017.7 +@ \fI2018\-05\-22 20:53:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +3ddc56cb9b Merge pull request \fI\%#47748\fP from rallytime/merge\-2017.7 +.IP \(bu 2 +b75f5ae38e Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.IP \(bu 2 +17596f3025 Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.IP \(bu 2 +e458f4a031 Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47779\fP: (\fI\%dwoz\fP) Increase ec2 cloud timeouts to 1000 +@ \fI2018\-05\-22 20:35:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0ddc864f90 Merge pull request \fI\%#47779\fP from dwoz/winrmtests +.IP \(bu 2 +d5eafe9d53 Use common timeout variable +.IP \(bu 2 +7e948eb540 Increase ec2 cloud timeouts to 1000 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47430\fP: (\fI\%baniobloom\fP) Add catch for VPCAssociationNotFound +@ \fI2018\-05\-22 14:54:01 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +17c4c8443c Merge pull request \fI\%#47430\fP from baniobloom/vpc_association_not_found +.IP \(bu 2 +0f1d007f91 added catch for VPCAssociationNotFound +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47525\fP: (\fI\%baniobloom\fP) Trying to add a duplicate sec group rule true +@ \fI2018\-05\-22 14:51:09 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +9c5dde1449 Merge pull request \fI\%#47525\fP from baniobloom/duplicate_sec_group_rule +.IP \(bu 2 +dcc35df489 if we are trying to add the same rule then we are already in the desired state, return true +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47772\fP: (\fI\%gtmanfred\fP) lock down dependencies for kitchen\-salt +@ \fI2018\-05\-22 14:21:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +536ce2fa42 Merge pull request \fI\%#47772\fP from gtmanfred/2017.7 +.IP \(bu 2 +67756a50fd lock down dependencies for kitchen\-salt +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47717\fP: (\fI\%server\-monitoring\fP) Invalid output of pkg.list_upgrades on Fedora 27 Server (refs: \fI\%#47749\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47749\fP: (\fI\%terminalmage\fP) Fix "dnf list upgrades" parsing +@ \fI2018\-05\-22 12:51:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +12b330f049 Merge pull request \fI\%#47749\fP from terminalmage/issue47717 +.IP \(bu 2 +cd484bef69 Fix "dnf list upgrades" parsing +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47755\fP: (\fI\%dwoz\fP) Be explicit about winrm setting +@ \fI2018\-05\-21 22:39:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +5cd18b9e70 Merge pull request \fI\%#47755\fP from dwoz/winrmtests +.IP \(bu 2 +57dd89e6c3 Default to ec2 classic compatible images +.IP \(bu 2 +f89668920a Be explicit about winrm setting +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47668\fP: (\fI\%Ch3LL\fP) Add pkg.latest_version windows test +@ \fI2018\-05\-21 20:26:45 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f45a96ba1d Merge pull request \fI\%#47668\fP from Ch3LL/win_pkg_test +.IP \(bu 2 +a8981024de Add pkg.latest_version windows test +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47750\fP: (\fI\%dwoz\fP) Allow ssh_interface to default to public_ips +@ \fI2018\-05\-21 17:14:11 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7b12444dfa Merge pull request \fI\%#47750\fP from dwoz/cloudtest +.IP \(bu 2 +63b722ba21 Allow ssh_interface to default to public_ips +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47737\fP: (\fI\%dwoz\fP) Cloud test fixup +@ \fI2018\-05\-21 14:19:49 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +27fbb42210 Merge pull request \fI\%#47737\fP from dwoz/win_timeout +.IP \(bu 2 +e88833a07d Cloud test fixup +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47729\fP: (\fI\%UtahDave\fP) fix cli example to match function name +@ \fI2018\-05\-19 11:31:21 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +1a93f060fb Merge pull request \fI\%#47729\fP from UtahDave/fix_get_info_doc +.IP \(bu 2 +443a2d72a2 fix cli example to match function name +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47182\fP: (\fI\%MartinEmrich\fP) state.highstate error with require_in: sls: (refs: \fI\%#47682\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47682\fP: (\fI\%terminalmage\fP) Fix traceback when excludes are present in an included SLS file +@ \fI2018\-05\-18 16:47:47 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +00a13761c7 Merge pull request \fI\%#47682\fP from terminalmage/issue47182 +.IP \(bu 2 +d0243e8f23 Suppress spurious lint failure +.IP \(bu 2 +3b449f11fc Add regression test for excludes issue +.IP \(bu 2 +28a7d2b81c Skip __exclude__ in find_sls_ids +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47696\fP: (\fI\%darkpixel\fP) 2017.7.5 zpool.present does not check for properties=None before attempting to enumerate properties (refs: \fI\%#47708\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47708\fP: (\fI\%darkpixel\fP) Wrap properties loop with a check for None. Closes GH\-47696 +@ \fI2018\-05\-18 15:25:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +518f7bcc62 Merge pull request \fI\%#47708\fP from darkpixel/47696\-do\-not\-enumerate\-none +.IP \(bu 2 +54e9bf9ec9 Merge branch \(aq2017.7\(aq into 47696\-do\-not\-enumerate\-none +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47681\fP: (\fI\%rallytime\fP) [2017.7] Merge forward from 2017.7.6 to 2017.7 +@ \fI2018\-05\-17 21:30:02 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +cad062eaa7 Merge pull request \fI\%#47681\fP from rallytime/merge\-2017.7 +.IP \(bu 2 +6c06cb3ae3 Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47683\fP: (\fI\%Ch3LL\fP) Remove unnecessary setUp in states.test_user test for mac +@ \fI2018\-05\-17 21:28:26 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +fd2d45d9c2 Merge pull request \fI\%#47683\fP from Ch3LL/mac_user_test +.IP \(bu 2 +5a1b25b9c7 Remove unnecessary setUp in states.test_user test for mac +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47692\fP: (\fI\%dwoz\fP) Default windows to m1.small for ec2\-classic +@ \fI2018\-05\-17 14:44:10 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f323799c42 Merge pull request \fI\%#47692\fP from dwoz/win_instance_type +.IP \(bu 2 +20b6070d54 Default windows to m1.small for ec2\-classic +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#45125\fP: (\fI\%wes\-novack\fP) salt\-cloud no longer picking up master setting from provider file (refs: \fI\%#47665\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47665\fP: (\fI\%gtmanfred\fP) use dictupdate to update the providers dictionary and merge lists +@ \fI2018\-05\-16 15:59:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +990ece5cd5 Merge pull request \fI\%#47665\fP from gtmanfred/cloud +.IP \(bu 2 +fd8a02decb use dictupdate to update the providers dictionary and merge lists +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47151\fP: (\fI\%zer0def\fP) Allow interaction with default section in ConfigParser serializer +@ \fI2018\-05\-16 13:53:44 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a2ed8cbb7f Merge pull request \fI\%#47151\fP from zer0def/configparser\-defaultsect +.IP \(bu 2 +a8f2ad977e Merge branch \(aq2017.7\(aq into configparser\-defaultsect +.IP \(bu 2 +cca2a806c9 Made interaction with [DEFAULT] section in ConfigParser as sane as upstream permits. +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#40846\fP: (\fI\%ghost\fP) file.managed fails for long URLs (refs: \fI\%#45808\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47673\fP: (\fI\%terminalmage\fP) Backport \fI\%#45808\fP to 2017.7 +@ \fI2018\-05\-16 13:52:06 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#45808\fP: (\fI\%b1naryth1ef\fP) [bugfix] Fix for oversized filenames in fileclient (refs: \fI\%#47673\fP) +.IP \(bu 2 +e6fb8342ef Merge pull request \fI\%#47673\fP from terminalmage/bp\-45808 +.IP \(bu 2 +454291ad62 Fix errors when attempting to cache files with long names or URLs +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47670\fP: (\fI\%gtmanfred\fP) add a pytest.ini and update a dependency for kitchen +@ \fI2018\-05\-16 01:56:17 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +b0446aab07 Merge pull request \fI\%#47670\fP from gtmanfred/2017.7 +.IP \(bu 2 +dfd5a8715f add a pytest.ini and update a dependency for kitchen +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47626\fP: (\fI\%gtmanfred\fP) Implement Pipfile and remove extra requirements.txt files +@ \fI2018\-05\-16 00:03:12 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0d06da6944 Merge pull request \fI\%#47626\fP from gtmanfred/2017.7 +.IP \(bu 2 +418364a533 make dev_python27.txt have the same message as dev_python34.txt +.IP \(bu 2 +d53b44d10f remove lock file +.IP \(bu 2 +493ed7f93d use the toml dict format +.IP \(bu 2 +e0f7cc1447 add proxy tests decorator to pytest conftest +.IP \(bu 2 +0a621dd0ec add Pipfile for managing dependencies in salt +.IP \(bu 2 +f78b81db94 simplify dev and base.txt to single files +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47578\fP: (\fI\%Ch3LL\fP) Ensure mac_service.disabled is correctly querying services +@ \fI2018\-05\-15 18:26:37 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +a07a8906a0 Merge pull request \fI\%#47578\fP from Ch3LL/mac_service_disabled +.IP \(bu 2 +6032a01f55 change disable check for upstart service on ubuntu14 +.IP \(bu 2 +33b4cfbc5b Change service assertion check for systemd platforms +.IP \(bu 2 +14896f9743 change codeauthor and class name +.IP \(bu 2 +502c5bdff5 Ensure mac_service.disabled is correctly querying services +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47639\fP: (\fI\%rallytime\fP) [2017.7] Merge forward from 2017.7.6 to 2017.7 +@ \fI2018\-05\-14 17:58:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f63d801858 Merge pull request \fI\%#47639\fP from rallytime/merge\-2017.7 +.IP \(bu 2 +1503f1020f Merge branch \(aq2017.7.6\(aq into \(aq2017.7\(aq +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47643\fP: (\fI\%dwoz\fP) Remove unwanted file +@ \fI2018\-05\-14 17:53:57 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +db0eef3e8b Merge pull request \fI\%#47643\fP from dwoz/runas_detect +.IP \(bu 2 +8c5e54b8b3 Fix typo +.IP \(bu 2 +69bc88f1c6 Remove unwanted file +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47601\fP: (\fI\%dwoz\fP) Skip tests when we can not use runas +@ \fI2018\-05\-14 15:26:36 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6dd3ab9f06 Merge pull request \fI\%#47601\fP from dwoz/runas_detect +.IP \(bu 2 +3235ac08cb use ignore\-undefined\-variable +.IP \(bu 2 +58911d510a Ignore pylint WindowsError +.IP \(bu 2 +17987d3c5a Better doc string +.IP \(bu 2 +a48ac26573 Skip tests when we can not use runas +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47611\fP: (\fI\%Ch3LL\fP) Update debian install docs to reflect new latest debian releases +@ \fI2018\-05\-11 16:32:53 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f61ccae627 Merge pull request \fI\%#47611\fP from Ch3LL/deb_doc +.IP \(bu 2 +6d2ddd050f One more grammar fixup +.IP \(bu 2 +2d5ff01261 Grammar fix +.IP \(bu 2 +138847c9c4 Update debian install docs to reflect new latest debian releases +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47598\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47568\fP to 2017.7 +@ \fI2018\-05\-10 22:06:20 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47568\fP: (\fI\%terminalmage\fP) salt.serializers.yaml/yamlex: remove invalid multi_constructor (refs: \fI\%#47598\fP) +.IP \(bu 2 +9e2fe284e4 Merge pull request \fI\%#47598\fP from rallytime/bp\-47568\-2017.7 +.IP \(bu 2 +09458c65cf Add exception logging on serialize/deserialize exceptions +.IP \(bu 2 +c62c855f9c salt.serializers.yaml/yamlex: remove invalid multi_constructor +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47548\fP: (\fI\%Ch3LL\fP) Catch Sysloghandler errors when log file does not exist +@ \fI2018\-05\-10 20:23:25 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +8a7913ccc3 Merge pull request \fI\%#47548\fP from Ch3LL/syslog +.IP \(bu 2 +31f13a4197 sysloghander: check for 3.5.4 python version +.IP \(bu 2 +a020352a03 Catch Sysloghandler errors when log file does not exist +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47491\fP: (\fI\%doc987\fP) mysql_query.run_file Doesn\(aqt Work when query_file = salt://... (refs: \fI\%#47508\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47508\fP: (\fI\%gtmanfred\fP) allow pulling the mysql_query.run_file to pull from the fileserver +@ \fI2018\-05\-10 18:12:28 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +82fb6ba366 Merge pull request \fI\%#47508\fP from gtmanfred/2017.7 +.IP \(bu 2 +1a87e7455f allow pulling the mysql_query.run_file to pull from the fileserver +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47203\fP: (\fI\%aesposito91\fP) NAPALM grains not updating (refs: \fI\%#47513\fP) +.IP \(bu 2 +\fBISSUE\fP \fI\%#46546\fP: (\fI\%ppalmieri\fP) salt\-minion installed on vEOS does not give vendor grain (refs: \fI\%#47513\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47562\fP: (\fI\%rallytime\fP) Back\-port \fI\%#47513\fP to 2017.7 +@ \fI2018\-05\-10 15:19:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +\fBPR\fP \fI\%#47513\fP: (\fI\%frankiexyz\fP) Fix \fI\%#46546\fP eos napalm\(aqs grains issue (refs: \fI\%#47562\fP) +.IP \(bu 2 +be29b58a09 Merge pull request \fI\%#47562\fP from rallytime/bp\-47513 +.IP \(bu 2 +357bc084b3 fix \fI\%#46546\fP +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47471\fP: (\fI\%meaksh\fP) Fix inconsistency with "jid" on minion scheduled jobs and the returners output +@ \fI2018\-05\-09 18:20:00 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +d3121fcfa4 Merge pull request \fI\%#47471\fP from meaksh/2017.7\-fix\-inconsistent\-scheduled\-jid\-with\-returners +.IP \(bu 2 +f079939500 Do not override jid on returners, only sending back to master +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47313\fP: (\fI\%Circuitsoft\fP) Add Poky/Yocto support +@ \fI2018\-05\-09 17:31:59 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +662f6086db Merge pull request \fI\%#47313\fP from Circuitsoft/2017.7 +.IP \(bu 2 +237560b745 Merge branch \(aq2017.7\(aq into 2017.7 +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47540\fP: (\fI\%terminalmage\fP) Fix corner case where runas user\(aqs HOME env value is incorrect +@ \fI2018\-05\-08 20:31:40 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +291d3d3bd8 Merge pull request \fI\%#47540\fP from terminalmage/cmdmod\-home\-fix +.IP \(bu 2 +e4b277f82e Fix corner case where runas user\(aqs HOME env value is incorrect +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#24148\fP: (\fI\%abng88\fP) Update gitfs docs to include tutorial on how to configure gitfs for salt\-call (masterless) (refs: \fI\%#47547\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47547\fP: (\fI\%terminalmage\fP) Add masterless mode docs to gitfs tutorial +@ \fI2018\-05\-08 20:24:29 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +49af577b3e Merge pull request \fI\%#47547\fP from terminalmage/gitfs\-tutorial +.IP \(bu 2 +806ffb298a Add masterless mode docs to gitfs tutorial +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47538\fP: (\fI\%terminalmage\fP) Fix/clarify some of the pip module documentation +@ \fI2018\-05\-08 15:24:18 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +476ba053d1 Merge pull request \fI\%#47538\fP from terminalmage/pip\-docs +.IP \(bu 2 +98e8ffeba4 Fix/clarify some of the pip module documentation +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47524\fP: (\fI\%dwoz\fP) Gracefully handle blank lines in whitelist.txt +@ \fI2018\-05\-08 15:04:23 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7cc8d9d30a Merge pull request \fI\%#47524\fP from dwoz/whitelistlines +.IP \(bu 2 +2605ff8712 Gracefully handle blank lines in whitelist.txt +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47527\fP: (\fI\%dwoz\fP) Test file name +@ \fI2018\-05\-07 22:02:04 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +f1a5b13072 Merge pull request \fI\%#47527\fP from dwoz/test_file_name +.IP \(bu 2 +4aea7ca571 Update doc string +.IP \(bu 2 +b3289e5a1c Fix test file name +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47408\fP: (\fI\%Ch3LL\fP) Skip status.diskusage integration tests on macsox +@ \fI2018\-05\-07 19:06:57 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e9c1723175 Merge pull request \fI\%#47408\fP from Ch3LL/skip_diskusage +.IP \(bu 2 +068da8ad7d Merge branch \(aq2017.7\(aq into skip_diskusage +.IP \(bu 2 +1a7ffb4e0d return error if diskusage not available +.IP \(bu 2 +10bd63a976 Skip status.diskusage integration tests on macsox +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47480\fP: (\fI\%baniobloom\fP) added handling for the aws error ConflictingDomainExists +@ \fI2018\-05\-07 19:05:28 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +2f50ff7bc8 Merge pull request \fI\%#47480\fP from baniobloom/ConflictingDomainExists +.IP \(bu 2 +d22ed7dffa added handling for the aws error ConflictingDomainExists +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47444\fP: (\fI\%terminalmage\fP) Skip trying to render a template for a nonexistant SLS file +@ \fI2018\-05\-07 13:48:24 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +7f53be6e92 Merge pull request \fI\%#47444\fP from terminalmage/render_state\-spurious\-error +.IP \(bu 2 +a1e9fe00fd Skip trying to render a template for a nonexistant SLS file +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47478\fP: (\fI\%terminalmage\fP) Rename pip state test modules to match naming convention +@ \fI2018\-05\-07 13:13:13 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +50b9c4d79d Merge pull request \fI\%#47478\fP from terminalmage/rename\-pip\-state\-test +.IP \(bu 2 +9f7a9ebebd Rename pip state test modules to match naming convention +.UNINDENT +.IP \(bu 2 +\fBISSUE\fP \fI\%#47443\fP: (\fI\%skylerberg\fP) Input validation does not raise SaltInvocationError in win_dsc.py (refs: \fI\%#47505\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#47505\fP: (\fI\%dwoz\fP) Raise proper invocation errors +@ \fI2018\-05\-07 13:05:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +e78ac0f9b7 Merge pull request \fI\%#47505\fP from dwoz/win_dsc_fixes +.IP \(bu 2 +d1fcb40d1c Raise proper invocation errors +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47499\fP: (\fI\%dwoz\fP) Move kill process tree and re\-use it +@ \fI2018\-05\-06 20:54:22 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +0d4d5047d8 Merge pull request \fI\%#47499\fP from dwoz/win_run_timeout_again +.IP \(bu 2 +c6697b9f16 Move kill process tree and re\-use it +.UNINDENT +.IP \(bu 2 +\fBPR\fP \fI\%#47493\fP: (\fI\%dwoz\fP) Add support for windows timeout to run_salt +@ \fI2018\-05\-06 05:34:31 UTC\fP +.INDENT 2.0 +.IP \(bu 2 +6a4d0380b1 Merge pull request \fI\%#47493\fP from dwoz/win_run_timeout +.IP \(bu 2 +fec1233dc4 Add support for windows timeout to run_salt +.IP \(bu 2 +cb674fb1cb Enable opkg as pkgrepo handler on Poky +.IP \(bu 2 +7a58fd157e Enable opkg on non\-NILinuxRT systems +.IP \(bu 2 +139360c55f Add Poky to OS Information Grains +.IP \(bu 2 +d74057224d Un\-normalize os_family in pkgrepo state +.IP \(bu 2 +95d4488f01 Merge branch \(aq2017.7.6\(aq into 47696\-do\-not\-enumerate\-none +.IP \(bu 2 +041e4c6ddb Wrap properties loop with a check for None. Closes GH\-47696 +.UNINDENT +.UNINDENT +.SS In Progress: Salt 2017.7.9 Release Notes +.sp +Version 2017.7.9 is an \fBunreleased\fP bugfix release for 2017.7.0\&. +This release is still in progress and has not been released yet. +.SS Salt Cloud Features +.SS GCE Driver +.sp +The GCE salt cloud driver can now be used with GCE instance credentials by +setting the configuration paramaters \fBservice_account_private_key\fP and +\fBservice_account_private_email\fP to an empty string. .SS Salt 2016.11.0 Release Notes \- Codename Carbon .SS New Features .SS Docker Introspection and Configuration @@ -409650,6 +447234,17 @@ da46678c51 Allow pillar.get to retrieve fresh pillar data when saltenv passed c3f0202fdd Replace feature and doc fixes .UNINDENT .UNINDENT +.SS Salt 2016.11.10 Release Notes +.sp +Version 2016.11.10 is a security release for 2016.11.0\&. +.SS Changes for v2016.11.9..v2016.11.10 +.SS Security Fix +.sp +CVE\-2018\-15751 Remote command execution and incorrect access control when using salt\-api. +.sp +CVE\-2018\-15750 Directory traversal vulnerability when using salt\-api. Allows an attacker to determine what files exist on a server when querying /run or /events. +.sp +Credit and thanks for discovery and responsible disclosure: nullbr4in, xcuter, koredge, loupos, blackcon, Naver Business Platform .SS Salt 2016.11.2 Release Notes .sp Version 2016.11.2 is a bugfix release for 2016.11.0\&. @@ -418667,7 +456262,7 @@ fc306fc8c3 Add missing colon in \fIif\fP statement .IP \(bu 2 822eabcc81 Catch exceptions raised when making changes to jenkins .IP \(bu 2 -91b583b493 Improve and correct execption raising +91b583b493 Improve and correct exception raising .IP \(bu 2 f096917a0e Raise an exception if we fail to cache the config xml .UNINDENT @@ -435314,8 +472909,6 @@ Red Hat / CentOS 5, 6, 7 Debian 8 .IP \(bu 2 Windows -.IP \(bu 2 -FreeBSD .UNINDENT .SS Send Event on State Completion .sp @@ -440112,7 +477705,7 @@ d328ec0157 Fix file.recurse with clean: True @ \fI2016\-08\-10 11:33:12 UTC\fP .INDENT 2.0 .IP \(bu 2 -91b583b Improve and correct exception raising +cfae862972 Merge pull request \fI\%#35325\fP from kev009/fbsd\-netstat\-route .IP \(bu 2 0d49dd3c29 Fix fbsd netstat route on fbsd 10+ .UNINDENT @@ -465661,7 +503254,7 @@ edce034e6c Support for IPv6 addresses scopes in network.interfaces 9a1351eada Change print to logger, so we can set a level and log exc_info .UNINDENT .IP \(bu 2 -\fBPR\fP \fI\%#25120\fP: (\fI\%d\-\-j\fP) add missing continue for exeption case +\fBPR\fP \fI\%#25120\fP: (\fI\%d\-\-j\fP) add missing continue for exception case @ \fI2015\-07\-02 19:38:45 UTC\fP .INDENT 2.0 .IP \(bu 2 @@ -479677,8 +517270,8 @@ this is that applying the action multiple times results in no changes to the system. State module functions should be idempotent. Some state module functions, such as \fBcmd.run\fP are not idempotent by default but can be made idempotent with the -proper use of requisites such as :ref:\fB\(gaunless\fP <unless\-requisite>\(ga -and :ref:\fB\(gaonlyif\fP <onlyif\-requisite>\(ga. For more information, \fIsee\fP +proper use of requisites such as unless +and onlyif\&. For more information, \fIsee\fP \fI\%wikipedia\fP\&. .TP .B Jinja diff --git a/doc/man/spm.1 b/doc/man/spm.1 index 23bbc4a883..beaa235fea 100644 --- a/doc/man/spm.1 +++ b/doc/man/spm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SPM" "1" "Sep 21, 2018" "2018.3.3" "Salt" +.TH "SPM" "1" "Jan 08, 2019" "2019.2.0" "Salt" .SH NAME spm \- Salt Package Manager Command . From 09dd1cba8d46736c65f3c31f22b8f07128c1b859 Mon Sep 17 00:00:00 2001 From: Ch3LL <megan.wilhite@gmail.com> Date: Mon, 7 Jan 2019 18:03:19 -0500 Subject: [PATCH 03/16] Update Fluorine references to 2019.2.0 --- conf/minion | 2 +- doc/faq.rst | 2 +- doc/ref/configuration/master.rst | 2 +- doc/ref/configuration/minion.rst | 14 +- doc/topics/cloud/profitbricks.rst | 8 +- doc/topics/grains/index.rst | 2 +- doc/topics/jinja/index.rst | 6 +- doc/topics/releases/2017.7.0.rst | 4 +- doc/topics/releases/2018.3.0.rst | 2 +- .../releases/{fluorine.rst => 2019.2.0.rst} | 14 +- doc/topics/releases/version_numbers.rst | 2 +- doc/topics/targeting/index.rst | 4 +- doc/topics/targeting/nodegroups.rst | 4 +- doc/topics/utils/index.rst | 2 +- salt/beacons/watchdog.py | 2 +- salt/beacons/wtmp.py | 2 +- salt/cloud/clouds/azurearm.py | 8 +- salt/config/__init__.py | 2 +- salt/engines/libvirt_events.py | 2 +- salt/executors/docker.py | 2 +- salt/modules/aptpkg.py | 2 +- salt/modules/arista_pyeapi.py | 2 +- salt/modules/azurearm_compute.py | 36 +- salt/modules/azurearm_network.py | 124 +++---- salt/modules/azurearm_resource.py | 58 ++-- salt/modules/cimc.py | 14 +- salt/modules/ciscoconfparse_mod.py | 2 +- salt/modules/cmdmod.py | 46 +-- salt/modules/disk.py | 2 +- salt/modules/dockermod.py | 8 +- salt/modules/file.py | 2 +- salt/modules/git.py | 4 +- salt/modules/glusterfs.py | 10 +- salt/modules/google_chat.py | 2 +- salt/modules/hadoop.py | 2 +- salt/modules/iosconfig.py | 2 +- salt/modules/jira_mod.py | 2 +- salt/modules/kapacitor.py | 4 +- salt/modules/kubernetes.py | 4 +- salt/modules/lxd.py | 2 +- salt/modules/mac_service.py | 10 +- salt/modules/mine.py | 2 +- salt/modules/mod_random.py | 2 +- salt/modules/napalm_formula.py | 2 +- salt/modules/napalm_mod.py | 78 ++--- salt/modules/napalm_network.py | 32 +- salt/modules/netbox.py | 52 +-- salt/modules/netmiko_mod.py | 2 +- salt/modules/nxos_api.py | 2 +- salt/modules/openbsdpkg.py | 4 +- salt/modules/opkg.py | 4 +- salt/modules/peeringdb.py | 2 +- salt/modules/pf.py | 2 +- salt/modules/pip.py | 4 +- salt/modules/postgres.py | 4 +- salt/modules/purefb.py | 18 +- salt/modules/saltutil.py | 4 +- salt/modules/scp_mod.py | 2 +- salt/modules/selinux.py | 18 +- salt/modules/slsutil.py | 2 +- salt/modules/smartos_imgadm.py | 10 +- salt/modules/solarisips.py | 2 +- salt/modules/state.py | 12 +- salt/modules/tls.py | 2 +- salt/modules/virt.py | 326 +++++++++--------- salt/modules/vmctl.py | 2 +- salt/modules/win_firewall.py | 14 +- salt/modules/win_network.py | 8 +- salt/modules/yumpkg.py | 16 +- salt/modules/zabbix.py | 4 +- salt/modules/zfs.py | 2 +- salt/pillar/netbox.py | 2 +- salt/proxy/arista_pyeapi.py | 2 +- salt/proxy/docker.py | 2 +- salt/proxy/napalm.py | 2 +- salt/proxy/netmiko_px.py | 2 +- salt/proxy/nxos_api.py | 2 +- salt/returners/pgjsonb.py | 2 +- salt/runners/manage.py | 24 +- salt/runners/saltutil.py | 2 +- salt/runners/state.py | 2 +- salt/sdb/redis_sdb.py | 2 +- salt/states/azurearm_compute.py | 6 +- salt/states/azurearm_network.py | 38 +- salt/states/azurearm_resource.py | 14 +- salt/states/cimc.py | 8 +- salt/states/cmd.py | 8 +- salt/states/docker_container.py | 4 +- salt/states/file.py | 22 +- salt/states/git.py | 6 +- salt/states/glusterfs.py | 6 +- salt/states/kapacitor.py | 2 +- salt/states/kubernetes.py | 2 +- salt/states/lxd.py | 2 +- salt/states/lxd_container.py | 2 +- salt/states/lxd_image.py | 2 +- salt/states/lxd_profile.py | 2 +- salt/states/netconfig.py | 20 +- salt/states/postgres_initdb.py | 4 +- salt/states/reg.py | 10 +- salt/states/selinux.py | 4 +- salt/states/smartos.py | 2 +- salt/states/svn.py | 4 +- salt/states/virt.py | 66 ++-- salt/utils/azurearm.py | 2 +- salt/utils/locales.py | 4 +- salt/utils/win_dacl.py | 4 +- salt/utils/win_lgpo_netsh.py | 2 +- salt/version.py | 2 +- 109 files changed, 675 insertions(+), 675 deletions(-) rename doc/topics/releases/{fluorine.rst => 2019.2.0.rst} (99%) diff --git a/conf/minion b/conf/minion index c09c66d590..f2b6655932 100644 --- a/conf/minion +++ b/conf/minion @@ -33,7 +33,7 @@ # and a warning will be logged. #random_master: False -# NOTE: Deprecated in Salt Fluorine. Use 'random_master' instead. +# NOTE: Deprecated in Salt 2019.2.0. Use 'random_master' instead. #master_shuffle: False # Minions can connect to multiple masters simultaneously (all masters diff --git a/doc/faq.rst b/doc/faq.rst index 2894de2e41..cbc3681432 100644 --- a/doc/faq.rst +++ b/doc/faq.rst @@ -158,7 +158,7 @@ Similarly, custom states are synced to Minions when :py:func:`saltutil.sync_stat They are both also synced when a :ref:`highstate <running-highstate>` is triggered. -As of the Fluorine release, as well as 2017.7.7 and 2018.3.2 in their +As of the 2019.2.0 release, as well as 2017.7.7 and 2018.3.2 in their respective release cycles, the ``sync`` argument to :py:func:`state.apply <salt.modules.state.apply_>`/:py:func:`state.sls <salt.modules.state.sls>` can be used to sync custom types when running individual SLS files. diff --git a/doc/ref/configuration/master.rst b/doc/ref/configuration/master.rst index 7e104d8659..76383965aa 100644 --- a/doc/ref/configuration/master.rst +++ b/doc/ref/configuration/master.rst @@ -1044,7 +1044,7 @@ cache events are fired when a minion requests a minion data cache refresh. ``http_connect_timeout`` ------------------------ -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Default: ``20`` diff --git a/doc/ref/configuration/minion.rst b/doc/ref/configuration/minion.rst index 75a9d94135..82f0f7fb94 100644 --- a/doc/ref/configuration/minion.rst +++ b/doc/ref/configuration/minion.rst @@ -213,7 +213,7 @@ minion event bus. The value is expressed in bytes. ``enable_legacy_startup_events`` -------------------------------- -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Default: ``True`` @@ -286,13 +286,13 @@ to the next master in the list if it finds the existing one is dead. ------------------ .. versionadded:: 2014.7.0 -.. deprecated:: Fluorine +.. deprecated:: 2019.2.0 Default: ``False`` .. warning:: - This option has been deprecated in Salt ``Fluorine``. Please use + This option has been deprecated in Salt ``2019.2.0``. Please use :conf_minion:`random_master` instead. .. code-block:: yaml @@ -305,7 +305,7 @@ Default: ``False`` ----------------- .. versionadded:: 2014.7.0 -.. versionchanged:: Fluorine +.. versionchanged:: 2019.2.0 The :conf_minion:`master_failback` option can be used in conjunction with ``random_master`` to force the minion to fail back to the first master in the list if the first master is back online. Note that :conf_minion:`master_type` @@ -1377,7 +1377,7 @@ talking to the intended master. ``http_connect_timeout`` ------------------------ -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Default: ``20`` @@ -1463,7 +1463,7 @@ The password used for HTTP proxy access. ``no_proxy`` ------------ -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Default: ``[]`` @@ -1486,7 +1486,7 @@ Docker Configuration ---------------------- .. versionadded:: 2017.7.8,2018.3.3 -.. versionchanged:: Fluorine +.. versionchanged:: 2019.2.0 The default value is now ``False`` Default: ``True`` diff --git a/doc/topics/cloud/profitbricks.rst b/doc/topics/cloud/profitbricks.rst index a7514bd92e..cbf0430f00 100644 --- a/doc/topics/cloud/profitbricks.rst +++ b/doc/topics/cloud/profitbricks.rst @@ -156,7 +156,7 @@ command: # salt-cloud --list-sizes my-profitbricks-config -.. versionchanged:: Fluorine +.. versionchanged:: 2019.2.0 One or more public IP address can be reserved with the following command: @@ -196,7 +196,7 @@ The following list explains some of the important properties. - ``disk_type`` - This option allow the disk type to be set to HDD or SSD. The default is HDD. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 - ``image_password`` - A password is set on the image for the "root" or "Administrator" account. This field may only be set during volume creation. @@ -215,7 +215,7 @@ The following list explains some of the important properties. LAN. If no LAN exists, then a new public LAN will be created. The value accepts a LAN ID (integer). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 - ``public_ips`` - Public IPs assigned to the NIC in the public LAN. @@ -238,7 +238,7 @@ The following list explains some of the important properties. private LAN. If no LAN exists, then a new private LAN will be created. The value accepts a LAN ID (integer). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 - ``private_ips`` - Private IPs assigned in the private LAN. NAT setting is ignored when this setting is active. diff --git a/doc/topics/grains/index.rst b/doc/topics/grains/index.rst index ec8bcb5ccc..106f0829cf 100644 --- a/doc/topics/grains/index.rst +++ b/doc/topics/grains/index.rst @@ -277,7 +277,7 @@ grains in ``_grains`` will override *any* grains of the same name. For custom grains, if the function takes an argument ``grains``, then the previously rendered grains will be passed in. Because the rest of the grains could be rendered in any order, the only grains that can be relied upon to be -passed in are ``core`` grains. This was added in the Fluorine release. +passed in are ``core`` grains. This was added in the 2019.2.0 release. Examples of Grains diff --git a/doc/topics/jinja/index.rst b/doc/topics/jinja/index.rst index 5a58b870c6..d5c868e4c4 100644 --- a/doc/topics/jinja/index.rst +++ b/doc/topics/jinja/index.rst @@ -886,7 +886,7 @@ Example: encoding (usually a ``unicode`` type). This filter was incorrectly-named when it was added. ``json_decode_list`` will be supported until the Neon release. -.. deprecated:: 2018.3.3,Fluorine +.. deprecated:: 2018.3.3,2019.2.0 The :jinja_ref:`tojson` filter accomplishes what this filter was designed to do, making this filter redundant. @@ -919,7 +919,7 @@ Returns: encoding (usually a ``unicode`` type). This filter was incorrectly-named when it was added. ``json_decode_dict`` will be supported until the Neon release. -.. deprecated:: 2018.3.3,Fluorine +.. deprecated:: 2018.3.3,2019.2.0 The :jinja_ref:`tojson` filter accomplishes what this filter was designed to do, making this filter redundant. @@ -946,7 +946,7 @@ Returns: ``tojson`` ---------- -.. versionadded:: 2018.3.3,Fluorine +.. versionadded:: 2018.3.3,2019.2.0 Dumps a data structure to JSON. diff --git a/doc/topics/releases/2017.7.0.rst b/doc/topics/releases/2017.7.0.rst index c6f67491d2..b0831c5e44 100644 --- a/doc/topics/releases/2017.7.0.rst +++ b/doc/topics/releases/2017.7.0.rst @@ -301,7 +301,7 @@ reports of confusion among community members, since the targeting method is published to minions as ``tgt_type``, and appears as ``tgt_type`` in the job cache as well. -While ``expr_form`` will continue to be supported until the **Fluorine** +While ``expr_form`` will continue to be supported until the **2019.2.0** release cycle (two major releases after this one), those who are using the :ref:`LocalClient <local-client>` (either directly, or implictly via a :ref:`netapi module <all-netapi-modules>`) are encouraged to update their code @@ -566,7 +566,7 @@ of objects (users, databases, roles, etc.). .. _`Moby announcement`: https://blog.docker.com/2017/04/introducing-the-moby-project/ .. _DockerCon: http://2017.dockercon.com/ -The old syntax will continue to work until the **Fluorine** release of Salt. +The old syntax will continue to work until the **2019.2.0** release of Salt. The old ``dockerng`` naming will also continue to work until that release, so no immediate changes need to be made to your SLS files (unless you were still using the old docker states that have been moved to salt-contrib_). diff --git a/doc/topics/releases/2018.3.0.rst b/doc/topics/releases/2018.3.0.rst index c2aab6e3e2..246b69a4bf 100644 --- a/doc/topics/releases/2018.3.0.rst +++ b/doc/topics/releases/2018.3.0.rst @@ -250,7 +250,7 @@ examples. .. note:: git_pillar does not yet support variable update intervals, this is targeted - for the next feature release (Fluorine). + for the next feature release (2019.2.0). LDAP via External Authentication Changes ======================================== diff --git a/doc/topics/releases/fluorine.rst b/doc/topics/releases/2019.2.0.rst similarity index 99% rename from doc/topics/releases/fluorine.rst rename to doc/topics/releases/2019.2.0.rst index a9f1421407..b154051165 100644 --- a/doc/topics/releases/fluorine.rst +++ b/doc/topics/releases/2019.2.0.rst @@ -1,8 +1,8 @@ -:orphan: +.. _release-2019-2-0: -====================================== -Salt Release Notes - Codename Fluorine -====================================== +=============================================== +Salt 2019.2.0 Release Notes - Codename Fluorine +=============================================== Non-Backward-Compatible Change to YAML Renderer =============================================== @@ -62,7 +62,7 @@ Ansible Playbook State and Execution Modules Along with the including the :py:mod:`ansible modules <salt.module.ansiblegate>` in the Oxygen release, running playbooks has been -added in Fluorine with the :py:func:`playbooks function +added in 2019.2.0 with the :py:func:`playbooks function <salt.modules.ansiblegate.playbooks>`. This also includes an :py:func:`ansible playbooks state module <salt.states.ansiblegate.playbooks>` which can be used on a targeted host to run ansible playbooks, or used in an @@ -918,7 +918,7 @@ Minion Configuration Deprecations --------------------------------- The :conf_minion:`master_shuffle` configuration option is deprecated as of the -``Fluorine`` release. Please use the :conf_minion:`random_master` option instead. +``2019.2.0 `` release. Please use the :conf_minion:`random_master` option instead. Module Deprecations ------------------- @@ -988,7 +988,7 @@ Roster Deprecations - The :py:mod:`cache <salt.roster.cache>` roster has been changed as follows: - Support for ``roster_order`` as a list or tuple has been removed. As of - the ``Fluorine`` release, ``roster_order`` must be a dictionary. + the ``2019.2.0 `` release, ``roster_order`` must be a dictionary. - The ``roster_order`` option now includes IPv6 in addition to IPv4 for the ``private``, ``public``, ``global`` or ``local`` settings. The syntax for diff --git a/doc/topics/releases/version_numbers.rst b/doc/topics/releases/version_numbers.rst index 578c329663..dda93a4f47 100644 --- a/doc/topics/releases/version_numbers.rst +++ b/doc/topics/releases/version_numbers.rst @@ -35,7 +35,7 @@ Assigned codenames: - Carbon: ``2016.11.0`` - Nitrogen: ``2017.7.0`` - Oxygen: ``2018.3.0`` -- Fluorine: ``TBD`` +- Fluorine: ``2019.2.0`` - Neon: ``TBD`` - Sodium: ``TBD`` diff --git a/doc/topics/targeting/index.rst b/doc/topics/targeting/index.rst index 7e33681de3..acd8cf2288 100644 --- a/doc/topics/targeting/index.rst +++ b/doc/topics/targeting/index.rst @@ -116,10 +116,10 @@ There are many ways to target individual minions or groups of minions in Salt: Loadable Matchers ================= -.. versionadded:: Flourine +.. versionadded:: 2019.2.0 Internally targeting is implemented with chunks of code called Matchers. As of -the Flourine release, matchers can be loaded dynamically. Currently new matchers +the 2019.2.0 release, matchers can be loaded dynamically. Currently new matchers cannot be created, but existing matchers can have their functionality altered or extended. For more information on Matchers see diff --git a/doc/topics/targeting/nodegroups.rst b/doc/topics/targeting/nodegroups.rst index 0160949ae7..a319768964 100644 --- a/doc/topics/targeting/nodegroups.rst +++ b/doc/topics/targeting/nodegroups.rst @@ -59,12 +59,12 @@ To match a nodegroup on the CLI, use the ``-N`` command-line option: salt -N group1 test.ping -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 .. note:: The ``N@`` classifier historically could not be used in compound matches within the CLI or :term:`top file`, it was only recognized in the - :conf_master:`nodegroups` master config file parameter. As of the Fluorine + :conf_master:`nodegroups` master config file parameter. As of the 2019.2.0 release, this limitation no longer exists. To match a nodegroup in your :term:`top file`, make sure to put ``- match: diff --git a/doc/topics/utils/index.rst b/doc/topics/utils/index.rst index 2ea3564f9a..c0257f9d61 100644 --- a/doc/topics/utils/index.rst +++ b/doc/topics/utils/index.rst @@ -145,7 +145,7 @@ following Salt functions are called: * :py:func:`saltutil.sync_utils <salt.modules.saltutil.sync_utils>` * :py:func:`saltutil.sync_all <salt.modules.saltutil.sync_all>` -As of the Fluorine release, as well as 2017.7.7 and 2018.3.2 in their +As of the 2019.2.0 release, as well as 2017.7.7 and 2018.3.2 in their respective release cycles, the ``sync`` argument to :py:func:`state.apply <salt.modules.state.apply_>`/:py:func:`state.sls <salt.modules.state.sls>` can be used to sync custom types when running individual SLS files. diff --git a/salt/beacons/watchdog.py b/salt/beacons/watchdog.py index 85d8277eac..01419caad0 100644 --- a/salt/beacons/watchdog.py +++ b/salt/beacons/watchdog.py @@ -2,7 +2,7 @@ ''' watchdog beacon -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Watch files and translate the changes into salt events diff --git a/salt/beacons/wtmp.py b/salt/beacons/wtmp.py index e9e7adb02b..c5b4f11b77 100644 --- a/salt/beacons/wtmp.py +++ b/salt/beacons/wtmp.py @@ -71,7 +71,7 @@ can be overridden using a ``ut_type`` key in the beacon configuration: This beacon's events include an ``action`` key which will be either ``login`` or ``logout`` depending on the event type. -.. versionchanged:: Fluorine +.. versionchanged:: 2019.2.0 ``action`` key added to beacon event, and ``ut_type`` config parameter added. diff --git a/salt/cloud/clouds/azurearm.py b/salt/cloud/clouds/azurearm.py index 1b5383d059..e8050dca16 100644 --- a/salt/cloud/clouds/azurearm.py +++ b/salt/cloud/clouds/azurearm.py @@ -5,7 +5,7 @@ Azure ARM Cloud Module .. versionadded:: 2016.11.0 -.. versionchanged:: Fluorine +.. versionchanged:: 2019.2.0 The Azure ARM cloud module is used to control access to Microsoft Azure Resource Manager @@ -1883,7 +1883,7 @@ def list_subnets(call=None, kwargs=None): def create_or_update_vmextension(call=None, kwargs=None): # pylint: disable=unused-argument ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a VM extension object "inside" of a VM object. @@ -1989,7 +1989,7 @@ def create_or_update_vmextension(call=None, kwargs=None): # pylint: disable=unu def stop(name, call=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Stop (deallocate) a VM @@ -2050,7 +2050,7 @@ def stop(name, call=None): def start(name, call=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Start a VM diff --git a/salt/config/__init__.py b/salt/config/__init__.py index 35a26d7194..c0c272bac6 100644 --- a/salt/config/__init__.py +++ b/salt/config/__init__.py @@ -136,7 +136,7 @@ VALID_OPTS = { # a master fingerprint with `salt-key -F master` 'master_finger': six.string_types, - # Deprecated in Fluorine. Use 'random_master' instead. + # Deprecated in 2019.2.0. Use 'random_master' instead. # Do not remove! Keep as an alias for usability. 'master_shuffle': bool, diff --git a/salt/engines/libvirt_events.py b/salt/engines/libvirt_events.py index 6d55fba861..cdb5d1dfe8 100644 --- a/salt/engines/libvirt_events.py +++ b/salt/engines/libvirt_events.py @@ -62,7 +62,7 @@ A polkit rule like the following one will allow `salt` user to connect to libvir :depends: libvirt 1.0.0+ python binding -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 ''' from __future__ import absolute_import, unicode_literals, print_function diff --git a/salt/executors/docker.py b/salt/executors/docker.py index 14080998cd..1360c8fb3e 100644 --- a/salt/executors/docker.py +++ b/salt/executors/docker.py @@ -2,7 +2,7 @@ ''' Docker executor module -.. versionadded: Fluorine +.. versionadded: 2019.2.0 Used with the docker proxy minion. ''' diff --git a/salt/modules/aptpkg.py b/salt/modules/aptpkg.py index f0dbbd4c45..d0b95fdf50 100644 --- a/salt/modules/aptpkg.py +++ b/salt/modules/aptpkg.py @@ -2664,7 +2664,7 @@ def owner(*paths): def show(*names, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Runs an ``apt-cache show`` on the passed package names, and returns the results in a nested dictionary. The top level of the return data will be diff --git a/salt/modules/arista_pyeapi.py b/salt/modules/arista_pyeapi.py index efe1bdcade..1de840a0f6 100644 --- a/salt/modules/arista_pyeapi.py +++ b/salt/modules/arista_pyeapi.py @@ -3,7 +3,7 @@ Arista pyeapi ============= -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Execution module to interface the connection with Arista switches, connecting to the remote network device using the diff --git a/salt/modules/azurearm_compute.py b/salt/modules/azurearm_compute.py index 6251354a20..bc7eb7c2e4 100644 --- a/salt/modules/azurearm_compute.py +++ b/salt/modules/azurearm_compute.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Compute Execution Module -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new @@ -79,7 +79,7 @@ def __virtual__(): def availability_set_create_or_update(name, resource_group, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update an availability set. @@ -147,7 +147,7 @@ def availability_set_create_or_update(name, resource_group, **kwargs): # pylint def availability_set_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete an availability set. @@ -180,7 +180,7 @@ def availability_set_delete(name, resource_group, **kwargs): def availability_set_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get a dictionary representing an availability set's properties. @@ -213,7 +213,7 @@ def availability_set_get(name, resource_group, **kwargs): def availability_sets_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all availability sets within a resource group. @@ -247,7 +247,7 @@ def availability_sets_list(resource_group, **kwargs): def availability_sets_list_available_sizes(name, resource_group, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all available virtual machine sizes that can be used to to create a new virtual machine in an existing availability set. @@ -286,7 +286,7 @@ def availability_sets_list_available_sizes(name, resource_group, **kwargs): # p def virtual_machine_capture(name, destination_name, resource_group, prefix='capture-', overwrite=False, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs. @@ -338,7 +338,7 @@ def virtual_machine_capture(name, destination_name, resource_group, prefix='capt def virtual_machine_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Retrieves information about the model view or the instance view of a virtual machine. @@ -375,7 +375,7 @@ def virtual_machine_get(name, resource_group, **kwargs): def virtual_machine_convert_to_managed_disks(name, resource_group, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation. @@ -411,7 +411,7 @@ def virtual_machine_convert_to_managed_disks(name, resource_group, **kwargs): # def virtual_machine_deallocate(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Power off a virtual machine and deallocate compute resources. @@ -446,7 +446,7 @@ def virtual_machine_deallocate(name, resource_group, **kwargs): def virtual_machine_generalize(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Set the state of a virtual machine to 'generalized'. @@ -478,7 +478,7 @@ def virtual_machine_generalize(name, resource_group, **kwargs): def virtual_machines_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all virtual machines within a resource group. @@ -511,7 +511,7 @@ def virtual_machines_list(resource_group, **kwargs): def virtual_machines_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all virtual machines within a subscription. @@ -539,7 +539,7 @@ def virtual_machines_list_all(**kwargs): def virtual_machines_list_available_sizes(name, resource_group, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Lists all available virtual machine sizes to which the specified virtual machine can be resized. @@ -576,7 +576,7 @@ def virtual_machines_list_available_sizes(name, resource_group, **kwargs): # py def virtual_machine_power_off(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Power off (stop) a virtual machine. @@ -611,7 +611,7 @@ def virtual_machine_power_off(name, resource_group, **kwargs): def virtual_machine_restart(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Restart a virtual machine. @@ -646,7 +646,7 @@ def virtual_machine_restart(name, resource_group, **kwargs): def virtual_machine_start(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Power on (start) a virtual machine. @@ -681,7 +681,7 @@ def virtual_machine_start(name, resource_group, **kwargs): def virtual_machine_redeploy(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Redeploy a virtual machine. diff --git a/salt/modules/azurearm_network.py b/salt/modules/azurearm_network.py index 93056cf826..9f68b721bb 100644 --- a/salt/modules/azurearm_network.py +++ b/salt/modules/azurearm_network.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Network Execution Module -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new @@ -86,7 +86,7 @@ def __virtual__(): def check_dns_name_availability(name, region, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Check whether a domain name in the current zone is available for use. @@ -118,7 +118,7 @@ def check_dns_name_availability(name, region, **kwargs): def check_ip_address_availability(ip_address, virtual_network, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Check that a private ip address is available within the specified virtual network. @@ -154,7 +154,7 @@ def check_ip_address_availability(ip_address, virtual_network, resource_group, def default_security_rule_get(name, security_group, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a default security rule within a security group. @@ -203,7 +203,7 @@ def default_security_rule_get(name, security_group, resource_group, **kwargs): def default_security_rules_list(security_group, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List default security rules within a security group. @@ -243,7 +243,7 @@ def default_security_rules_list(security_group, resource_group, **kwargs): def security_rules_list(security_group, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List security rules within a network security group. @@ -279,7 +279,7 @@ def security_rule_create_or_update(name, access, direction, priority, protocol, destination_address_prefixes=None, source_port_ranges=None, destination_port_ranges=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a security rule within a specified network security group. @@ -412,7 +412,7 @@ def security_rule_create_or_update(name, access, direction, priority, protocol, def security_rule_delete(security_rule, security_group, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a security rule within a specified security group. @@ -449,7 +449,7 @@ def security_rule_delete(security_rule, security_group, resource_group, def security_rule_get(security_rule, security_group, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get a security rule within a specified network security group. @@ -485,7 +485,7 @@ def security_rule_get(security_rule, security_group, resource_group, **kwargs): def network_security_group_create_or_update(name, resource_group, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a network security group. @@ -541,7 +541,7 @@ def network_security_group_create_or_update(name, resource_group, **kwargs): # def network_security_group_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a network security group within a resource group. @@ -574,7 +574,7 @@ def network_security_group_delete(name, resource_group, **kwargs): def network_security_group_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a network security group within a resource group. @@ -606,7 +606,7 @@ def network_security_group_get(name, resource_group, **kwargs): def network_security_groups_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all network security groups within a resource group. @@ -639,7 +639,7 @@ def network_security_groups_list(resource_group, **kwargs): def network_security_groups_list_all(**kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all network security groups within a subscription. @@ -667,7 +667,7 @@ def network_security_groups_list_all(**kwargs): # pylint: disable=invalid-name def subnets_list(virtual_network, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all subnets within a virtual network. @@ -704,7 +704,7 @@ def subnets_list(virtual_network, resource_group, **kwargs): def subnet_get(name, virtual_network, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific subnet. @@ -741,7 +741,7 @@ def subnet_get(name, virtual_network, resource_group, **kwargs): def subnet_create_or_update(name, address_prefix, virtual_network, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a subnet. @@ -818,7 +818,7 @@ def subnet_create_or_update(name, address_prefix, virtual_network, resource_grou def subnet_delete(name, virtual_network, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a subnet. @@ -855,7 +855,7 @@ def subnet_delete(name, virtual_network, resource_group, **kwargs): def virtual_networks_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all virtual networks within a subscription. @@ -882,7 +882,7 @@ def virtual_networks_list_all(**kwargs): def virtual_networks_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all virtual networks within a resource group. @@ -920,7 +920,7 @@ def virtual_network_create_or_update(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a virtual network. @@ -996,7 +996,7 @@ def virtual_network_create_or_update(name, def virtual_network_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a virtual network. @@ -1029,7 +1029,7 @@ def virtual_network_delete(name, resource_group, **kwargs): def virtual_network_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific virtual network. @@ -1061,7 +1061,7 @@ def virtual_network_get(name, resource_group, **kwargs): def load_balancers_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all load balancers within a subscription. @@ -1088,7 +1088,7 @@ def load_balancers_list_all(**kwargs): def load_balancers_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all load balancers within a resource group. @@ -1122,7 +1122,7 @@ def load_balancers_list(resource_group, **kwargs): def load_balancer_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific load balancer. @@ -1154,7 +1154,7 @@ def load_balancer_get(name, resource_group, **kwargs): def load_balancer_create_or_update(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a load balancer within a specified resource group. @@ -1328,7 +1328,7 @@ def load_balancer_create_or_update(name, resource_group, **kwargs): def load_balancer_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a load balancer. @@ -1361,7 +1361,7 @@ def load_balancer_delete(name, resource_group, **kwargs): def usages_list(location, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List subscription network usage for a location. @@ -1386,7 +1386,7 @@ def usages_list(location, **kwargs): def network_interface_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a network interface. @@ -1420,7 +1420,7 @@ def network_interface_delete(name, resource_group, **kwargs): def network_interface_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific network interface. @@ -1454,7 +1454,7 @@ def network_interface_get(name, resource_group, **kwargs): def network_interface_create_or_update(name, ip_configurations, subnet, virtual_network, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a network interface within a specified resource group. @@ -1575,7 +1575,7 @@ def network_interface_create_or_update(name, ip_configurations, subnet, virtual_ def network_interfaces_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all network interfaces within a subscription. @@ -1602,7 +1602,7 @@ def network_interfaces_list_all(**kwargs): def network_interfaces_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all network interfaces within a resource group. @@ -1637,7 +1637,7 @@ def network_interfaces_list(resource_group, **kwargs): # pylint: disable=invalid-name def network_interface_get_effective_route_table(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get all route tables for a specific network interface. @@ -1673,7 +1673,7 @@ def network_interface_get_effective_route_table(name, resource_group, **kwargs): # pylint: disable=invalid-name def network_interface_list_effective_network_security_groups(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get all network security groups applied to a specific network interface. @@ -1712,7 +1712,7 @@ def list_virtual_machine_scale_set_vm_network_interfaces(scale_set, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get information about all network interfaces in a specific virtual machine within a scale set. @@ -1753,7 +1753,7 @@ def list_virtual_machine_scale_set_vm_network_interfaces(scale_set, # pylint: disable=invalid-name def list_virtual_machine_scale_set_network_interfaces(scale_set, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get information about all network interfaces within a scale set. @@ -1791,7 +1791,7 @@ def list_virtual_machine_scale_set_network_interfaces(scale_set, resource_group, # pylint: disable=invalid-name def get_virtual_machine_scale_set_network_interface(name, scale_set, vm_index, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get information about a specfic network interface within a scale set. @@ -1833,7 +1833,7 @@ def get_virtual_machine_scale_set_network_interface(name, scale_set, vm_index, r def public_ip_address_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a public IP address. @@ -1866,7 +1866,7 @@ def public_ip_address_delete(name, resource_group, **kwargs): def public_ip_address_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific public IP address. @@ -1902,7 +1902,7 @@ def public_ip_address_get(name, resource_group, **kwargs): def public_ip_address_create_or_update(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a public IP address within a specified resource group. @@ -1958,7 +1958,7 @@ def public_ip_address_create_or_update(name, resource_group, **kwargs): def public_ip_addresses_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all public IP addresses within a subscription. @@ -1985,7 +1985,7 @@ def public_ip_addresses_list_all(**kwargs): def public_ip_addresses_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all public IP addresses within a resource group. @@ -2019,7 +2019,7 @@ def public_ip_addresses_list(resource_group, **kwargs): def route_filter_rule_delete(name, route_filter, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a route filter rule. @@ -2055,7 +2055,7 @@ def route_filter_rule_delete(name, route_filter, resource_group, **kwargs): def route_filter_rule_get(name, route_filter, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific route filter rule. @@ -2092,7 +2092,7 @@ def route_filter_rule_get(name, route_filter, resource_group, **kwargs): def route_filter_rule_create_or_update(name, access, communities, route_filter, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a rule within a specified route filter. @@ -2171,7 +2171,7 @@ def route_filter_rule_create_or_update(name, access, communities, route_filter, def route_filter_rules_list(route_filter, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all routes within a route filter. @@ -2208,7 +2208,7 @@ def route_filter_rules_list(route_filter, resource_group, **kwargs): def route_filter_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a route filter. @@ -2241,7 +2241,7 @@ def route_filter_delete(name, resource_group, **kwargs): def route_filter_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific route filter. @@ -2277,7 +2277,7 @@ def route_filter_get(name, resource_group, **kwargs): def route_filter_create_or_update(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a route filter within a specified resource group. @@ -2333,7 +2333,7 @@ def route_filter_create_or_update(name, resource_group, **kwargs): def route_filters_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all route filters within a resource group. @@ -2367,7 +2367,7 @@ def route_filters_list(resource_group, **kwargs): def route_filters_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all route filters within a subscription. @@ -2394,7 +2394,7 @@ def route_filters_list_all(**kwargs): def route_delete(name, route_table, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a route from a route table. @@ -2430,7 +2430,7 @@ def route_delete(name, route_table, resource_group, **kwargs): def route_get(name, route_table, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific route. @@ -2468,7 +2468,7 @@ def route_get(name, route_table, resource_group, **kwargs): def route_create_or_update(name, address_prefix, next_hop_type, route_table, resource_group, next_hop_ip_address=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a route within a specified route table. @@ -2530,7 +2530,7 @@ def route_create_or_update(name, address_prefix, next_hop_type, route_table, res def routes_list(route_table, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all routes within a route table. @@ -2567,7 +2567,7 @@ def routes_list(route_table, resource_group, **kwargs): def route_table_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a route table. @@ -2600,7 +2600,7 @@ def route_table_delete(name, resource_group, **kwargs): def route_table_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific route table. @@ -2636,7 +2636,7 @@ def route_table_get(name, resource_group, **kwargs): def route_table_create_or_update(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a route table within a specified resource group. @@ -2692,7 +2692,7 @@ def route_table_create_or_update(name, resource_group, **kwargs): def route_tables_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all route tables within a resource group. @@ -2726,7 +2726,7 @@ def route_tables_list(resource_group, **kwargs): def route_tables_list_all(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all route tables within a subscription. diff --git a/salt/modules/azurearm_resource.py b/salt/modules/azurearm_resource.py index 041e61a172..d3ef782276 100644 --- a/salt/modules/azurearm_resource.py +++ b/salt/modules/azurearm_resource.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Resource Execution Module -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new @@ -80,7 +80,7 @@ def __virtual__(): def resource_groups_list(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all resource groups within a subscription. @@ -107,7 +107,7 @@ def resource_groups_list(**kwargs): def resource_group_check_existence(name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Check for the existence of a named resource group in the current subscription. @@ -133,7 +133,7 @@ def resource_group_check_existence(name, **kwargs): def resource_group_get(name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get a dictionary representing a resource group's properties. @@ -161,7 +161,7 @@ def resource_group_get(name, **kwargs): def resource_group_create_or_update(name, location, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a resource group in a given location. @@ -196,7 +196,7 @@ def resource_group_create_or_update(name, location, **kwargs): # pylint: disabl def resource_group_delete(name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a resource group from the subscription. @@ -223,7 +223,7 @@ def resource_group_delete(name, **kwargs): def deployment_operation_get(operation, deployment, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get a deployment operation within a deployment. @@ -259,7 +259,7 @@ def deployment_operation_get(operation, deployment, resource_group, **kwargs): def deployment_operations_list(name, resource_group, result_limit=10, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all deployment operations within a deployment. @@ -300,7 +300,7 @@ def deployment_operations_list(name, resource_group, result_limit=10, **kwargs): def deployment_delete(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a deployment. @@ -333,7 +333,7 @@ def deployment_delete(name, resource_group, **kwargs): def deployment_check_existence(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Check the existence of a deployment. @@ -367,7 +367,7 @@ def deployment_create_or_update(name, resource_group, deploy_mode='incremental', parameters_link=None, deploy_template=None, template_link=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Deploys resources to a resource group. @@ -472,7 +472,7 @@ def deployment_create_or_update(name, resource_group, deploy_mode='incremental', def deployment_get(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific deployment. @@ -504,7 +504,7 @@ def deployment_get(name, resource_group, **kwargs): def deployment_cancel(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Cancel a deployment if in 'Accepted' or 'Running' state. @@ -542,7 +542,7 @@ def deployment_validate(name, resource_group, deploy_mode=None, parameters_link=None, deploy_template=None, template_link=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager. @@ -642,7 +642,7 @@ def deployment_validate(name, resource_group, deploy_mode=None, def deployment_export_template(name, resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Exports the template used for the specified deployment. @@ -674,7 +674,7 @@ def deployment_export_template(name, resource_group, **kwargs): def deployments_list(resource_group, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all deployments within a resource group. @@ -705,7 +705,7 @@ def deployments_list(resource_group, **kwargs): def subscriptions_list_locations(subscription_id=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all locations for a subscription. @@ -744,7 +744,7 @@ def subscriptions_list_locations(subscription_id=None, **kwargs): def subscription_get(subscription_id=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a subscription. @@ -780,7 +780,7 @@ def subscription_get(subscription_id=None, **kwargs): def subscriptions_list(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all subscriptions for a tenant. @@ -807,7 +807,7 @@ def subscriptions_list(**kwargs): def tenants_list(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all tenants for your account. @@ -834,7 +834,7 @@ def tenants_list(**kwargs): def policy_assignment_delete(name, scope, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a policy assignment. @@ -867,7 +867,7 @@ def policy_assignment_delete(name, scope, **kwargs): def policy_assignment_create(name, scope, definition_name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a policy assignment. @@ -945,7 +945,7 @@ def policy_assignment_create(name, scope, definition_name, **kwargs): def policy_assignment_get(name, scope, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific policy assignment. @@ -977,7 +977,7 @@ def policy_assignment_get(name, scope, **kwargs): def policy_assignments_list_for_resource_group(resource_group, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all policy assignments for a resource group. @@ -1011,7 +1011,7 @@ def policy_assignments_list_for_resource_group(resource_group, **kwargs): # pyl def policy_assignments_list(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all policy assignments for a subscription. @@ -1038,7 +1038,7 @@ def policy_assignments_list(**kwargs): def policy_definition_create_or_update(name, policy_rule, **kwargs): # pylint: disable=invalid-name ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create or update a policy definition. @@ -1093,7 +1093,7 @@ def policy_definition_create_or_update(name, policy_rule, **kwargs): # pylint: def policy_definition_delete(name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete a policy definition. @@ -1122,7 +1122,7 @@ def policy_definition_delete(name, **kwargs): def policy_definition_get(name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get details about a specific policy definition. @@ -1150,7 +1150,7 @@ def policy_definition_get(name, **kwargs): def policy_definitions_list(hide_builtin=False, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 List all policy definitions for a subscription. diff --git a/salt/modules/cimc.py b/salt/modules/cimc.py index 0398c24e70..82ac61f897 100644 --- a/salt/modules/cimc.py +++ b/salt/modules/cimc.py @@ -261,7 +261,7 @@ def get_hostname(): ''' Retrieves the hostname from the device. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -395,7 +395,7 @@ def get_power_configuration(): Get the configuration of the power settings from the device. This is only available on some C-Series servers. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -461,7 +461,7 @@ def get_syslog_settings(): ''' Get the Syslog configuration settings from the system. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -633,7 +633,7 @@ def set_hostname(hostname=None): ''' Sets the hostname on the server. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: hostname(str): The new hostname to set. @@ -668,7 +668,7 @@ def set_logging_levels(remote=None, local=None): the following options: emergency, alert, critical, error, warning, notice, informational, debug. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: remote(str): The logging level for SYSLOG logs. @@ -751,7 +751,7 @@ def set_power_configuration(policy=None, delayType=None, delayValue=None): Sets the power configuration on the device. This is only available for some C-Series servers. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: policy(str): The action to be taken when chassis power is restored after @@ -861,7 +861,7 @@ def set_user(uid=None, username=None, password=None, priv=None, status=None): ''' Sets a CIMC user with specified configurations. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: uid(int): The user ID slot to create the user account in. diff --git a/salt/modules/ciscoconfparse_mod.py b/salt/modules/ciscoconfparse_mod.py index c20bc58521..2163081218 100644 --- a/salt/modules/ciscoconfparse_mod.py +++ b/salt/modules/ciscoconfparse_mod.py @@ -2,7 +2,7 @@ ''' Execution module for `ciscoconfparse <http://www.pennington.net/py/ciscoconfparse/index.html>`_ -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 This module can be used for basic configuration parsing, audit or validation for a variety of network platforms having Cisco IOS style configuration (one diff --git a/salt/modules/cmdmod.py b/salt/modules/cmdmod.py index 544e75d1ee..0bfaaf38e9 100644 --- a/salt/modules/cmdmod.py +++ b/salt/modules/cmdmod.py @@ -1091,13 +1091,13 @@ def run(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1343,13 +1343,13 @@ def shell(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1568,13 +1568,13 @@ def run_stdout(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1776,13 +1776,13 @@ def run_stderr(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2008,13 +2008,13 @@ def run_all(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2207,13 +2207,13 @@ def retcode(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2456,13 +2456,13 @@ def script(source, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2703,13 +2703,13 @@ def script_retcode(source, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -3025,7 +3025,7 @@ def run_chroot(root, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -3508,13 +3508,13 @@ def powershell(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :returns: :dict: A dictionary of data returned by the powershell command. @@ -3810,13 +3810,13 @@ def powershell_all(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :return: A dictionary with the following entries: @@ -4079,13 +4079,13 @@ def run_bg(cmd, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param bool stdin_raw_newlines: False If ``True``, Salt will not automatically convert the characters ``\\n`` present in the ``stdin`` value to newlines. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: diff --git a/salt/modules/disk.py b/salt/modules/disk.py index d27f22ab0c..0e0f6eef55 100644 --- a/salt/modules/disk.py +++ b/salt/modules/disk.py @@ -85,7 +85,7 @@ def usage(args=None): ''' Return usage information for volumes mounted on this minion - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Default for SunOS changed to 1 kilobyte blocks diff --git a/salt/modules/dockermod.py b/salt/modules/dockermod.py index bef7f9786f..aea77850ca 100644 --- a/salt/modules/dockermod.py +++ b/salt/modules/dockermod.py @@ -2106,7 +2106,7 @@ def port(name, private_port=None): name Container name or ID - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 This value can now be a pattern expression (using the pattern-matching characters defined in fnmatch_). If a pattern expression is used, this function will return a dictionary mapping @@ -5928,7 +5928,7 @@ def wait(name, ignore_already_stopped=False, fail_on_exit_status=False): def prune(containers=False, networks=False, images=False, build=False, volumes=False, system=None, **filters): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Prune Docker's various subsystems @@ -6724,7 +6724,7 @@ def call(name, function, *args, **kwargs): def apply_(name, mods=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Apply states! This function will call highstate or state.sls based on the arguments passed in, ``apply`` is intended to be the main gateway for @@ -6864,7 +6864,7 @@ def highstate(name, saltenv='base', **kwargs): ''' Apply a highstate to the running container - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 The container does not need to have Salt installed, but Python is required. diff --git a/salt/modules/file.py b/salt/modules/file.py index 4a58ffb72b..2e4eaf11bb 100644 --- a/salt/modules/file.py +++ b/salt/modules/file.py @@ -2526,7 +2526,7 @@ def blockreplace(path, .. versionadded:: 2016.3.4 .. versionchanged:: 2017.7.5,2018.3.1 New behavior added when value is ``None``. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The default value of this argument will change to ``None`` to match the behavior of the :py:func:`file.blockreplace state <salt.states.file.blockreplace>` diff --git a/salt/modules/git.py b/salt/modules/git.py index eec14b6305..dc8071f09d 100644 --- a/salt/modules/git.py +++ b/salt/modules/git.py @@ -1964,7 +1964,7 @@ def discard_local_changes(cwd, ignore_retcode=False, output_encoding=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Runs a ``git checkout -- <path>`` from the directory specified by ``cwd``. @@ -3829,7 +3829,7 @@ def remote_refs(url, to make this function run faster on repositories with many branches/tags. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 heads : False Restrict output to heads. Can be combined with ``tags``. diff --git a/salt/modules/glusterfs.py b/salt/modules/glusterfs.py index 2598cd71a9..3ca2301e0e 100644 --- a/salt/modules/glusterfs.py +++ b/salt/modules/glusterfs.py @@ -244,7 +244,7 @@ def create_volume(name, bricks, stripe=False, replica=False, device_vg=False, Gluster documentation. Every third brick in the brick list \ is used as an arbiter brick. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 device_vg If true, specifies volume should use block backend instead of regular \ @@ -718,7 +718,7 @@ def list_quota_volume(name): def get_op_version(name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns the glusterfs volume op-version @@ -753,7 +753,7 @@ def get_op_version(name): def get_max_op_version(): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns the glusterfs volume's max op-version value Requires Glusterfs version > 3.9 @@ -787,7 +787,7 @@ def get_max_op_version(): def set_op_version(version): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Set the glusterfs volume op-version @@ -812,7 +812,7 @@ def set_op_version(version): def get_version(): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns the version of glusterfs. CLI Example: diff --git a/salt/modules/google_chat.py b/salt/modules/google_chat.py index e739dea64d..464f2966e5 100644 --- a/salt/modules/google_chat.py +++ b/salt/modules/google_chat.py @@ -2,7 +2,7 @@ ''' Module for sending messages to google chat. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 To use this module you need to configure a webhook in the google chat room where you would like the message to be sent, see: diff --git a/salt/modules/hadoop.py b/salt/modules/hadoop.py index 68c15417b1..82f9963eb8 100644 --- a/salt/modules/hadoop.py +++ b/salt/modules/hadoop.py @@ -90,7 +90,7 @@ def dfs(command=None, *args): def dfsadmin_report(arg=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Reports basic filesystem information and statistics. Optional flags may be used to filter the list of displayed DataNodes. diff --git a/salt/modules/iosconfig.py b/salt/modules/iosconfig.py index 3d338b2eda..39f0cc2e26 100644 --- a/salt/modules/iosconfig.py +++ b/salt/modules/iosconfig.py @@ -2,7 +2,7 @@ ''' Cisco IOS configuration manipulation helpers -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 This module provides a collection of helper functions for Cisco IOS style configuration manipulation. This module does not have external dependencies diff --git a/salt/modules/jira_mod.py b/salt/modules/jira_mod.py index 8f22edfe2f..93f4cad88c 100644 --- a/salt/modules/jira_mod.py +++ b/salt/modules/jira_mod.py @@ -3,7 +3,7 @@ JIRA Execution module ===================== -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Execution module to manipulate JIRA tickets via Salt. diff --git a/salt/modules/kapacitor.py b/salt/modules/kapacitor.py index 3dbe73d0ce..5c1d5ec2e5 100644 --- a/salt/modules/kapacitor.py +++ b/salt/modules/kapacitor.py @@ -16,7 +16,7 @@ Kapacitor execution module. kapacitor.unsafe_ssl: 'false' kapacitor.protocol: 'http' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar. @@ -149,7 +149,7 @@ def define_task(name, to fetch data from. For backward compatibility, the value of 'database' and 'retention_policy' will be merged as part of dbrps. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 database Which database to fetch data from. diff --git a/salt/modules/kubernetes.py b/salt/modules/kubernetes.py index 6bac8c44b0..b2c8635b87 100644 --- a/salt/modules/kubernetes.py +++ b/salt/modules/kubernetes.py @@ -24,11 +24,11 @@ provided `kubeconfig` entry is preferred. salt '*' kubernetes.nodes kubeconfig=/etc/salt/k8s/kubeconfig context=minikube .. versionadded: 2017.7.0 -.. versionchanged:: Fluorine +.. versionchanged:: 2019.2.0 .. warning:: - Configuration options changed in Fluorine. The following configuration options have been removed: + Configuration options changed in 2019.2.0. The following configuration options have been removed: - kubernetes.user - kubernetes.password diff --git a/salt/modules/lxd.py b/salt/modules/lxd.py index ae0d95fa67..b2bf418184 100644 --- a/salt/modules/lxd.py +++ b/salt/modules/lxd.py @@ -2,7 +2,7 @@ ''' Module for managing the LXD daemon and its containers. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 `LXD(1)`__ is a container "hypervisor". This execution module provides several functions to help manage it and its containers. diff --git a/salt/modules/mac_service.py b/salt/modules/mac_service.py index bf8d62a8d3..857c168384 100644 --- a/salt/modules/mac_service.py +++ b/salt/modules/mac_service.py @@ -13,11 +13,11 @@ This module has support for services in the following locations. /Library/LaunchDaemons/ /Library/LaunchAgents/ - # As of version "Fluorine" support for user-specific services were added. + # As of version "2019.2.0" support for user-specific services were added. /Users/foo/Library/LaunchAgents/ .. note:: - As of the Fluorine release, if a service is located in a ``LaunchAgent`` + As of the 2019.2.0 release, if a service is located in a ``LaunchAgent`` path and a ``runas`` user is NOT specified, the current console user will be used to properly interact with the service. @@ -157,7 +157,7 @@ def _always_running_service(name): :rtype: bool - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' # get all the info from the launchctl service @@ -201,7 +201,7 @@ def _get_domain_target(name, service_target=False): :rtype: tuple - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' # Get service information @@ -236,7 +236,7 @@ def _launch_agent(name): :rtype: bool - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' # Get the path to the service. diff --git a/salt/modules/mine.py b/salt/modules/mine.py index 3f554edec1..dc63a3984a 100644 --- a/salt/modules/mine.py +++ b/salt/modules/mine.py @@ -369,7 +369,7 @@ def get_docker(interfaces=None, cidrs=None, with_container_id=False): When :conf_minion:`docker.update_mine` is set to ``False`` for a given minion, no mine data will be populated for that minion, and thus none will be returned for it. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 :conf_minion:`docker.update_mine` now defaults to ``False`` Get all mine data for :py:func:`docker.ps <salt.modules.dockermod.ps_>` and diff --git a/salt/modules/mod_random.py b/salt/modules/mod_random.py index c7d49d8ab0..641bea073b 100644 --- a/salt/modules/mod_random.py +++ b/salt/modules/mod_random.py @@ -179,7 +179,7 @@ def rand_int(start=1, end=10, seed=None): seed : Optional hashable object - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Added seed argument. Will return the same result when run with the same seed. diff --git a/salt/modules/napalm_formula.py b/salt/modules/napalm_formula.py index f2eb9e06fd..3c951d59f5 100644 --- a/salt/modules/napalm_formula.py +++ b/salt/modules/napalm_formula.py @@ -3,7 +3,7 @@ NAPALM Formula helpers ====================== -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 This is an Execution Module providing helpers for various NAPALM formulas, e.g., napalm-interfaces-formula, napalm-bgp-formula, napalm-ntp-formula etc., diff --git a/salt/modules/napalm_mod.py b/salt/modules/napalm_mod.py index 8fe888c976..fae9ecf032 100644 --- a/salt/modules/napalm_mod.py +++ b/salt/modules/napalm_mod.py @@ -292,9 +292,9 @@ def compliance_report(filepath=None, filepath The absolute path to the validation file. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 - Beginning with release codename ``Fluorine``, this function has been + Beginning with release codename ``2019.2.0``, this function has been enhanced, to be able to leverage the multi-engine template rendering of Salt, besides the possibility to retrieve the file source from remote systems, the URL schemes supported being: @@ -314,20 +314,20 @@ def compliance_report(filepath=None, (including pure Python). string - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 The compliance report send as inline string, to be used as the file to send through the renderer system. Note, not all renderer modules can work with strings; the 'py' renderer requires a file, for example. renderer: ``jinja|yaml`` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 The renderer pipe to send the file through; this is overridden by a "she-bang" at the top of the file. kwargs - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Keyword args to pass to Salt's compile_template() function. @@ -420,7 +420,7 @@ def compliance_report(filepath=None, @proxy_napalm_wrap def netmiko_args(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the key-value arguments used for the authentication arguments for the netmiko module. @@ -491,7 +491,7 @@ def netmiko_args(**kwargs): @proxy_napalm_wrap def netmiko_fun(fun, *args, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Call an arbitrary function from the :mod:`Netmiko<salt.modules.netmiko_mod>` module, passing the authentication details from the existing NAPALM @@ -525,7 +525,7 @@ def netmiko_fun(fun, *args, **kwargs): @proxy_napalm_wrap def netmiko_call(method, *args, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute an arbitrary Netmiko method, passing the authentication details from the existing NAPALM connection. @@ -554,7 +554,7 @@ def netmiko_call(method, *args, **kwargs): @proxy_napalm_wrap def netmiko_multi_call(*methods, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute a list of arbitrary Netmiko methods, passing the authentication details from the existing NAPALM connection. @@ -581,7 +581,7 @@ def netmiko_multi_call(*methods, **kwargs): @proxy_napalm_wrap def netmiko_commands(*commands, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Invoke one or more commands to be executed on the remote device, via Netmiko. Returns a list of strings, with the output from each command. @@ -631,7 +631,7 @@ def netmiko_commands(*commands, **kwargs): @proxy_napalm_wrap def netmiko_config(*config_commands, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Load a list of configuration commands on the remote device, via Netmiko. @@ -702,7 +702,7 @@ def netmiko_config(*config_commands, **kwargs): @proxy_napalm_wrap def netmiko_conn(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the connection object with the network device, over Netmiko, passing the authentication details from the existing NAPALM connection. @@ -728,7 +728,7 @@ def netmiko_conn(**kwargs): @proxy_napalm_wrap def junos_rpc(cmd=None, dest=None, format=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute an RPC request on the remote Junos device. @@ -788,7 +788,7 @@ def junos_rpc(cmd=None, dest=None, format=None, **kwargs): @proxy_napalm_wrap def junos_commit(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Commit the changes loaded in the candidate configuration. @@ -837,7 +837,7 @@ def junos_commit(**kwargs): @proxy_napalm_wrap def junos_install_os(path=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Installs the given image on the device. @@ -876,7 +876,7 @@ def junos_install_os(path=None, **kwargs): @proxy_napalm_wrap def junos_facts(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 The complete list of Junos facts collected by ``junos-eznc``. @@ -905,7 +905,7 @@ def junos_facts(**kwargs): @proxy_napalm_wrap def junos_cli(command, format=None, dev_timeout=None, dest=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute a CLI command and return the output in the specified format. @@ -942,7 +942,7 @@ def junos_cli(command, format=None, dev_timeout=None, dest=None, **kwargs): @proxy_napalm_wrap def junos_copy_file(src, dst, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Copies the file on the remote Junos device. @@ -969,7 +969,7 @@ def junos_copy_file(src, dst, **kwargs): @proxy_napalm_wrap def junos_call(fun, *args, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute an arbitrary function from the :mod:`junos execution module <salt.module.junos>`. To check what ``args`` @@ -1010,7 +1010,7 @@ def junos_call(fun, *args, **kwargs): def pyeapi_nxos_api_args(**prev_kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the key-value arguments used for the authentication arguments for the :mod:`pyeapi execution module <salt.module.arista_pyeapi>`. @@ -1064,7 +1064,7 @@ def pyeapi_run_commands(*commands, **kwargs): @proxy_napalm_wrap def pyeapi_call(method, *args, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Invoke an arbitrary method from the ``pyeapi`` library. This function forwards the existing connection details to the @@ -1091,7 +1091,7 @@ def pyeapi_call(method, *args, **kwargs): @proxy_napalm_wrap def pyeapi_conn(**kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the connection object with the Arista switch, over ``pyeapi``, passing the authentication details from the existing NAPALM connection. @@ -1122,7 +1122,7 @@ def pyeapi_config(commands=None, saltenv='base', **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Configures the Arista switch with the specified commands, via the ``pyeapi`` library. This function forwards the existing connection details to the @@ -1184,7 +1184,7 @@ def nxos_api_rpc(commands, method='cli', **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute an arbitrary RPC request via the Nexus API. @@ -1214,7 +1214,7 @@ def nxos_api_config(commands=None, saltenv='base', **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Configures the Nexus switch with the specified commands, via the NX-API. @@ -1272,7 +1272,7 @@ def nxos_api_config(commands=None, @proxy_napalm_wrap def nxos_api_show(commands, raw_text=True, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Execute one or more show (non-configuration) commands. @@ -1298,7 +1298,7 @@ def nxos_api_show(commands, raw_text=True, **kwargs): @proxy_napalm_wrap def rpc(command, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 This is a wrapper to execute RPC requests on various network operating systems supported by NAPALM, invoking the following functions for the NAPALM @@ -1355,7 +1355,7 @@ def rpc(command, **kwargs): @depends(HAS_CISCOCONFPARSE) def config_find_lines(regex, source='running'): r''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the configuration lines that match the regular expressions from the ``regex`` argument. The configuration is read from the network device @@ -1382,7 +1382,7 @@ def config_find_lines(regex, source='running'): @depends(HAS_CISCOCONFPARSE) def config_lines_w_child(parent_regex, child_regex, source='running'): r''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the configuration lines that match the regular expressions from the ``parent_regex`` argument, having child lines matching ``child_regex``. @@ -1421,7 +1421,7 @@ def config_lines_w_child(parent_regex, child_regex, source='running'): @depends(HAS_CISCOCONFPARSE) def config_lines_wo_child(parent_regex, child_regex, source='running'): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the configuration lines that match the regular expressions from the ``parent_regex`` argument, having the child lines *not* matching @@ -1461,7 +1461,7 @@ def config_lines_wo_child(parent_regex, child_regex, source='running'): @depends(HAS_CISCOCONFPARSE) def config_filter_lines(parent_regex, child_regex, source='running'): r''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return a list of detailed matches, for the configuration blocks (parent-child relationship) whose parent respects the regular expressions configured via @@ -1507,7 +1507,7 @@ def config_filter_lines(parent_regex, child_regex, source='running'): def config_tree(source='running', with_tags=False): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Transform Cisco IOS style configuration to structured Python dictionary. Depending on the value of the ``with_tags`` argument, this function may @@ -1535,7 +1535,7 @@ def config_merge_tree(source='running', merge_path=None, saltenv='base'): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the merge tree of the ``initial_config`` with the ``merge_config``, as a Python dictionary. @@ -1576,7 +1576,7 @@ def config_merge_text(source='running', merge_path=None, saltenv='base'): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the merge result of the configuration from ``source`` with the merge configuration, as plain text (without loading the config on the @@ -1618,7 +1618,7 @@ def config_merge_diff(source='running', merge_path=None, saltenv='base'): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the merge diff, as text, after merging the merge config into the configuration source requested (without loading the config on the device). @@ -1659,7 +1659,7 @@ def config_diff_tree(source1='candidate', source2='running', running_path=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the diff, as Python dictionary, between two different sources. The sources can be either specified using the ``source1`` and ``source2`` @@ -1722,7 +1722,7 @@ def config_diff_text(source1='candidate', source2='running', running_path=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return the diff, as text, between the two different configuration sources. The sources can be either specified using the ``source1`` and ``source2`` @@ -1780,7 +1780,7 @@ def scp_get(remote_path, preserve_times=False, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Transfer files and directories from remote network device to the localhost of the Minion. @@ -1863,7 +1863,7 @@ def scp_put(files, saltenv='base', **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Transfer files and directories to remote network device. diff --git a/salt/modules/napalm_network.py b/salt/modules/napalm_network.py index e5611b3c17..42ff688d27 100644 --- a/salt/modules/napalm_network.py +++ b/salt/modules/napalm_network.py @@ -1378,7 +1378,7 @@ def load_config(filename=None, applies a manual configuration change, or a different process or command changes the configuration in the meanwhile). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 commit_at: ``None`` Commit the changes at a specific time. Example of accepted formats: @@ -1402,7 +1402,7 @@ def load_config(filename=None, applies a manual configuration change, or a different process or command changes the configuration in the meanwhile). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 revert_in: ``None`` Commit and revert the changes in a specific number of minutes / hours. @@ -1433,7 +1433,7 @@ def load_config(filename=None, commit and till the changes are reverted), these changes would be equally reverted, as Salt cannot be aware of them. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 revert_at: ``None`` Commit and revert the changes at a specific time. Example of accepted @@ -1463,7 +1463,7 @@ def load_config(filename=None, commit and till the changes are reverted), these changes would be equally reverted, as Salt cannot be aware of them. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 saltenv: ``base`` Specifies the Salt environment name. @@ -1616,7 +1616,7 @@ def load_template(template_name=None, - ``https:/example.com/template.mako`` - ``ftp://example.com/template.py`` - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 This argument can now support a list of templates to be rendered. The resulting configuration text is loaded at once, as a single configuration chunk. @@ -1632,7 +1632,7 @@ def load_template(template_name=None, context: None Overrides default context variables passed to the template. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 template_hash_name: None When ``template_hash`` refers to a remote file, @@ -1707,7 +1707,7 @@ def load_template(template_name=None, applies a manual configuration change, or a different process or command changes the configuration in the meanwhile). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 commit_at: ``None`` Commit the changes at a specific time. Example of accepted formats: @@ -1731,7 +1731,7 @@ def load_template(template_name=None, applies a manual configuration change, or a different process or command changes the configuration in the meanwhile). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 revert_in: ``None`` Commit and revert the changes in a specific number of minutes / hours. @@ -1762,7 +1762,7 @@ def load_template(template_name=None, commit and till the changes are reverted), these changes would be equally reverted, as Salt cannot be aware of them. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 revert_at: ``None`` Commit and revert the changes at a specific time. Example of accepted @@ -1792,7 +1792,7 @@ def load_template(template_name=None, commit and till the changes are reverted), these changes would be equally reverted, as Salt cannot be aware of them. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 defaults: None Default variables/context passed to the template. @@ -2237,7 +2237,7 @@ def config_control(inherit_napalm_device=None, **kwargs): # pylint: disable=unu def cancel_commit(jid): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Cancel a commit scheduled to be executed via the ``commit_in`` and ``commit_at`` arguments from the @@ -2264,7 +2264,7 @@ def cancel_commit(jid): def confirm_commit(jid): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Confirm a commit scheduled to be reverted via the ``revert_in`` and ``revert_at`` arguments from the @@ -2294,7 +2294,7 @@ def confirm_commit(jid): def save_config(source=None, path=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Save the configuration to a file on the local file system. @@ -2348,7 +2348,7 @@ def replace_pattern(pattern, debug=False, commit=True): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Replace occurrences of a pattern in the configuration source. If ``show_changes`` is ``True``, then a diff of what changed will be returned, @@ -2487,7 +2487,7 @@ def blockreplace(marker_start, debug=False, replace=True): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Replace content of the configuration source, delimited by the line markers. @@ -2594,7 +2594,7 @@ def patch(patchfile, debug=False, replace=True): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Apply a patch to the configuration source, and load the result into the running config of the device. diff --git a/salt/modules/netbox.py b/salt/modules/netbox.py index 0c45cd230d..141a274b67 100644 --- a/salt/modules/netbox.py +++ b/salt/modules/netbox.py @@ -196,7 +196,7 @@ def get_(app, endpoint, id=None, **kwargs): def create_manufacturer(name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a device manufacturer. @@ -223,7 +223,7 @@ def create_manufacturer(name): def create_device_type(model, manufacturer): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a device type. If the manufacturer doesn't exist, create a new manufacturer. @@ -258,7 +258,7 @@ def create_device_type(model, manufacturer): def create_device_role(role, color): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a device role @@ -285,7 +285,7 @@ def create_device_role(role, color): def create_platform(platform): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a new device platform @@ -312,7 +312,7 @@ def create_platform(platform): def create_site(site): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a new device site @@ -343,7 +343,7 @@ def create_device(name, manufacturer, site): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a new device with a name, role, model, manufacturer and site. All these components need to be already in Netbox. @@ -393,7 +393,7 @@ def create_device(name, def update_device(name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Add attributes to an existing device, identified by name. @@ -427,7 +427,7 @@ def create_inventory_item(device_name, part_id='', description=''): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Add an inventory item to an existing device. @@ -475,7 +475,7 @@ def create_inventory_item(device_name, def delete_inventory_item(item_id): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Remove an item from a devices inventory. Identified by the netbox id @@ -495,7 +495,7 @@ def delete_inventory_item(item_id): def create_interface_connection(interface_a, interface_b): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create an interface connection between 2 interfaces @@ -521,7 +521,7 @@ def create_interface_connection(interface_a, interface_b): def get_interfaces(device_name=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns interfaces for a specific device using arbitrary netbox filters @@ -548,7 +548,7 @@ def get_interfaces(device_name=None, **kwargs): def openconfig_interfaces(device_name=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return a dictionary structured as standardised in the `openconfig-interfaces <http://ops.openconfig.net/branches/master/openconfig-interfaces.html>`_ @@ -643,7 +643,7 @@ def openconfig_interfaces(device_name=None): def openconfig_lacp(device_name=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Return a dictionary structured as standardised in the `openconfig-lacp <http://ops.openconfig.net/branches/master/openconfig-lacp.html>`_ @@ -706,7 +706,7 @@ def create_interface(device_name, lag_parent=None, form_factor=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Attach an interface to a device. If not all arguments are provided, they will default to Netbox defaults. @@ -768,7 +768,7 @@ def create_interface(device_name, def update_interface(device_name, interface_name, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Update an existing interface with new attributes. @@ -804,7 +804,7 @@ def update_interface(device_name, interface_name, **kwargs): def delete_interface(device_name, interface_name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete an interface from a device. @@ -830,7 +830,7 @@ def delete_interface(device_name, interface_name): def make_interface_lag(device_name, interface_name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Update an interface to be a LAG. @@ -851,7 +851,7 @@ def make_interface_lag(device_name, interface_name): def make_interface_child(device_name, interface_name, parent_name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Set an interface as part of a LAG. @@ -880,7 +880,7 @@ def make_interface_child(device_name, interface_name, parent_name): def get_ipaddresses(device_name=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Filters for an IP address using specified filters @@ -906,7 +906,7 @@ def get_ipaddresses(device_name=None, **kwargs): def create_ipaddress(ip_address, family, device=None, interface=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Add an IP address, and optionally attach it to an interface. @@ -949,7 +949,7 @@ def create_ipaddress(ip_address, family, device=None, interface=None): def delete_ipaddress(ipaddr_id): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Delete an IP address. IP addresses in Netbox are a combination of address and the interface it is assigned to. @@ -973,7 +973,7 @@ def delete_ipaddress(ipaddr_id): def create_circuit_provider(name, asn=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a new Netbox circuit provider @@ -1015,7 +1015,7 @@ def create_circuit_provider(name, asn=None): def get_circuit_provider(name, asn=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get a circuit provider with a given name and optional ASN. @@ -1039,7 +1039,7 @@ def get_circuit_provider(name, asn=None): def create_circuit_type(name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a new Netbox circuit type. @@ -1069,7 +1069,7 @@ def create_circuit_type(name): def create_circuit(name, provider_id, circuit_type, description=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Create a new Netbox circuit @@ -1115,7 +1115,7 @@ def create_circuit(name, provider_id, circuit_type, description=None): def create_circuit_termination(circuit, interface, device, speed, xconnect_id=None, term_side='A'): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Terminate a circuit on an interface diff --git a/salt/modules/netmiko_mod.py b/salt/modules/netmiko_mod.py index f8cf5db1db..125e0e61cc 100644 --- a/salt/modules/netmiko_mod.py +++ b/salt/modules/netmiko_mod.py @@ -3,7 +3,7 @@ Netmiko Execution Module ======================== -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Execution module to interface the connection with a remote network device. It is flexible enough to execute the commands both when running under a Netmiko Proxy diff --git a/salt/modules/nxos_api.py b/salt/modules/nxos_api.py index 72b1ddfbad..0ce1863c62 100644 --- a/salt/modules/nxos_api.py +++ b/salt/modules/nxos_api.py @@ -2,7 +2,7 @@ ''' Execution module to manage Cisco Nexus Switches (NX-OS) over the NX-API -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Execution module used to interface the interaction with a remote or local Nexus switch whether we're running in a Proxy Minion or regular Minion (or regular diff --git a/salt/modules/openbsdpkg.py b/salt/modules/openbsdpkg.py index decceee1fc..b3b6bab912 100644 --- a/salt/modules/openbsdpkg.py +++ b/salt/modules/openbsdpkg.py @@ -348,7 +348,7 @@ def upgrade_available(name): ''' Check whether or not an upgrade is available for a given package - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -369,7 +369,7 @@ def upgrade(name=None, Returns a dictionary containing the changes: - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: python diff --git a/salt/modules/opkg.py b/salt/modules/opkg.py index 412008f85f..1c2135b690 100644 --- a/salt/modules/opkg.py +++ b/salt/modules/opkg.py @@ -512,12 +512,12 @@ def remove(name=None, pkgs=None, **kwargs): # pylint: disable=unused-argument remove_dependencies Remove package and all dependencies - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 auto_remove_deps Remove packages that were installed automatically to satisfy dependencies - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns a dict containing the changes. diff --git a/salt/modules/peeringdb.py b/salt/modules/peeringdb.py index 06c910aef9..32b121be3f 100644 --- a/salt/modules/peeringdb.py +++ b/salt/modules/peeringdb.py @@ -3,7 +3,7 @@ PeeringDB Module ================ -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Execution module for the basic interaction with the `PeeringDB <https://www.peeringdb.com/>`_ API. diff --git a/salt/modules/pf.py b/salt/modules/pf.py index 7bb495e140..67acaf132a 100644 --- a/salt/modules/pf.py +++ b/salt/modules/pf.py @@ -4,7 +4,7 @@ Control the OpenBSD packet filter (PF). :codeauthor: Jasper Lievisse Adriaanse <j@jasper.la> -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 ''' from __future__ import absolute_import, print_function, unicode_literals diff --git a/salt/modules/pip.py b/salt/modules/pip.py index dd0d7a648d..eac40c719c 100644 --- a/salt/modules/pip.py +++ b/salt/modules/pip.py @@ -1457,11 +1457,11 @@ def list_all_versions(pkg, index_url Base URL of Python Package Index - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 extra_index_url Additional URL of Python Package Index - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: diff --git a/salt/modules/postgres.py b/salt/modules/postgres.py index a18f75f4bd..b6f7cbe5d4 100644 --- a/salt/modules/postgres.py +++ b/salt/modules/postgres.py @@ -3127,14 +3127,14 @@ def datadir_init(name, The transaction log (WAL) directory (default is to keep WAL inside the data directory) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 checksums If True, the cluster will be created with data page checksums. .. note:: Data page checksums are supported since PostgreSQL 9.3. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 runas The system user the operation should be performed on behalf of diff --git a/salt/modules/purefb.py b/salt/modules/purefb.py index 91ec9bd659..16a0ec5ca3 100644 --- a/salt/modules/purefb.py +++ b/salt/modules/purefb.py @@ -47,7 +47,7 @@ Installation Prerequisites :requires: purestorage :platform: all -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 ''' @@ -170,7 +170,7 @@ def snap_create(name, suffix=None): Will return False if filesystem selected to snap does not exist. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem to snapshot @@ -211,7 +211,7 @@ def snap_delete(name, suffix=None, eradicate=False): Will return False if selected snapshot does not exist. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem @@ -255,7 +255,7 @@ def snap_eradicate(name, suffix=None): Will return False if snapshot is not in a deleted state. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem @@ -288,7 +288,7 @@ def fs_create(name, size=None, proto='NFS', nfs_rules='*(rw,no_root_squash)', sn Will return False if filesystem already exists. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem (truncated to 63 characters) @@ -360,7 +360,7 @@ def fs_delete(name, eradicate=False): Will return False if filesystem doesn't exist or is already in a deleted state. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem @@ -404,7 +404,7 @@ def fs_eradicate(name): Will return False is filesystem is not in a deleted state. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem @@ -434,7 +434,7 @@ def fs_extend(name, size): Will return False if new size is less than or equal to existing size. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem @@ -475,7 +475,7 @@ def fs_update(name, rules, snapshot=False): Allows for change of NFS export rules and enabling/disabled of snapshotting capability. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name : string name of filesystem diff --git a/salt/modules/saltutil.py b/salt/modules/saltutil.py index ef78a0e6a9..fe1c0f8fd2 100644 --- a/salt/modules/saltutil.py +++ b/salt/modules/saltutil.py @@ -549,7 +549,7 @@ def sync_proxymodules(saltenv=None, refresh=False, extmod_whitelist=None, extmod def sync_matchers(saltenv=None, refresh=False, extmod_whitelist=None, extmod_blacklist=None): ''' - .. versionadded:: Flourine + .. versionadded:: 2019.2.0 Sync engine modules from ``salt://_matchers`` to the minion @@ -777,7 +777,7 @@ def sync_utils(saltenv=None, refresh=True, extmod_whitelist=None, extmod_blackli def sync_serializers(saltenv=None, refresh=True, extmod_whitelist=None, extmod_blacklist=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Sync serializers from ``salt://_serializers`` to the minion diff --git a/salt/modules/scp_mod.py b/salt/modules/scp_mod.py index 4f8e4f7182..c8cf7eb68e 100644 --- a/salt/modules/scp_mod.py +++ b/salt/modules/scp_mod.py @@ -3,7 +3,7 @@ SCP Module ========== -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Module to copy files via `SCP <https://man.openbsd.org/scp>`_ ''' diff --git a/salt/modules/selinux.py b/salt/modules/selinux.py index 8c08c83b46..ac469df36e 100644 --- a/salt/modules/selinux.py +++ b/salt/modules/selinux.py @@ -390,7 +390,7 @@ def _validate_filetype(filetype): def _parse_protocol_port(name, protocol, port): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Validates and parses the protocol and port/port range from the name if both protocol and port are not provided. @@ -505,7 +505,7 @@ def fcontext_get_policy(name, filetype=None, sel_type=None, sel_user=None, sel_l def fcontext_add_policy(name, filetype=None, sel_type=None, sel_user=None, sel_level=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Adds the SELinux policy for a given filespec and other optional parameters. @@ -544,7 +544,7 @@ def fcontext_add_policy(name, filetype=None, sel_type=None, sel_user=None, sel_l def fcontext_delete_policy(name, filetype=None, sel_type=None, sel_user=None, sel_level=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Deletes the SELinux policy for a given filespec and other optional parameters. @@ -598,7 +598,7 @@ def fcontext_add_or_delete_policy(action, name, filetype=None, sel_type=None, se Use :mod:`selinux.fcontext_add_policy()<salt.modules.selinux.fcontext_add_policy>`, or :mod:`selinux.fcontext_delete_policy()<salt.modules.selinux.fcontext_delete_policy>`. - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 action The action to perform. Either ``add`` or ``delete``. @@ -639,7 +639,7 @@ def fcontext_add_or_delete_policy(action, name, filetype=None, sel_type=None, se def _fcontext_add_or_delete_policy(action, name, filetype=None, sel_type=None, sel_user=None, sel_level=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Performs the action as called from ``fcontext_add_policy`` or ``fcontext_delete_policy``. @@ -736,7 +736,7 @@ def fcontext_apply_policy(name, recursive=False): def port_get_policy(name, sel_type=None, protocol=None, port=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns the current entry in the SELinux policy list as a dictionary. Returns None if no exact match was found. @@ -788,7 +788,7 @@ def port_get_policy(name, sel_type=None, protocol=None, port=None): def port_add_policy(name, sel_type=None, protocol=None, port=None, sel_range=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Adds the SELinux policy for a given protocol and port. @@ -821,7 +821,7 @@ def port_add_policy(name, sel_type=None, protocol=None, port=None, sel_range=Non def port_delete_policy(name, protocol=None, port=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Deletes the SELinux policy for a given protocol and port. @@ -848,7 +848,7 @@ def port_delete_policy(name, protocol=None, port=None): def _port_add_or_delete_policy(action, name, sel_type=None, protocol=None, port=None, sel_range=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Performs the action as called from ``port_add_policy`` or ``port_delete_policy``. diff --git a/salt/modules/slsutil.py b/salt/modules/slsutil.py index 2fadfc73ff..a549594a18 100644 --- a/salt/modules/slsutil.py +++ b/salt/modules/slsutil.py @@ -56,7 +56,7 @@ def merge(obj_a, obj_b, strategy='smart', renderer='yaml', merge_lists=False): def merge_all(lst, strategy='smart', renderer='yaml', merge_lists=False): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Merge a list of objects into each other in order diff --git a/salt/modules/smartos_imgadm.py b/salt/modules/smartos_imgadm.py index d6fc5873e0..7cc76e5356 100644 --- a/salt/modules/smartos_imgadm.py +++ b/salt/modules/smartos_imgadm.py @@ -157,7 +157,7 @@ def docker_to_uuid(uuid): ''' Get the image uuid from an imported docker image - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' if _is_uuid(uuid): return uuid @@ -232,7 +232,7 @@ def list_installed(verbose=False): verbose : boolean (False) toggle verbose output - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Docker images are now also listed @@ -422,7 +422,7 @@ def sources(verbose=False): verbose : boolean (False) toggle verbose output - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -455,7 +455,7 @@ def source_delete(source): source : string source url to delete - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -483,7 +483,7 @@ def source_add(source, source_type='imgapi'): source_trype : string (imgapi) source type, either imgapi or docker - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: diff --git a/salt/modules/solarisips.py b/salt/modules/solarisips.py index 5f6729296c..34f9d9a402 100644 --- a/salt/modules/solarisips.py +++ b/salt/modules/solarisips.py @@ -338,7 +338,7 @@ def latest_version(*names, **kwargs): Please use pkg.latest_version as pkg.available_version is being deprecated. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Support for multiple package names added. CLI Example: diff --git a/salt/modules/state.py b/salt/modules/state.py index cf66ee0a33..a594a2b096 100644 --- a/salt/modules/state.py +++ b/salt/modules/state.py @@ -772,7 +772,7 @@ def apply_(mods=None, **kwargs): :ref:`highstate <running-highstate>` automatically syncs all custom module types. - .. versionadded:: 2017.7.8,2018.3.3,Fluorine + .. versionadded:: 2017.7.8,2018.3.3,2019.2.0 ''' if mods: return sls(mods, **kwargs) @@ -1199,7 +1199,7 @@ def sls(mods, test=None, exclude=None, queue=False, sync_mods=None, **kwargs): salt '*' state.sls stuff sync_mods=states,modules salt '*' state.sls stuff sync_mods=all - .. versionadded:: 2017.7.8,2018.3.3,Fluorine + .. versionadded:: 2017.7.8,2018.3.3,2019.2.0 CLI Example: @@ -1603,7 +1603,7 @@ def show_states(queue=False, **kwargs): salt '*' state.show_states - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' conflict = _check_queue(queue, kwargs) @@ -1945,7 +1945,7 @@ def sls_exists(mods, test=None, queue=False, **kwargs): rather than returning state details, returns True or False. The default environment is ``base``, use ``saltenv`` to specify a different environment. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 saltenv Specify a salt fileserver environment from which to look for the SLS files @@ -1970,7 +1970,7 @@ def id_exists(ids, mods, test=None, queue=False, **kwargs): <salt.modules.state.sls_exists>`, returns True or False. The default environment is base``, use ``saltenv`` to specify a different environment. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 saltenv Specify a salt fileserver environment from which to look for the SLS files @@ -2362,7 +2362,7 @@ def event(tagmatch='*', Watch Salt's event bus and block until the given tag is matched .. versionadded:: 2016.3.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 ``tagmatch`` can now be either a glob or regular expression. This is useful for utilizing Salt's event bus from shell scripts or for diff --git a/salt/modules/tls.py b/salt/modules/tls.py index 191300fcb0..c9352c775b 100644 --- a/salt/modules/tls.py +++ b/salt/modules/tls.py @@ -585,7 +585,7 @@ def _get_expiration_date(cert): def get_expiration_date(cert, date_format='%Y-%m-%d'): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Get a certificate's expiration date diff --git a/salt/modules/virt.py b/salt/modules/virt.py index bb8f661e42..b45c5f522d 100644 --- a/salt/modules/virt.py +++ b/salt/modules/virt.py @@ -45,7 +45,7 @@ the remote libvirt machine. Per call connection setup ------------------------- -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 All the calls requiring the libvirt connection configuration as mentioned above can override this configuration using ``connection``, ``username`` and ``password`` parameters. @@ -1162,7 +1162,7 @@ def init(name, These data are merged with the ones from the nic profile. The structure of each dictionary is documented in :ref:`init-nic-def`. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param hypervisor: the virtual machine type. By default the value will be computed according to the virtual host capabilities. :param start: ``True`` to start the virtual machine after having defined it (Default: ``True``) @@ -1171,7 +1171,7 @@ def init(name, These data are merged with the ones from the disk profile. The structure of each dictionary is documented in :ref:`init-disk-def`. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param saltenv: Fileserver environment (Default: ``'base'``). See :mod:`cp module for more details <salt.modules.cp>` :param seed: ``True`` to seed the disk image. Only used when the ``image`` parameter is provided. @@ -1190,22 +1190,22 @@ def init(name, graphics={'type': 'vnc'} - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 :param graphics: Dictionary providing details on the graphics device to create. (Default: ``None``) See :ref:`init-graphics-def` for more details on the possible values. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param os_type: type of virtualization as found in the ``//os/type`` element of the libvirt definition. The default value is taken from the host capabilities, with a preference for ``hvm``. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param arch: architecture of the virtual machine. The default value is taken from the host capabilities, but ``x86_64`` is prefed over ``i686``. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param enable_qcow: ``True`` to create a QCOW2 overlay image, rather than copying the image (Default: ``False``). @@ -1221,7 +1221,7 @@ def init(name, 'overlay_image': True } - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 :param pool: Path of the folder where the image files are located for vmware/esx hypervisors. @@ -1250,7 +1250,7 @@ def init(name, 'mac': 'MY:MA:CC:ADD:RE:SS' } - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 :param config: minion configuration to use when seeding. See :mod:`seed module for more details <salt.modules.seed>` :param boot_dev: String of space-separated devices to boot from (Default: ``'hd'``) @@ -1259,13 +1259,13 @@ def init(name, :param console: ``True`` to add a console device along with serial one (Default: ``True``) :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. _init-nic-def: @@ -1745,7 +1745,7 @@ def update(name, 'errors': ['error messages for failures'] } - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1878,13 +1878,13 @@ def list_domains(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1906,13 +1906,13 @@ def list_active_vms(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1934,13 +1934,13 @@ def list_inactive_vms(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1964,13 +1964,13 @@ def vm_info(vm_=None, **kwargs): :param vm_: name of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: python @@ -2032,13 +2032,13 @@ def vm_state(vm_=None, **kwargs): :param vm_: name of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2087,13 +2087,13 @@ def node_info(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2114,13 +2114,13 @@ def get_nics(vm_, **kwargs): :param vm_: name of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2141,13 +2141,13 @@ def get_macs(vm_, **kwargs): :param vm_: name of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2166,13 +2166,13 @@ def get_graphics(vm_, **kwargs): :param vm_: name of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2193,13 +2193,13 @@ def get_disks(vm_, **kwargs): :param vm_: name of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2223,13 +2223,13 @@ def setmem(vm_, memory, config=False, **kwargs): :param config: if True then libvirt will be asked to modify the config as well :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2272,13 +2272,13 @@ def setvcpus(vm_, vcpus, config=False, **kwargs): :param config: if True then libvirt will be asked to modify the config as well :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2326,13 +2326,13 @@ def freemem(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2364,13 +2364,13 @@ def freecpu(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2390,13 +2390,13 @@ def full_info(**kwargs): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2420,13 +2420,13 @@ def get_xml(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2452,13 +2452,13 @@ def get_profiles(hypervisor=None, **kwargs): :param hypervisor: override the default machine type. :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2505,13 +2505,13 @@ def shutdown(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2533,13 +2533,13 @@ def pause(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2561,13 +2561,13 @@ def resume(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2589,13 +2589,13 @@ def start(name, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2616,13 +2616,13 @@ def stop(name, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2643,13 +2643,13 @@ def reboot(name, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2670,13 +2670,13 @@ def reset(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2702,13 +2702,13 @@ def ctrl_alt_del(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2730,13 +2730,13 @@ def create_xml_str(xml, **kwargs): # pylint: disable=redefined-outer-name :param xml: libvirt XML definition of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2757,13 +2757,13 @@ def create_xml_path(path, **kwargs): :param path: path to a file containing the libvirt XML definition of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2788,13 +2788,13 @@ def define_xml_str(xml, **kwargs): # pylint: disable=redefined-outer-name :param xml: libvirt XML definition of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2815,13 +2815,13 @@ def define_xml_path(path, **kwargs): :param path: path to a file containing the libvirt XML definition of the domain :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2847,13 +2847,13 @@ def define_vol_xml_str(xml, **kwargs): # pylint: disable=redefined-outer-name :param xml: libvirt XML definition of the storage volume :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -2894,13 +2894,13 @@ def define_vol_xml_path(path, **kwargs): :param path: path to a file containing the libvirt XML definition of the volume :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -3071,13 +3071,13 @@ def set_autostart(vm_, state='on', **kwargs): pool not to be started when the host boots :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -3109,13 +3109,13 @@ def undefine(vm_, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -3148,16 +3148,16 @@ def purge(vm_, dirs=False, removables=None, **kwargs): :param dirs: pass True to remove containing directories :param removables: pass True to remove removable devices - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -3233,7 +3233,7 @@ def is_kvm_hyper(): salt '*' virt.is_kvm_hyper - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 ''' salt.utils.versions.warn_until( 'Sodium', @@ -3273,7 +3273,7 @@ def is_xen_hyper(): salt '*' virt.is_xen_hyper - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 ''' salt.utils.versions.warn_until( 'Sodium', @@ -3298,7 +3298,7 @@ def get_hypervisor(): salt '*' virt.get_hypervisor - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 the function and the ``kvm`` and ``xen`` hypervisors support ''' # To add a new 'foo' hypervisor, add the _is_foo_hyper function, @@ -3331,13 +3331,13 @@ def vm_cputime(vm_=None, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: python @@ -3394,13 +3394,13 @@ def vm_netstats(vm_=None, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: python @@ -3475,13 +3475,13 @@ def vm_diskstats(vm_=None, **kwargs): :param vm_: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: python @@ -3576,13 +3576,13 @@ def list_snapshots(domain=None, **kwargs): :param domain: domain name :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. versionadded:: 2016.3.0 @@ -3614,13 +3614,13 @@ def snapshot(domain, name=None, suffix=None, **kwargs): can be distinguished from manually created. :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. versionadded:: 2016.3.0 @@ -3660,13 +3660,13 @@ def delete_snapshots(name, *names, **kwargs): :param names: names of the snapshots to remove :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. versionadded:: 2016.3.0 @@ -3701,13 +3701,13 @@ def revert_snapshot(name, vm_snapshot=None, cleanup=False, **kwargs): :param cleanup: Remove all newer than reverted snapshots. Values: True or False (default False). :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. versionadded:: 2016.3.0 @@ -3992,7 +3992,7 @@ def capabilities(**kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4098,7 +4098,7 @@ def domain_capabilities(emulator=None, arch=None, machine=None, domain=None, **k ''' Return the domain capabilities given an emulator, architecture, machine or virtualization type. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param emulator: return the capabilities for the given emulator binary :param arch: return the capabilities for the given CPU architecture @@ -4175,13 +4175,13 @@ def cpu_baseline(full=False, migratable=False, out='libvirt', **kwargs): :param out: 'libvirt' (default) for usable libvirt XML definition, 'salt' for nice dict :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4269,7 +4269,7 @@ def network_define(name, bridge, forward, **kwargs): salt '*' virt.network_define network main bridge openvswitch - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' conn = __get_conn(**kwargs) vport = kwargs.get('vport', None) @@ -4322,7 +4322,7 @@ def list_networks(**kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4348,7 +4348,7 @@ def network_info(name=None, **kwargs): If no name is provided, return the infos for all defined virtual networks. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4398,7 +4398,7 @@ def network_start(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4423,7 +4423,7 @@ def network_stop(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4448,7 +4448,7 @@ def network_undefine(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4476,7 +4476,7 @@ def network_set_autostart(name, state='on', **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4623,7 +4623,7 @@ def pool_define(name, salt '*' virt.pool_define myshare netfs source_format=cifs \ source_dir=samba_share source_hosts="['example.com']" target=/mnt/cifs - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' conn = __get_conn(**kwargs) pool_xml = _gen_pool_xml( @@ -4663,7 +4663,7 @@ def list_pools(**kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4689,7 +4689,7 @@ def pool_info(name=None, **kwargs): If no name is provided, return the infos for all defined storage pools. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4742,7 +4742,7 @@ def pool_start(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4767,7 +4767,7 @@ def pool_build(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4792,7 +4792,7 @@ def pool_stop(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4817,7 +4817,7 @@ def pool_undefine(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4844,7 +4844,7 @@ def pool_delete(name, fast=True, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4872,7 +4872,7 @@ def pool_refresh(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4900,7 +4900,7 @@ def pool_set_autostart(name, state='on', **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -4925,7 +4925,7 @@ def pool_list_volumes(name, **kwargs): :param username: username to connect with, overriding defaults :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: diff --git a/salt/modules/vmctl.py b/salt/modules/vmctl.py index 8efed524ad..94be39c329 100644 --- a/salt/modules/vmctl.py +++ b/salt/modules/vmctl.py @@ -2,7 +2,7 @@ ''' Manage vms running on the OpenBSD VMM hypervisor using vmctl(8). -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :codeauthor: ``Jasper Lievisse Adriaanse <jasper@openbsd.org>`` diff --git a/salt/modules/win_firewall.py b/salt/modules/win_firewall.py index fb63528885..2a721df232 100644 --- a/salt/modules/win_firewall.py +++ b/salt/modules/win_firewall.py @@ -351,7 +351,7 @@ def get_settings(profile, section, store='local'): as returned by ``netsh advfirewall``. .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -409,7 +409,7 @@ def get_all_settings(domain, store='local'): Gets all the properties for the specified profile in the specified store .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -452,7 +452,7 @@ def get_all_profiles(store='local'): Gets all properties for all profiles in the specified store .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -489,7 +489,7 @@ def set_firewall_settings(profile, inbound=None, outbound=None, store='local'): store .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -564,7 +564,7 @@ def set_logging_settings(profile, setting, value, store='local'): Configure logging settings for the Windows firewall. .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -658,7 +658,7 @@ def set_settings(profile, setting, value, store='local'): Configure firewall settings. .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -725,7 +725,7 @@ def set_state(profile, state, store='local'): Configure the firewall state. .. versionadded:: 2018.3.4 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: diff --git a/salt/modules/win_network.py b/salt/modules/win_network.py index 0f0c0fae4d..d8b6db960e 100644 --- a/salt/modules/win_network.py +++ b/salt/modules/win_network.py @@ -363,13 +363,13 @@ def ip_addrs(interface=None, include_loopback=False, cidr=None, type=None): Describes subnet using CIDR notation and only IPv4 addresses that belong to this subnet will be returned. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 type If option set to 'public' then only public addresses will be returned. Ditto for 'private'. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 CLI Example: @@ -409,7 +409,7 @@ def ip_addrs6(interface=None, include_loopback=False, cidr=None): Describes subnet using CIDR notation and only IPv6 addresses that belong to this subnet will be returned. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 CLI Example: @@ -525,7 +525,7 @@ def is_private(ip_addr): ''' Check if the given IP address is a private address - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: diff --git a/salt/modules/yumpkg.py b/salt/modules/yumpkg.py index 51563a312c..c250b94f0e 100644 --- a/salt/modules/yumpkg.py +++ b/salt/modules/yumpkg.py @@ -812,7 +812,7 @@ def list_repo_pkgs(*args, **kwargs): be expanded and ``--setopt`` prepended to each in the yum/dnf command that is run. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Examples: @@ -1084,7 +1084,7 @@ def refresh_db(**kwargs): be expanded and ``--setopt`` prepended to each in the yum/dnf command that is run. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 CLI Example: @@ -1249,7 +1249,7 @@ def install(name=None, salt '*' pkg.install foo setopt='obsoletes=0,plugins=0' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Repository Options: @@ -1745,7 +1745,7 @@ def upgrade(name=None, .. _`systemd-run(1)`: https://www.freedesktop.org/software/systemd/man/systemd-run.html .. _`systemd.kill(5)`: https://www.freedesktop.org/software/systemd/man/systemd.kill.html - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Added ``obsoletes`` and ``minimal`` arguments Returns a dictionary containing the changes: @@ -1838,7 +1838,7 @@ def upgrade(name=None, salt '*' pkg.upgrade minimal=True - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 obsoletes : True Controls wether yum/dnf should take obsoletes into account and remove them. @@ -1849,14 +1849,14 @@ def upgrade(name=None, salt '*' pkg.upgrade obsoletes=False - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 setopt A comma-separated or Python list of key=value options. This list will be expanded and ``--setopt`` prepended to each in the yum/dnf command that is run. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. note:: To add extra arguments to the ``yum upgrade`` command, pass them as key @@ -1929,7 +1929,7 @@ def update(name=None, obsoletes=False, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Calls :py:func:`pkg.upgrade <salt.modules.yumpkg.upgrade>` with ``obsoletes=False``. Mirrors the CLI behavior of ``yum update``. diff --git a/salt/modules/zabbix.py b/salt/modules/zabbix.py index 221d2ca8a0..7cf0a55e03 100644 --- a/salt/modules/zabbix.py +++ b/salt/modules/zabbix.py @@ -1323,7 +1323,7 @@ def host_inventory_get(hostids, **connection_args): Retrieve host inventory according to the given parameters. See: https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param hostids: Return only host interfaces used by the given hosts. :param _connection_user: Optional - zabbix user (can also be set in opts or pillar, see module's docstring) @@ -1360,7 +1360,7 @@ def host_inventory_set(hostid, **connection_args): NOTE: This function accepts all standard host: keyword argument names for inventory see: https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param hostid: ID of the host to update :param clear_old: Set to True in order to remove all existing inventory items before setting the specified items diff --git a/salt/modules/zfs.py b/salt/modules/zfs.py index 6f6aa04a64..151e5e1aef 100644 --- a/salt/modules/zfs.py +++ b/salt/modules/zfs.py @@ -451,7 +451,7 @@ def mount(name=None, **kwargs): if name == '-a': salt.utils.versions.warn_until( 'Sodium', - 'Passing \'-a\' as name is deprecated as of Salt Fluorine. This ' + 'Passing \'-a\' as name is deprecated as of Salt 2019.2.0. This ' 'warning will be removed in Salt Sodium. Please pass name as ' '\'None\' instead to mount all filesystems.') flags.append('-a') diff --git a/salt/pillar/netbox.py b/salt/pillar/netbox.py index 71d99b3bba..65807e610a 100644 --- a/salt/pillar/netbox.py +++ b/salt/pillar/netbox.py @@ -2,7 +2,7 @@ ''' A module that adds data to the Pillar structure from a NetBox API. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Configuring the NetBox ext_pillar --------------------------------- diff --git a/salt/proxy/arista_pyeapi.py b/salt/proxy/arista_pyeapi.py index b3c5017515..860676b230 100644 --- a/salt/proxy/arista_pyeapi.py +++ b/salt/proxy/arista_pyeapi.py @@ -3,7 +3,7 @@ Arista pyeapi ============= -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Proxy module for managing Arista switches via the eAPI using the `pyeapi <http://pyeapi.readthedocs.io/en/master/index.html>`_ library. diff --git a/salt/proxy/docker.py b/salt/proxy/docker.py index 593785bb58..c70f8f5237 100644 --- a/salt/proxy/docker.py +++ b/salt/proxy/docker.py @@ -2,7 +2,7 @@ ''' Docker Proxy Minion -.. versionadded: Fluorine +.. versionadded: 2019.2.0 :depends: docker diff --git a/salt/proxy/napalm.py b/salt/proxy/napalm.py index 4111df9ccb..91f4fc4c49 100644 --- a/salt/proxy/napalm.py +++ b/salt/proxy/napalm.py @@ -135,7 +135,7 @@ Example using a user-specific library, extending NAPALM's capabilities, e.g. ``c - :mod:`Users configuration management <salt.modules.napalm_users>` .. note:: - Beginning with release codename Fluorine, any NAPALM command executed when + Beginning with release codename 2019.2.0, any NAPALM command executed when running under a NAPALM Proxy Minion supports the ``force_reconnect`` magic argument. diff --git a/salt/proxy/netmiko_px.py b/salt/proxy/netmiko_px.py index e9ac1809c7..b85e748229 100644 --- a/salt/proxy/netmiko_px.py +++ b/salt/proxy/netmiko_px.py @@ -3,7 +3,7 @@ Netmiko ======= -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Proxy module for managing network devices via `Netmiko <https://github.com/ktbyers/netmiko>`_. diff --git a/salt/proxy/nxos_api.py b/salt/proxy/nxos_api.py index 9a09cc8b54..1d7eefb520 100644 --- a/salt/proxy/nxos_api.py +++ b/salt/proxy/nxos_api.py @@ -2,7 +2,7 @@ ''' Proxy Minion to manage Cisco Nexus Switches (NX-OS) over the NX-API -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Proxy module for managing Cisco Nexus switches via the NX-API. diff --git a/salt/returners/pgjsonb.py b/salt/returners/pgjsonb.py index 33b1bd7fd6..04f2af58c0 100644 --- a/salt/returners/pgjsonb.py +++ b/salt/returners/pgjsonb.py @@ -73,7 +73,7 @@ set ``archive_jobs`` to True. Salt will create 3 archive tables; and move the contents of ``jids``, ``salt_returns``, and ``salt_events`` that are more than ``keep_jobs`` hours old to these tables. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 Use the following Pg database schema: diff --git a/salt/runners/manage.py b/salt/runners/manage.py index 34a7d20b4e..e89f41328a 100644 --- a/salt/runners/manage.py +++ b/salt/runners/manage.py @@ -221,7 +221,7 @@ def _show_ip_migration(show_ip, show_ipv4): def list_state(subset=None, show_ip=False, show_ipv4=None, state=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -271,7 +271,7 @@ def list_state(subset=None, show_ip=False, show_ipv4=None, state=None): def list_not_state(subset=None, show_ip=False, show_ipv4=None, state=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -317,7 +317,7 @@ def list_not_state(subset=None, show_ip=False, show_ipv4=None, state=None): def present(subset=None, show_ip=False, show_ipv4=None): ''' - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -343,7 +343,7 @@ def present(subset=None, show_ip=False, show_ipv4=None): def not_present(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.5.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -369,7 +369,7 @@ def not_present(subset=None, show_ip=False, show_ipv4=None): def joined(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -395,7 +395,7 @@ def joined(subset=None, show_ip=False, show_ipv4=None): def not_joined(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -421,7 +421,7 @@ def not_joined(subset=None, show_ip=False, show_ipv4=None): def allowed(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -447,7 +447,7 @@ def allowed(subset=None, show_ip=False, show_ipv4=None): def not_allowed(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -473,7 +473,7 @@ def not_allowed(subset=None, show_ip=False, show_ipv4=None): def alived(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -499,7 +499,7 @@ def alived(subset=None, show_ip=False, show_ipv4=None): def not_alived(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -525,7 +525,7 @@ def not_alived(subset=None, show_ip=False, show_ipv4=None): def reaped(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. @@ -551,7 +551,7 @@ def reaped(subset=None, show_ip=False, show_ipv4=None): def not_reaped(subset=None, show_ip=False, show_ipv4=None): ''' .. versionadded:: 2015.8.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The 'show_ipv4' argument has been renamed to 'show_ip' as it now includes IPv6 addresses for IPv6-connected minions. diff --git a/salt/runners/saltutil.py b/salt/runners/saltutil.py index b61aa2bef6..6f6af53dea 100644 --- a/salt/runners/saltutil.py +++ b/salt/runners/saltutil.py @@ -585,7 +585,7 @@ def sync_eauth_tokens(saltenv='base', extmod_whitelist=None, extmod_blacklist=No def sync_serializers(saltenv='base', extmod_whitelist=None, extmod_blacklist=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Sync serializer modules from ``salt://_serializers`` to the master diff --git a/salt/runners/state.py b/salt/runners/state.py index 2d9d8353d8..1a9389b38b 100644 --- a/salt/runners/state.py +++ b/salt/runners/state.py @@ -258,7 +258,7 @@ def event(tagmatch='*', Watch Salt's event bus and block until the given tag is matched .. versionadded:: 2014.7.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 ``tagmatch`` can now be either a glob or regular expression. This is useful for utilizing Salt's event bus from shell scripts or for diff --git a/salt/sdb/redis_sdb.py b/salt/sdb/redis_sdb.py index 182b162d8e..fe45faf9b5 100644 --- a/salt/sdb/redis_sdb.py +++ b/salt/sdb/redis_sdb.py @@ -3,7 +3,7 @@ Redis SDB module ================ - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 This module allows access to Redis using an ``sdb://`` URI. diff --git a/salt/states/azurearm_compute.py b/salt/states/azurearm_compute.py index 29596cd469..c67e6b940b 100644 --- a/salt/states/azurearm_compute.py +++ b/salt/states/azurearm_compute.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Compute State Module -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new @@ -105,7 +105,7 @@ def availability_set_present(name, resource_group, tags=None, platform_update_do platform_fault_domain_count=None, virtual_machines=None, sku=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure an availability set exists. @@ -265,7 +265,7 @@ def availability_set_present(name, resource_group, tags=None, platform_update_do def availability_set_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure an availability set does not exist in a resource group. diff --git a/salt/states/azurearm_network.py b/salt/states/azurearm_network.py index e7f3ef48dc..58efcae72b 100644 --- a/salt/states/azurearm_network.py +++ b/salt/states/azurearm_network.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Network State Module -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new @@ -112,7 +112,7 @@ def __virtual__(): def virtual_network_present(name, address_prefixes, resource_group, dns_servers=None, tags=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a virtual network exists. @@ -260,7 +260,7 @@ def virtual_network_present(name, address_prefixes, resource_group, dns_servers= def virtual_network_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a virtual network does not exist in the resource group. @@ -324,7 +324,7 @@ def virtual_network_absent(name, resource_group, connection_auth=None): def subnet_present(name, address_prefix, virtual_network, resource_group, security_group=None, route_table=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a subnet exists. @@ -465,7 +465,7 @@ def subnet_present(name, address_prefix, virtual_network, resource_group, def subnet_absent(name, virtual_network, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a virtual network does not exist in the virtual network. @@ -533,7 +533,7 @@ def subnet_absent(name, virtual_network, resource_group, connection_auth=None): def network_security_group_present(name, resource_group, tags=None, security_rules=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a network security group exists. @@ -673,7 +673,7 @@ def network_security_group_present(name, resource_group, tags=None, security_rul def network_security_group_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a network security group does not exist in the resource group. @@ -740,7 +740,7 @@ def security_rule_present(name, access, direction, priority, protocol, security_ destination_port_ranges=None, source_address_prefixes=None, source_port_ranges=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a security rule exists. @@ -1054,7 +1054,7 @@ def security_rule_present(name, access, direction, priority, protocol, security_ def security_rule_absent(name, security_group, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a security rule does not exist in the network security group. @@ -1123,7 +1123,7 @@ def load_balancer_present(name, resource_group, sku=None, frontend_ip_configurat load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_nat_rules=None, tags=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a load balancer exists. @@ -1480,7 +1480,7 @@ def load_balancer_present(name, resource_group, sku=None, frontend_ip_configurat def load_balancer_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a load balancer does not exist in the resource group. @@ -1545,7 +1545,7 @@ def public_ip_address_present(name, resource_group, tags=None, sku=None, public_ public_ip_address_version=None, dns_settings=None, idle_timeout_in_minutes=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a public IP address exists. @@ -1729,7 +1729,7 @@ def public_ip_address_present(name, resource_group, tags=None, sku=None, public_ def public_ip_address_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a public IP address does not exist in the resource group. @@ -1795,7 +1795,7 @@ def network_interface_present(name, ip_configurations, subnet, virtual_network, primary=None, enable_accelerated_networking=None, enable_ip_forwarding=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a network interface exists. @@ -2049,7 +2049,7 @@ def network_interface_present(name, ip_configurations, subnet, virtual_network, def network_interface_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a network interface does not exist in the resource group. @@ -2113,7 +2113,7 @@ def network_interface_absent(name, resource_group, connection_auth=None): def route_table_present(name, resource_group, tags=None, routes=None, disable_bgp_route_propagation=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a route table exists. @@ -2253,7 +2253,7 @@ def route_table_present(name, resource_group, tags=None, routes=None, disable_bg def route_table_absent(name, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a route table does not exist in the resource group. @@ -2317,7 +2317,7 @@ def route_table_absent(name, resource_group, connection_auth=None): def route_present(name, address_prefix, next_hop_type, route_table, resource_group, next_hop_ip_address=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a route exists within a route table. @@ -2449,7 +2449,7 @@ def route_present(name, address_prefix, next_hop_type, route_table, resource_gro def route_absent(name, route_table, resource_group, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a route table does not exist in the resource group. diff --git a/salt/states/azurearm_resource.py b/salt/states/azurearm_resource.py index 79f124b5da..3fb730f4e0 100644 --- a/salt/states/azurearm_resource.py +++ b/salt/states/azurearm_resource.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Resource State Module -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new @@ -103,7 +103,7 @@ def __virtual__(): def resource_group_present(name, location, managed_by=None, tags=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a resource group exists. @@ -212,7 +212,7 @@ def resource_group_present(name, location, managed_by=None, tags=None, connectio def resource_group_absent(name, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a resource group does not exist in the current subscription. @@ -280,7 +280,7 @@ def policy_definition_present(name, policy_rule=None, policy_type=None, mode=Non template='jinja', source_hash=None, source_hash_name=None, skip_verify=False, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a security policy definition exists. @@ -546,7 +546,7 @@ def policy_definition_present(name, policy_rule=None, policy_type=None, mode=Non def policy_definition_absent(name, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a policy definition does not exist in the current subscription. @@ -602,7 +602,7 @@ def policy_definition_absent(name, connection_auth=None): def policy_assignment_present(name, scope, definition_name, display_name=None, description=None, assignment_type=None, parameters=None, connection_auth=None, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a security policy assignment exists. @@ -755,7 +755,7 @@ def policy_assignment_present(name, scope, definition_name, display_name=None, d def policy_assignment_absent(name, scope, connection_auth=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Ensure a policy assignment does not exist in the provided scope. diff --git a/salt/states/cimc.py b/salt/states/cimc.py index 61afafaf59..3ee314f853 100644 --- a/salt/states/cimc.py +++ b/salt/states/cimc.py @@ -47,7 +47,7 @@ def hostname(name, hostname=None): ''' Ensures that the hostname is set to the specified value. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name: The name of the module function to execute. @@ -106,7 +106,7 @@ def logging_levels(name, remote=None, local=None): must match the following options: emergency, alert, critical, error, warning, notice, informational, debug. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name: The name of the module function to execute. @@ -252,7 +252,7 @@ def power_configuration(name, policy=None, delayType=None, delayValue=None): Ensures that the power configuration is configured on the system. This is only available on some C-Series servers. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name: The name of the module function to execute. @@ -439,7 +439,7 @@ def user(name, id='', user='', priv='', password='', status='active'): Ensures that a user is configured on the device. Due to being unable to verify the user password. This is a forced operation. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 name: The name of the module function to execute. diff --git a/salt/states/cmd.py b/salt/states/cmd.py index 069274105c..4d20b51381 100644 --- a/salt/states/cmd.py +++ b/salt/states/cmd.py @@ -521,7 +521,7 @@ def wait(name, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' # Ignoring our arguments is intentional. return {'name': name, @@ -660,7 +660,7 @@ def wait_script(name, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' # Ignoring our arguments is intentional. return {'name': name, @@ -821,7 +821,7 @@ def run(name, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. note:: @@ -1094,7 +1094,7 @@ def script(name, return code returned from the run matches any in the provided list, the return code will be overridden with zero. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' test_name = None diff --git a/salt/states/docker_container.py b/salt/states/docker_container.py index 4e389d8718..71798bbec5 100644 --- a/salt/states/docker_container.py +++ b/salt/states/docker_container.py @@ -384,7 +384,7 @@ def running(name, **NETWORK MANAGEMENT** .. versionadded:: 2018.3.0 - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 If the ``networks`` option is used, any networks (including the default ``bridge`` network) which are not specified will be disconnected. @@ -424,7 +424,7 @@ def running(name, .. _`connect_container_to_network`: https://docker-py.readthedocs.io/en/stable/api.html#docker.api.network.NetworkApiMixin.connect_container_to_network To start a container with no network connectivity (only possible in - Fluorine and later) pass this option as an empty list. For example: + 2019.2.0 and later) pass this option as an empty list. For example: .. code-block:: yaml diff --git a/salt/states/file.py b/salt/states/file.py index 7bc71a2cb1..dfbe672daa 100644 --- a/salt/states/file.py +++ b/salt/states/file.py @@ -5630,7 +5630,7 @@ def patch(name, ''' Ensure that a patch has been applied to the specified file or directory - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The ``hash`` and ``dry_run_first`` options are now ignored, as the logic which determines whether or not the patch has already been applied no longer requires them. Additionally, this state now supports @@ -5653,7 +5653,7 @@ def patch(name, source The patch file to apply - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 The source can now be from any file source supported by Salt (``salt://``, ``http://``, ``https://``, ``ftp://``, etc.). Templating is also now supported. @@ -5662,37 +5662,37 @@ def patch(name, Works the same way as in :py:func:`file.managed <salt.states.file.managed>`. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 source_hash_name Works the same way as in :py:func:`file.managed <salt.states.file.managed>` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 skip_verify Works the same way as in :py:func:`file.managed <salt.states.file.managed>` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 template Works the same way as in :py:func:`file.managed <salt.states.file.managed>` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 context Works the same way as in :py:func:`file.managed <salt.states.file.managed>` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 defaults Works the same way as in :py:func:`file.managed <salt.states.file.managed>` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 options Extra options to pass to patch. This should not be necessary in most @@ -5714,7 +5714,7 @@ def patch(name, The parent directory must exist. Also, this will overwrite the file if it is already present. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 strip Number of directories to strip from paths in the patch file. For @@ -5728,7 +5728,7 @@ def patch(name, - source: salt://myfile.patch - strip: 1 - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 In previous versions, ``-p1`` would need to be passed as part of the ``options`` value. @@ -6673,7 +6673,7 @@ def serialize(name, deserializing JSON, arguments like ``parse_float`` and ``parse_int`` which accept a callable object cannot be handled in an SLS file. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 For example, this state: diff --git a/salt/states/git.py b/salt/states/git.py index 1daea423bc..5a43bbdb09 100644 --- a/salt/states/git.py +++ b/salt/states/git.py @@ -445,7 +445,7 @@ def latest(name, argument to ``True`` to force a hard-reset to the remote revision in these cases. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 This option can now be set to ``remote-changes``, which will instruct Salt not to discard local changes if the repo is up-to-date with the remote repository. @@ -489,7 +489,7 @@ def latest(name, with a long history. Use rev to specify branch or tag. This is not compatible with revision IDs. - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 This option now supports tags as well as branches, on Git 1.8.0 and newer. @@ -2753,7 +2753,7 @@ def cloned(name, https_pass=None, output_encoding=None): ''' - .. versionadded:: 2018.3.3,Fluorine + .. versionadded:: 2018.3.3,2019.2.0 Ensure that a repository has been cloned to the specified target directory. If not, clone that repository. No fetches will be performed once cloned. diff --git a/salt/states/glusterfs.py b/salt/states/glusterfs.py index 32556d9efd..5df947dc27 100644 --- a/salt/states/glusterfs.py +++ b/salt/states/glusterfs.py @@ -125,7 +125,7 @@ def volume_present(name, bricks, stripe=False, replica=False, device_vg=False, arbiter use every third brick as arbiter (metadata only) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 start ensure that the volume is also started @@ -325,7 +325,7 @@ def add_volume_bricks(name, bricks): def op_version(name, version): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Add brick(s) to an existing volume @@ -377,7 +377,7 @@ def op_version(name, version): def max_op_version(name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Add brick(s) to an existing volume diff --git a/salt/states/kapacitor.py b/salt/states/kapacitor.py index da182470f4..cbaf6cdbda 100644 --- a/salt/states/kapacitor.py +++ b/salt/states/kapacitor.py @@ -53,7 +53,7 @@ def task_present(name, to fetch data from. For backward compatibility, the value of 'database' and 'retention_policy' will be merged as part of dbrps. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 database Which database to fetch data from. Defaults to None, which will use the diff --git a/salt/states/kubernetes.py b/salt/states/kubernetes.py index 3d12fbfc91..1a8d018109 100644 --- a/salt/states/kubernetes.py +++ b/salt/states/kubernetes.py @@ -8,7 +8,7 @@ salt.modules.kubernetes for more information. .. warning:: - Configuration options will change in Fluorine. + Configuration options will change in 2019.2.0. The kubernetes module is used to manage different kubernetes resources. diff --git a/salt/states/lxd.py b/salt/states/lxd.py index 681deb42dd..cd965ae9a6 100644 --- a/salt/states/lxd.py +++ b/salt/states/lxd.py @@ -2,7 +2,7 @@ ''' Manage LXD profiles. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 .. note: diff --git a/salt/states/lxd_container.py b/salt/states/lxd_container.py index c92fc5aa72..ea1a5f6425 100644 --- a/salt/states/lxd_container.py +++ b/salt/states/lxd_container.py @@ -2,7 +2,7 @@ ''' Manage LXD containers. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 .. note: diff --git a/salt/states/lxd_image.py b/salt/states/lxd_image.py index 0e2876a151..bc3ebf719f 100644 --- a/salt/states/lxd_image.py +++ b/salt/states/lxd_image.py @@ -2,7 +2,7 @@ ''' Manage LXD images. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 .. note: diff --git a/salt/states/lxd_profile.py b/salt/states/lxd_profile.py index 36a6adad52..33b371a38f 100644 --- a/salt/states/lxd_profile.py +++ b/salt/states/lxd_profile.py @@ -2,7 +2,7 @@ ''' Manage LXD profiles. -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 .. note: diff --git a/salt/states/netconfig.py b/salt/states/netconfig.py index 5b94f04343..b1f8ed65e4 100644 --- a/salt/states/netconfig.py +++ b/salt/states/netconfig.py @@ -118,7 +118,7 @@ def replace_pattern(name, debug=False, commit=True): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Replace occurrences of a pattern in the configuration source. If ``show_changes`` is ``True``, then a diff of what changed will be returned, @@ -270,7 +270,7 @@ def saved(name, win_perms_reset=False, **kwargs): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Save the configuration to a file on the local file system. @@ -511,7 +511,7 @@ def managed(name, - ``https:/example.com/template.mako`` - ``ftp://example.com/template.py`` - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 This argument can now support a list of templates to be rendered. The resulting configuration text is loaded at once, as a single configuration chunk. @@ -585,7 +585,7 @@ def managed(name, applies a manual configuration change, or a different process or command changes the configuration in the meanwhile). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 commit_at: ``None`` Commit the changes at a specific time. Example of accepted formats: @@ -609,7 +609,7 @@ def managed(name, applies a manual configuration change, or a different process or command changes the configuration in the meanwhile). - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 revert_in: ``None`` Commit and revert the changes in a specific number of minutes / hours. @@ -640,7 +640,7 @@ def managed(name, commit and till the changes are reverted), these changes would be equally reverted, as Salt cannot be aware of them. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 revert_at: ``None`` Commit and revert the changes at a specific time. Example of accepted @@ -670,7 +670,7 @@ def managed(name, commit and till the changes are reverted), these changes would be equally reverted, as Salt cannot be aware of them. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 replace: False Load and replace the configuration. Default: ``False`` (will apply load merge). @@ -678,7 +678,7 @@ def managed(name, context: None Overrides default context variables passed to the template. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 defaults: None Default variables/context passed to the template. @@ -850,7 +850,7 @@ def managed(name, def commit_cancelled(name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Cancel a commit scheduled to be executed via the ``commit_in`` and ``commit_at`` arguments from the @@ -882,7 +882,7 @@ def commit_cancelled(name): def commit_confirmed(name): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Confirm a commit scheduled to be reverted via the ``revert_in`` and ``revert_at`` arguments from the diff --git a/salt/states/postgres_initdb.py b/salt/states/postgres_initdb.py index 9ad83242d9..d91aec8a50 100644 --- a/salt/states/postgres_initdb.py +++ b/salt/states/postgres_initdb.py @@ -67,14 +67,14 @@ def present(name, The transaction log (WAL) directory (default is to keep WAL inside the data directory) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 checksums If True, the cluster will be created with data page checksums. .. note:: Data page checksums are supported since PostgreSQL 9.3. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 runas The system user the operation should be performed on behalf of diff --git a/salt/states/reg.py b/salt/states/reg.py index d41c8938b5..f776a34230 100644 --- a/salt/states/reg.py +++ b/salt/states/reg.py @@ -199,7 +199,7 @@ def present(name, Owner is set for the key that contains the value/data pair. You cannot set ownership on value/data pairs themselves. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 win_perms (dict): A dictionary containing permissions to grant and their propagation. @@ -244,7 +244,7 @@ def present(name, - this_key_subkeys - subkeys_only - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 win_deny_perms (dict): A dictionary containing permissions to deny and their propagation. @@ -260,7 +260,7 @@ def present(name, 'Deny' permissions always take precedence over 'grant' permissions. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 win_inheritance (bool): ``True`` to inherit permissions from the parent key. ``False`` to @@ -270,7 +270,7 @@ def present(name, Inheritance is set for the key that contains the value/data pair. You cannot set inheritance on value/data pairs themselves. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 win_perms_reset (bool): If ``True`` the existing DACL will be cleared and replaced with the @@ -281,7 +281,7 @@ def present(name, Perms are reset for the key that contains the value/data pair. You cannot set permissions on value/data pairs themselves. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Returns: dict: A dictionary showing the results of the registry operation. diff --git a/salt/states/selinux.py b/salt/states/selinux.py index 91ed5c108c..2078352d02 100644 --- a/salt/states/selinux.py +++ b/salt/states/selinux.py @@ -483,7 +483,7 @@ def fcontext_policy_applied(name, recursive=False): def port_policy_present(name, sel_type, protocol=None, port=None, sel_range=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Makes sure an SELinux port policy for a given port, protocol and SELinux context type is present. @@ -538,7 +538,7 @@ def port_policy_present(name, sel_type, protocol=None, port=None, sel_range=None def port_policy_absent(name, sel_type=None, protocol=None, port=None): ''' - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Makes sure an SELinux port policy for a given port, protocol and SELinux context type is absent. diff --git a/salt/states/smartos.py b/salt/states/smartos.py index 2dba794ac0..f28317e556 100644 --- a/salt/states/smartos.py +++ b/salt/states/smartos.py @@ -727,7 +727,7 @@ def vm_present(name, vmconfig, config=None): e.g. disk0 will be the first disk added, disk1 the 2nd,... - .. versionchanged:: Fluorine + .. versionchanged:: 2019.2.0 Added support for docker image uuids, added auto_lx_vars configuration, documented some missing configuration options. diff --git a/salt/states/svn.py b/salt/states/svn.py index bbedc91673..604bfcd4ea 100644 --- a/salt/states/svn.py +++ b/salt/states/svn.py @@ -92,7 +92,7 @@ def latest(name, specified string is passed to SVN's --trust-server-cert-failures option as-is. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' ret = {'name': name, 'result': True, 'comment': '', 'changes': {}} if not target: @@ -242,7 +242,7 @@ def export(name, specified string is passed to SVN's --trust-server-cert-failures option as-is. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' ret = {'name': name, 'result': True, 'comment': '', 'changes': {}} if not target: diff --git a/salt/states/virt.py b/salt/states/virt.py index fe155f93d7..90693880df 100644 --- a/salt/states/virt.py +++ b/salt/states/virt.py @@ -192,13 +192,13 @@ def stopped(name, connection=None, username=None, password=None): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: yaml @@ -218,13 +218,13 @@ def powered_off(name, connection=None, username=None, password=None): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: yaml @@ -266,68 +266,68 @@ def running(name, :param mem: amount of memory in MiB for the new virtual machine :param image: disk image to use for the first disk of the new VM - .. deprecated:: Fluorine + .. deprecated:: 2019.2.0 :param vm_type: force virtual machine type for the new VM. The default value is taken from the host capabilities. This could be useful for example to use ``'qemu'`` type instead of the ``'kvm'`` one. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param disk_profile: Name of the disk profile to use for the new virtual machine - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param disks: List of disk to create for the new virtual machine. See :ref:`init-disk-def` for more details on the items on this list. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param nic_profile: Name of the network interfaces profile to use for the new virtual machine - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param interfaces: List of network interfaces to create for the new virtual machine. See :ref:`init-nic-def` for more details on the items on this list. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param graphics: Graphics device to create for the new virtual machine. See :ref:`init-graphics-def` for more details on this dictionary - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param saltenv: Fileserver environment (Default: ``'base'``). See :mod:`cp module for more details <salt.modules.cp>` - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param seed: ``True`` to seed the disk image. Only used when the ``image`` parameter is provided. (Default: ``True``) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param install: install salt minion if absent (Default: ``True``) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param pub_key: public key to seed with (Default: ``None``) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param priv_key: public key to seed with (Default: ``None``) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param seed_cmd: Salt command to execute to seed the image. (Default: ``'seed.apply'``) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param update: set to ``True`` to update a defined module. (Default: ``False``) - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param os_type: type of virtualization as found in the ``//os/type`` element of the libvirt definition. The default value is taken from the host capabilities, with a preference for ``hvm``. @@ -476,13 +476,13 @@ def snapshot(name, suffix=None, connection=None, username=None, password=None): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: yaml @@ -510,13 +510,13 @@ def rebooted(name, connection=None, username=None, password=None): :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 ''' return _virt_call(name, 'reboot', 'rebooted', "Machine has been rebooted", @@ -637,13 +637,13 @@ def network_running(name, :param connection: libvirt connection URI, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param username: username to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param password: password to connect with, overriding defaults - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 .. code-block:: yaml @@ -709,7 +709,7 @@ def pool_running(name, ''' Defines and starts a new pool with specified arguments. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 :param ptype: libvirt pool type :param target: full path to the target device or folder. (Default: ``None``) diff --git a/salt/utils/azurearm.py b/salt/utils/azurearm.py index 60aa03c80f..8bae976159 100644 --- a/salt/utils/azurearm.py +++ b/salt/utils/azurearm.py @@ -2,7 +2,7 @@ ''' Azure (ARM) Utilities -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 :maintainer: <devops@decisionlab.io> :maturity: new diff --git a/salt/utils/locales.py b/salt/utils/locales.py index 16092b889c..aa42b90e35 100644 --- a/salt/utils/locales.py +++ b/salt/utils/locales.py @@ -38,7 +38,7 @@ def sdecode(string_): 'Sodium', 'Use of \'salt.utils.locales.sdecode\' detected. This function ' 'has been replaced by \'salt.utils.data.decode\' as of ' - 'Salt Fluorine. This warning will be removed in Salt Sodium.', + 'Salt 2019.2.0. This warning will be removed in Salt Sodium.', stacklevel=3 ) return salt.utils.data.decode(string_) @@ -49,7 +49,7 @@ def sdecode_if_string(value_): 'Sodium', 'Use of \'salt.utils.locales.sdecode_if_string\' detected. This ' 'function has been replaced by \'salt.utils.data.decode\' as of ' - 'Salt Fluorine. This warning will be removed in Salt Sodium.', + 'Salt 2019.2.0. This warning will be removed in Salt Sodium.', stacklevel=3 ) return salt.utils.data.decode(value_) diff --git a/salt/utils/win_dacl.py b/salt/utils/win_dacl.py index a61d2a23b8..8eb69c024a 100644 --- a/salt/utils/win_dacl.py +++ b/salt/utils/win_dacl.py @@ -2212,7 +2212,7 @@ def check_perms(obj_name, Check owner and permissions for the passed directory. This function checks the permissions and sets them, returning the changes made. - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: @@ -2476,7 +2476,7 @@ def set_perms(obj_name, ''' Set permissions for the given path - .. versionadded:: Fluorine + .. versionadded:: 2019.2.0 Args: diff --git a/salt/utils/win_lgpo_netsh.py b/salt/utils/win_lgpo_netsh.py index a31cc7f33f..f284651ff4 100644 --- a/salt/utils/win_lgpo_netsh.py +++ b/salt/utils/win_lgpo_netsh.py @@ -3,7 +3,7 @@ r''' A salt util for modifying firewall settings. .. versionadded:: 2018.3.4 -.. versionadded:: Fluorine +.. versionadded:: 2019.2.0 This util allows you to modify firewall settings in the local group policy in addition to the normal firewall settings. Parameters are taken from the diff --git a/salt/version.py b/salt/version.py index 505886ea68..50169ed679 100644 --- a/salt/version.py +++ b/salt/version.py @@ -98,7 +98,7 @@ class SaltStackVersion(object): 'Carbon' : (2016, 11), 'Nitrogen' : (2017, 7), 'Oxygen' : (2018, 3), - 'Fluorine' : (MAX_SIZE - 100, 0), + '2019.2.0' : (MAX_SIZE - 100, 0), 'Neon' : (MAX_SIZE - 99, 0), 'Sodium' : (MAX_SIZE - 98, 0), 'Magnesium' : (MAX_SIZE - 97, 0), From 2cffe0fa56360150effe6503bc864b35027df16b Mon Sep 17 00:00:00 2001 From: Ch3LL <megan.wilhite@gmail.com> Date: Mon, 7 Jan 2019 18:08:00 -0500 Subject: [PATCH 04/16] Update fluorine release number in versions.py --- salt/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/salt/version.py b/salt/version.py index 50169ed679..d75a4dc5cf 100644 --- a/salt/version.py +++ b/salt/version.py @@ -98,7 +98,7 @@ class SaltStackVersion(object): 'Carbon' : (2016, 11), 'Nitrogen' : (2017, 7), 'Oxygen' : (2018, 3), - '2019.2.0' : (MAX_SIZE - 100, 0), + 'Fluorine' : (2019, 2), 'Neon' : (MAX_SIZE - 99, 0), 'Sodium' : (MAX_SIZE - 98, 0), 'Magnesium' : (MAX_SIZE - 97, 0), From c3f4a701d41d60eab8499981a77b336b88210177 Mon Sep 17 00:00:00 2001 From: Ch3LL <megan.wilhite@gmail.com> Date: Tue, 8 Jan 2019 14:54:38 -0500 Subject: [PATCH 05/16] remove unnecessary space to fix doc warning --- doc/topics/releases/2019.2.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/topics/releases/2019.2.0.rst b/doc/topics/releases/2019.2.0.rst index b154051165..27e3b0bce8 100644 --- a/doc/topics/releases/2019.2.0.rst +++ b/doc/topics/releases/2019.2.0.rst @@ -918,7 +918,7 @@ Minion Configuration Deprecations --------------------------------- The :conf_minion:`master_shuffle` configuration option is deprecated as of the -``2019.2.0 `` release. Please use the :conf_minion:`random_master` option instead. +``2019.2.0`` release. Please use the :conf_minion:`random_master` option instead. Module Deprecations ------------------- From e9114a65440e51607d7875a89496814f0a840501 Mon Sep 17 00:00:00 2001 From: Ch3LL <megan.wilhite@gmail.com> Date: Tue, 8 Jan 2019 15:20:46 -0500 Subject: [PATCH 06/16] Add 2019.2 to toctree --- doc/topics/releases/2019.2.0.rst | 2 +- doc/topics/releases/index.rst | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/topics/releases/2019.2.0.rst b/doc/topics/releases/2019.2.0.rst index 27e3b0bce8..8a56ac4fec 100644 --- a/doc/topics/releases/2019.2.0.rst +++ b/doc/topics/releases/2019.2.0.rst @@ -988,7 +988,7 @@ Roster Deprecations - The :py:mod:`cache <salt.roster.cache>` roster has been changed as follows: - Support for ``roster_order`` as a list or tuple has been removed. As of - the ``2019.2.0 `` release, ``roster_order`` must be a dictionary. + the ``2019.2.0`` release, ``roster_order`` must be a dictionary. - The ``roster_order`` option now includes IPv6 in addition to IPv4 for the ``private``, ``public``, ``global`` or ``local`` settings. The syntax for diff --git a/doc/topics/releases/index.rst b/doc/topics/releases/index.rst index 40d73cea80..6ba8885b03 100644 --- a/doc/topics/releases/index.rst +++ b/doc/topics/releases/index.rst @@ -20,6 +20,7 @@ Previous Releases :maxdepth: 1 :glob: + 2019.2.* 2018.3.* 2017.7.* 2016.11.* From 23b2c3ed7ca3bfc0cfbdddd1ec9c25bba5ff53f0 Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" <dwozniak@saltstack.com> Date: Tue, 8 Jan 2019 13:36:03 -0700 Subject: [PATCH 07/16] fix flakieness in create wake on lan test --- tests/unit/cloud/clouds/test_saltify.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/unit/cloud/clouds/test_saltify.py b/tests/unit/cloud/clouds/test_saltify.py index fd12bdcae0..719f3e5f6b 100644 --- a/tests/unit/cloud/clouds/test_saltify.py +++ b/tests/unit/cloud/clouds/test_saltify.py @@ -112,7 +112,9 @@ class SaltifyTestCase(TestCase, LoaderModuleMockMixin): result = saltify.create(vm_) mock_cmd.assert_called_once_with(vm_, ANY) mm_cmd.assert_called_with('friend1', 'network.wol', ['aa-bb-cc-dd-ee-ff']) - mock_sleep.assert_called_with(0.01) + # The test suite might call time.sleep, look for any call + # that has the expected wait time. + mock_sleep.assert_any_call(0.01) self.assertTrue(result) def test_avail_locations(self): From 675e646e50ccff3ac6c7669231de50dc53edb95b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio <pedro@algarvio.me> Date: Wed, 9 Jan 2019 14:20:12 +0000 Subject: [PATCH 08/16] Update to salt-bootstrap v2019.01.08 --- salt/cloud/deploy/bootstrap-salt.sh | 304 ++++++++++++++++++++++------ 1 file changed, 238 insertions(+), 66 deletions(-) diff --git a/salt/cloud/deploy/bootstrap-salt.sh b/salt/cloud/deploy/bootstrap-salt.sh index c3af792071..d52abe2ac4 100755 --- a/salt/cloud/deploy/bootstrap-salt.sh +++ b/salt/cloud/deploy/bootstrap-salt.sh @@ -1,4 +1,9 @@ #!/bin/sh - + +# WARNING: Changes to this file in the salt repo will be overwritten! +# Please submit pull requests against the salt-bootstrap repo: +# https://github.com/saltstack/salt-bootstrap + #====================================================================================================================== # vim: softtabstop=4 shiftwidth=4 expandtab fenc=utf-8 spell spelllang=en cc=120 #====================================================================================================================== @@ -18,7 +23,7 @@ #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2018.08.15" +__ScriptVersion="2019.01.08" __ScriptName="bootstrap-salt.sh" __ScriptFullName="$0" @@ -585,14 +590,14 @@ elif [ "$ITYPE" = "stable" ]; then if [ "$#" -eq 0 ];then STABLE_REV="latest" else - if [ "$(echo "$1" | grep -E '^(latest|1\.6|1\.7|2014\.1|2014\.7|2015\.5|2015\.8|2016\.3|2016\.11|2017\.7|2018\.3)$')" != "" ]; then + if [ "$(echo "$1" | grep -E '^(latest|1\.6|1\.7|2014\.1|2014\.7|2015\.5|2015\.8|2016\.3|2016\.11|2017\.7|2018\.3|2019\.2)$')" != "" ]; then STABLE_REV="$1" shift elif [ "$(echo "$1" | grep -E '^([0-9]*\.[0-9]*\.[0-9]*)$')" != "" ]; then STABLE_REV="archive/$1" shift else - echo "Unknown stable version: $1 (valid: 1.6, 1.7, 2014.1, 2014.7, 2015.5, 2015.8, 2016.3, 2016.11, 2017.7, 2018.3, latest, \$MAJOR.\$MINOR.\$PATCH)" + echo "Unknown stable version: $1 (valid: 1.6, 1.7, 2014.1, 2014.7, 2015.5, 2015.8, 2016.3, 2016.11, 2017.7, 2018.3, 2019.2, latest, \$MAJOR.\$MINOR.\$PATCH)" exit 1 fi fi @@ -1269,6 +1274,7 @@ __ubuntu_derivatives_translation() { linuxmint_13_ubuntu_base="12.04" linuxmint_17_ubuntu_base="14.04" linuxmint_18_ubuntu_base="16.04" + linuxmint_19_ubuntu_base="18.04" linaro_12_ubuntu_base="12.04" elementary_os_02_ubuntu_base="12.04" neon_16_ubuntu_base="16.04" @@ -1632,7 +1638,8 @@ __check_end_of_life_versions() { amazon*linux*ami) # Amazon Linux versions lower than 2012.0X no longer supported - if [ "$DISTRO_MAJOR_VERSION" -lt 2012 ]; then + # Except for Amazon Linux 2, which reset the major version counter + if [ "$DISTRO_MAJOR_VERSION" -lt 2012 ] && [ "$DISTRO_MAJOR_VERSION" -gt 10 ]; then echoerror "End of life distributions are not supported." echoerror "Please consider upgrading to the next stable. See:" echoerror " https://aws.amazon.com/amazon-linux-ami/" @@ -1797,24 +1804,32 @@ __function_defined() { # process is finished so the script doesn't exit on a locked proc. #---------------------------------------------------------------------------------------------------------------------- __wait_for_apt(){ - echodebug "Checking if apt process is currently running." - # Timeout set at 15 minutes WAIT_TIMEOUT=900 - while ps -C apt,apt-get,aptitude,dpkg >/dev/null; do - sleep 1 - WAIT_TIMEOUT=$((WAIT_TIMEOUT - 1)) + # Run our passed in apt command + "${@}" + APT_RETURN=$? - # If timeout reaches 0, abort. - if [ "$WAIT_TIMEOUT" -eq 0 ]; then - echoerror "Apt, apt-get, aptitude, or dpkg process is taking too long." - echoerror "Bootstrap script cannot proceed. Aborting." - return 1 - fi + # If our exit code from apt is 100, then we're waiting on a lock + while [ $APT_RETURN -eq 100 ]; do + echoinfo "Aware of the lock. Patiently waiting $WAIT_TIMEOUT more seconds..." + sleep 1 + WAIT_TIMEOUT=$((WAIT_TIMEOUT - 1)) + + # If timeout reaches 0, abort. + if [ "$WAIT_TIMEOUT" -eq 0 ]; then + echoerror "Apt, apt-get, aptitude, or dpkg process is taking too long." + echoerror "Bootstrap script cannot proceed. Aborting." + return 1 + else + # Try running apt again until our return code != 100 + "${@}" + APT_RETURN=$? + fi done - echodebug "No apt processes are currently running." + return $APT_RETURN } #--- FUNCTION ------------------------------------------------------------------------------------------------------- @@ -1823,8 +1838,7 @@ __wait_for_apt(){ # PARAMETERS: packages #---------------------------------------------------------------------------------------------------------------------- __apt_get_install_noinput() { - __wait_for_apt - apt-get install -y -o DPkg::Options::=--force-confold "${@}"; return $? + __wait_for_apt apt-get install -y -o DPkg::Options::=--force-confold "${@}"; return $? } # ---------- end of function __apt_get_install_noinput ---------- @@ -1833,8 +1847,7 @@ __apt_get_install_noinput() { # DESCRIPTION: (DRY) apt-get upgrade with noinput options #---------------------------------------------------------------------------------------------------------------------- __apt_get_upgrade_noinput() { - __wait_for_apt - apt-get upgrade -y -o DPkg::Options::=--force-confold; return $? + __wait_for_apt apt-get upgrade -y -o DPkg::Options::=--force-confold; return $? } # ---------- end of function __apt_get_upgrade_noinput ---------- @@ -1844,11 +1857,10 @@ __apt_get_upgrade_noinput() { # PARAMETERS: url #---------------------------------------------------------------------------------------------------------------------- __apt_key_fetch() { - __wait_for_apt url=$1 # shellcheck disable=SC2086 - apt-key adv ${_GPG_ARGS} --fetch-keys "$url"; return $? + __wait_for_apt apt-key adv ${_GPG_ARGS} --fetch-keys "$url"; return $? } # ---------- end of function __apt_key_fetch ---------- @@ -2633,8 +2645,7 @@ __install_saltstack_ubuntu_repository() { __apt_key_fetch "$SALTSTACK_UBUNTU_URL/SALTSTACK-GPG-KEY.pub" || return 1 - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 } install_ubuntu_deps() { @@ -2646,8 +2657,7 @@ install_ubuntu_deps() { __enable_universe_repository || return 1 - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 fi __PACKAGES='' @@ -2703,8 +2713,7 @@ install_ubuntu_stable_deps() { # No user interaction, libc6 restart services for example export DEBIAN_FRONTEND=noninteractive - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 if [ "${_UPGRADE_SYS}" -eq $BS_TRUE ]; then if [ "${_INSECURE_DL}" -eq $BS_TRUE ]; then @@ -2724,8 +2733,7 @@ install_ubuntu_stable_deps() { } install_ubuntu_git_deps() { - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 if ! __check_command_exists git; then __apt_get_install_noinput git-core || return 1 @@ -3032,8 +3040,7 @@ __install_saltstack_debian_repository() { __apt_key_fetch "$SALTSTACK_DEBIAN_URL/SALTSTACK-GPG-KEY.pub" || return 1 - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 } install_debian_deps() { @@ -3044,8 +3051,7 @@ install_debian_deps() { # No user interaction, libc6 restart services for example export DEBIAN_FRONTEND=noninteractive - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 if [ "${_UPGRADE_SYS}" -eq $BS_TRUE ]; then # Try to update GPG keys first if allowed @@ -3164,8 +3170,7 @@ install_debian_8_git_deps() { /etc/apt/sources.list.d/backports.list fi - __wait_for_apt - apt-get update || return 1 + __wait_for_apt apt-get update || return 1 # python-tornado package should be installed from backports repo __PACKAGES="${__PACKAGES} python-backports.ssl-match-hostname python-tornado/jessie-backports" @@ -3415,36 +3420,33 @@ install_debian_check_services() { # install_fedora_deps() { + if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then + dnf -y update || return 1 + fi + + __PACKAGES="${__PACKAGES:=}" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then # Packages are named python3-<whatever> PY_PKG_VER=3 - __PACKAGES="python3-m2crypto python3-PyYAML" + __PACKAGES="${__PACKAGES} python3-m2crypto python3-PyYAML" else PY_PKG_VER=2 - __PACKAGES="m2crypto" + __PACKAGES="${__PACKAGES} m2crypto" if [ "$DISTRO_MAJOR_VERSION" -ge 28 ]; then __PACKAGES="${__PACKAGES} python2-pyyaml" else __PACKAGES="${__PACKAGES} PyYAML" fi fi - - __PACKAGES="${__PACKAGES} procps-ng dnf-utils libyaml python${PY_PKG_VER}-crypto python${PY_PKG_VER}-jinja2" + __PACKAGES="${__PACKAGES} dnf-utils libyaml procps-ng python${PY_PKG_VER}-crypto python${PY_PKG_VER}-jinja2" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-msgpack python${PY_PKG_VER}-requests python${PY_PKG_VER}-zmq" - - # shellcheck disable=SC2086 - dnf install -y ${__PACKAGES} || return 1 - - if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then - dnf -y update || return 1 - fi - if [ "${_EXTRA_PACKAGES}" != "" ]; then echoinfo "Installing the following extra packages as requested: ${_EXTRA_PACKAGES}" - # shellcheck disable=SC2086 - dnf install -y ${_EXTRA_PACKAGES} || return 1 fi + # shellcheck disable=SC2086 + dnf install -y ${__PACKAGES} ${_EXTRA_PACKAGES} || return 1 + return 0 } @@ -3494,36 +3496,38 @@ install_fedora_git_deps() { PY_PKG_VER=2 fi + __PACKAGES="${__PACKAGES:=}" if [ "$_INSECURE_DL" -eq $BS_FALSE ] && [ "${_SALT_REPO_URL%%://*}" = "https" ]; then - dnf install -y ca-certificates || return 1 + __PACKAGES="${__PACKAGES} ca-certificates" + fi + if ! __check_command_exists git; then + __PACKAGES="${__PACKAGES} git" + fi + if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-libcloud python${PY_PKG_VER}-netaddr" + fi + __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-systemd" + + # Fedora 28+ ships with tornado 5.0+ which is broken for salt on py3 + # https://github.com/saltstack/salt-bootstrap/issues/1220 + if [ "${PY_PKG_VER}" -lt 3 ] || [ "$DISTRO_MAJOR_VERSION" -lt 28 ]; then + __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-tornado" fi install_fedora_deps || return 1 - if ! __check_command_exists git; then - dnf install -y git || return 1 - fi - __git_clone_and_checkout || return 1 - __PACKAGES="python${PY_PKG_VER}-systemd" + # Fedora 28+ needs tornado <5.0 from pip + # https://github.com/saltstack/salt-bootstrap/issues/1220 if [ "${PY_PKG_VER}" -eq 3 ] && [ "$DISTRO_MAJOR_VERSION" -ge 28 ]; then __check_pip_allowed "You need to allow pip based installations (-P) for Tornado <5.0 in order to install Salt on Python 3" grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" | while IFS=' ' read -r dep; do "${_PY_EXE}" -m pip install "${dep}" || return 1 done - else - __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-tornado" fi - if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ]; then - __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-libcloud python${PY_PKG_VER}-netaddr" - fi - - # shellcheck disable=SC2086 - dnf install -y ${__PACKAGES} || return 1 - # Let's trigger config_salt() if [ "$_TEMP_CONFIG_DIR" = "null" ]; then _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" @@ -4681,6 +4685,138 @@ install_amazon_linux_ami_git_deps() { return 0 } +install_amazon_linux_ami_2_git_deps() { + if [ "$_INSECURE_DL" -eq $BS_FALSE ] && [ "${_SALT_REPO_URL%%://*}" = "https" ]; then + yum -y install ca-certificates || return 1 + fi + + PIP_EXE='pip' + if __check_command_exists python2.7; then + if ! __check_command_exists pip2.7; then + __yum_install_noinput python2-pip + fi + PIP_EXE='/bin/pip' + _PY_EXE='python2.7' + fi + + install_amazon_linux_ami_2_deps || return 1 + + if ! __check_command_exists git; then + __yum_install_noinput git || return 1 + fi + + __git_clone_and_checkout || return 1 + + __PACKAGES="" + __PIP_PACKAGES="" + + if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ]; then + __check_pip_allowed "You need to allow pip based installations (-P) in order to install apache-libcloud" + __PACKAGES="${__PACKAGES} python27-pip" + __PIP_PACKAGES="${__PIP_PACKAGES} apache-libcloud>=$_LIBCLOUD_MIN_VERSION" + fi + + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then + # We're on the develop branch, install whichever tornado is on the requirements file + __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" + if [ "${__REQUIRED_TORNADO}" != "" ]; then + __PACKAGES="${__PACKAGES} ${pkg_append}-tornado" + fi + fi + + if [ "${__PACKAGES}" != "" ]; then + # shellcheck disable=SC2086 + __yum_install_noinput ${__PACKAGES} || return 1 + fi + + if [ "${__PIP_PACKAGES}" != "" ]; then + # shellcheck disable=SC2086 + ${PIP_EXE} install ${__PIP_PACKAGES} || return 1 + fi + + # Let's trigger config_salt() + if [ "$_TEMP_CONFIG_DIR" = "null" ]; then + _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" + CONFIG_SALT_FUNC="config_salt" + fi + + return 0 +} + +install_amazon_linux_ami_2_deps() { + # Shim to figure out if we're using old (rhel) or new (aws) rpms. + _USEAWS=$BS_FALSE + pkg_append="python" + + if [ "$ITYPE" = "stable" ]; then + repo_rev="$STABLE_REV" + else + repo_rev="latest" + fi + + if echo $repo_rev | grep -E -q '^archive'; then + year=$(echo "$repo_rev" | cut -d '/' -f 2 | cut -c1-4) + else + year=$(echo "$repo_rev" | cut -c1-4) + fi + + if echo "$repo_rev" | grep -E -q '^(latest|2016\.11)$' || \ + [ "$year" -gt 2016 ]; then + _USEAWS=$BS_TRUE + pkg_append="python" + fi + + # We need to install yum-utils before doing anything else when installing on + # Amazon Linux ECS-optimized images. See issue #974. + __yum_install_noinput yum-utils + + # Do upgrade early + if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then + yum -y update || return 1 + fi + + if [ $_DISABLE_REPOS -eq $BS_FALSE ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then + __REPO_FILENAME="saltstack-repo.repo" + + base_url="$HTTP_VAL://${_REPO_URL}/yum/redhat/7/\$basearch/$repo_rev/" + base_url="$HTTP_VAL://${_REPO_URL}/yum/amazon/2/\$basearch/latest/" + gpg_key="${base_url}SALTSTACK-GPG-KEY.pub + ${base_url}base/RPM-GPG-KEY-CentOS-7" + repo_name="SaltStack repo for Amazon Linux 2.0" + + # This should prob be refactored to use __install_saltstack_rhel_repository() + # With args passed in to do the right thing. Reformatted to be more like the + # amazon linux yum file. + if [ ! -s "/etc/yum.repos.d/${__REPO_FILENAME}" ]; then + cat <<_eof > "/etc/yum.repos.d/${__REPO_FILENAME}" +[saltstack-repo] +name=$repo_name +failovermethod=priority +priority=10 +gpgcheck=1 +gpgkey=$gpg_key +baseurl=$base_url +_eof + fi + + fi + + # Package python-ordereddict-1.1-2.el6.noarch is obsoleted by python26-2.6.9-2.88.amzn1.x86_64 + # which is already installed + __PACKAGES="m2crypto ${pkg_append}-crypto ${pkg_append}-jinja2 PyYAML" + __PACKAGES="${__PACKAGES} ${pkg_append}-msgpack ${pkg_append}-requests ${pkg_append}-zmq" + __PACKAGES="${__PACKAGES} ${pkg_append}-futures" + + # shellcheck disable=SC2086 + __yum_install_noinput ${__PACKAGES} || return 1 + + if [ "${_EXTRA_PACKAGES}" != "" ]; then + echoinfo "Installing the following extra packages as requested: ${_EXTRA_PACKAGES}" + # shellcheck disable=SC2086 + __yum_install_noinput ${_EXTRA_PACKAGES} || return 1 + fi +} + install_amazon_linux_ami_stable() { install_centos_stable || return 1 return 0 @@ -4715,6 +4851,41 @@ install_amazon_linux_ami_testing_post() { install_centos_testing_post || return 1 return 0 } + +install_amazon_linux_ami_2_stable() { + install_centos_stable || return 1 + return 0 +} + +install_amazon_linux_ami_2_stable_post() { + install_centos_stable_post || return 1 + return 0 +} + +install_amazon_linux_ami_2_restart_daemons() { + install_centos_restart_daemons || return 1 + return 0 +} + +install_amazon_linux_ami_2_git() { + install_centos_git || return 1 + return 0 +} + +install_amazon_linux_ami_2_git_post() { + install_centos_git_post || return 1 + return 0 +} + +install_amazon_linux_ami_2_testing() { + install_centos_testing || return 1 + return 0 +} + +install_amazon_linux_ami_2_testing_post() { + install_centos_testing_post || return 1 + return 0 +} # # Ended Amazon Linux AMI Install Functions # @@ -5336,7 +5507,8 @@ install_openbsd_restart_daemons() { # SmartOS Install Functions # install_smartos_deps() { - pkgin -y install zeromq py27-crypto py27-m2crypto py27-msgpack py27-yaml py27-jinja2 py27-zmq py27-requests || return 1 + smartos_deps="$(pkgin show-deps salt | grep '^\s' | grep -v '\snot' | xargs) py27-m2crypto" + pkgin -y install "${smartos_deps}" || return 1 # Set _SALT_ETC_DIR to SmartOS default if they didn't specify _SALT_ETC_DIR=${BS_SALT_ETC_DIR:-/opt/local/etc/salt} From fcc0a70ebe11fd583d842eb98207069761e8194f Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" <dwozniak@saltstack.com> Date: Tue, 8 Jan 2019 10:02:05 -0700 Subject: [PATCH 09/16] Fix typo in method name --- salt/utils/cloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/salt/utils/cloud.py b/salt/utils/cloud.py index fa043fa28d..5361161c53 100644 --- a/salt/utils/cloud.py +++ b/salt/utils/cloud.py @@ -884,7 +884,7 @@ class Client(object): def create_service(self): return self._client.create_service() - def run_executabe(self, *args, **kwargs): + def run_executable(self, *args, **kwargs): return self._client.run_executable(*args, **kwargs) def remove_service(self, wait_timeout=10, sleep_wait=1): From ee77f7cef90538ac30922201ca1ece97c0b91250 Mon Sep 17 00:00:00 2001 From: Wayne Werner <wwerner@saltstack.com> Date: Mon, 7 Jan 2019 15:08:48 -0600 Subject: [PATCH 10/16] Set encoding when reading the README.rst Apparently there are some unicode sequences in the setup.py that cause issues for some people. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 47378f8b96..bb4557218e 100755 --- a/setup.py +++ b/setup.py @@ -855,7 +855,7 @@ class SaltDistribution(distutils.dist.Distribution): self.name = 'salt-ssh' if PACKAGED_FOR_SALT_SSH else 'salt' self.salt_version = __version__ # pylint: disable=undefined-variable self.description = 'Portable, distributed, remote execution and configuration management system' - with open(SALT_LONG_DESCRIPTION_FILE) as f: + with open(SALT_LONG_DESCRIPTION_FILE, encoding='utf-8') as f: self.long_description = f.read() self.long_description_content_type = 'text/x-rst' self.author = 'Thomas S Hatch' From 77101ed4fcb814597db6d4af60c5111bb24bd41d Mon Sep 17 00:00:00 2001 From: Ch3LL <megan.wilhite@gmail.com> Date: Wed, 9 Jan 2019 12:21:36 -0500 Subject: [PATCH 11/16] Handle encoding when opening file for both py2/py3 --- README.rst | 2 +- setup.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 82c72f43c6..0f05649a96 100644 --- a/README.rst +++ b/README.rst @@ -2,7 +2,7 @@ What is SaltStack? ================== -SaltStack makes software for complex systems management at scale. +SaltStack makes software for complex systems management at scale. SaltStack is the company that created and maintains the Salt Open project and develops and sells SaltStack Enterprise software, services and support. Easy enough to get running in minutes, scalable enough to diff --git a/setup.py b/setup.py index bb4557218e..4ec76899d1 100755 --- a/setup.py +++ b/setup.py @@ -855,7 +855,10 @@ class SaltDistribution(distutils.dist.Distribution): self.name = 'salt-ssh' if PACKAGED_FOR_SALT_SSH else 'salt' self.salt_version = __version__ # pylint: disable=undefined-variable self.description = 'Portable, distributed, remote execution and configuration management system' - with open(SALT_LONG_DESCRIPTION_FILE, encoding='utf-8') as f: + kwargs = {} + if IS_PY3: + kwargs['encoding'] = 'utf-8' + with open(SALT_LONG_DESCRIPTION_FILE, **kwargs) as f: self.long_description = f.read() self.long_description_content_type = 'text/x-rst' self.author = 'Thomas S Hatch' From 9992eb40c1c750a631148bad807034fc768f3b20 Mon Sep 17 00:00:00 2001 From: twangboy <slee@saltstack.com> Date: Wed, 9 Jan 2019 16:08:57 -0700 Subject: [PATCH 12/16] Update python to 2.7.15 and 3.5.4 for Windows installers --- pkg/windows/clean_env.bat | 12 ++++++++++++ pkg/windows/modules/get-settings.psm1 | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pkg/windows/clean_env.bat b/pkg/windows/clean_env.bat index 4c06216cdb..761a5e55b2 100644 --- a/pkg/windows/clean_env.bat +++ b/pkg/windows/clean_env.bat @@ -37,6 +37,10 @@ goto CheckPython3 MsiExec.exe /X {0398A685-FD8D-46B3-9816-C47319B0CF5E} /QN echo %0 :: - 2.7.14 (64 bit) MsiExec.exe /X {0398A685-FD8D-46B3-9816-C47319B0CF5F} /QN + echo %0 :: - 2.7.15 (32 bit) + MsiExec.exe /X {16CD92A4-0152-4CB7-8FD6-9788D3363616} /QN + echo %0 :: - 2.7.15 (64 bit) + MsiExec.exe /X {16CD92A4-0152-4CB7-8FD6-9788D3363617} /QN echo. @@ -63,12 +67,20 @@ goto eof echo %0 :: - 3.5.3 64bit "%LOCALAPPDATA%\Package Cache\{b94f45d6-8461-440c-aa4d-bf197b2c2499}\python-3.5.3-amd64.exe" /uninstall /quiet ) + if exist "%LOCALAPPDATA%\Package Cache\{5d57524f-af24-49a7-b90b-92138880481e}" ( + echo %0 :: - 3.5.4 64bit + "%LOCALAPPDATA%\Package Cache\{5d57524f-af24-49a7-b90b-92138880481e}\python-3.5.4-amd64.exe" /uninstall /quiet + ) :: 32 bit if exist "%LOCALAPPDATA%\Package Cache\{a10037e1-4247-47c9-935b-c5ca049d0299}" ( echo %0 :: - 3.5.3 32bit "%LOCALAPPDATA%\Package Cache\{a10037e1-4247-47c9-935b-c5ca049d0299}\python-3.5.3" /uninstall /quiet ) + if exist "%LOCALAPPDATA%\Package Cache\{06e841fa-ca3b-4886-a820-cd32c614b0c1}" ( + echo %0 :: - 3.5.4 32bit + "%LOCALAPPDATA%\Package Cache\{06e841fa-ca3b-4886-a820-cd32c614b0c1}\python-3.5.4" /uninstall /quiet + ) rem wipe the Python directory echo %0 :: Removing the C:\Python35 Directory ... diff --git a/pkg/windows/modules/get-settings.psm1 b/pkg/windows/modules/get-settings.psm1 index a02fa5c6ea..5c8c95b6cf 100644 --- a/pkg/windows/modules/get-settings.psm1 +++ b/pkg/windows/modules/get-settings.psm1 @@ -54,15 +54,15 @@ Function Get-Settings { # Filenames for 64 bit Windows $64bitPrograms = @{ - "Python2" = "python-2.7.14.amd64.msi" - "Python3" = "python-3.5.3-amd64.exe" + "Python2" = "python-2.7.15.amd64.msi" + "Python3" = "python-3.5.4-amd64.exe" } $ini.Add("64bitPrograms", $64bitPrograms) # Filenames for 32 bit Windows $32bitPrograms = @{ - "Python2" = "python-2.7.14.msi" - "Python3" = "python-3.5.3.exe" + "Python2" = "python-2.7.15.msi" + "Python3" = "python-3.5.4.exe" } $ini.Add("32bitPrograms", $32bitPrograms) From 6f42ddaf45aad1baacd6eee5883024678c7cd543 Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" <dwozniak@saltstack.com> Date: Wed, 9 Jan 2019 16:19:17 -0700 Subject: [PATCH 13/16] Fix mysql query test failure --- salt/modules/mysql.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/salt/modules/mysql.py b/salt/modules/mysql.py index 64c773f40a..de8916f4f2 100644 --- a/salt/modules/mysql.py +++ b/salt/modules/mysql.py @@ -58,7 +58,7 @@ try: import MySQLdb.cursors import MySQLdb.converters from MySQLdb.constants import FIELD_TYPE, FLAG - from MySQLdb.connections import OperationalError + from MySQLdb import OperationalError except ImportError: try: # MySQLdb import failed, try to import PyMySQL @@ -68,7 +68,7 @@ except ImportError: import MySQLdb.cursors import MySQLdb.converters from MySQLdb.constants import FIELD_TYPE, FLAG - from MySQLdb.err import OperationalError + from MySQLdb import OperationalError except ImportError: MySQLdb = None From 2518beaf87feb39d03164d30feff37b6dea2c2ef Mon Sep 17 00:00:00 2001 From: "Daniel A. Wozniak" <dwozniak@saltstack.com> Date: Fri, 11 Jan 2019 12:39:20 -0700 Subject: [PATCH 14/16] Mark renderer test as flaky for mac tests --- tests/integration/states/test_renderers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/states/test_renderers.py b/tests/integration/states/test_renderers.py index e5d36ae193..e7d2a47f26 100644 --- a/tests/integration/states/test_renderers.py +++ b/tests/integration/states/test_renderers.py @@ -8,6 +8,7 @@ from __future__ import absolute_import, unicode_literals, print_function # Import Salt Testing libs from tests.support.case import ModuleCase +from tests.support.helpers import flaky class TestJinjaRenderer(ModuleCase): @@ -22,6 +23,7 @@ class TestJinjaRenderer(ModuleCase): for state_ret in ret.values(): self.assertTrue(state_ret['result']) + @flaky def test_salt_contains_function(self): ''' Test if we are able to check if a function exists inside the "salt" From 36c32cd1f0fb9353d9e52224031fb8c65a999a2c Mon Sep 17 00:00:00 2001 From: Brian Sidebotham <brian.sidebotham@gmail.com> Date: Fri, 28 Dec 2018 15:38:44 +0000 Subject: [PATCH 15/16] Prevent valid return from virt-what creating unhandled exceptions --- salt/grains/core.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/salt/grains/core.py b/salt/grains/core.py index f0f1bd17c4..f05276c954 100644 --- a/salt/grains/core.py +++ b/salt/grains/core.py @@ -784,7 +784,10 @@ def _virtual(osdata): grains['virtual'] = 'LXC' break elif command == 'virt-what': - output = output.splitlines()[-1] + try: + output = output.splitlines()[-1] + except IndexError: + pass if output in ('kvm', 'qemu', 'uml', 'xen', 'lxc'): grains['virtual'] = output break From 734db2f686861fb6700a756ea9561282951e653e Mon Sep 17 00:00:00 2001 From: Erik Johnson <palehose@gmail.com> Date: Wed, 16 Jan 2019 10:09:25 -0600 Subject: [PATCH 16/16] Fix Python 3 incompatibility in EC2 salt-cloud driver --- salt/cloud/clouds/ec2.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/salt/cloud/clouds/ec2.py b/salt/cloud/clouds/ec2.py index b5633f3ed4..fadecc61b7 100644 --- a/salt/cloud/clouds/ec2.py +++ b/salt/cloud/clouds/ec2.py @@ -97,6 +97,7 @@ import decimal # Import Salt Libs import salt.utils.cloud +import salt.utils.compat import salt.utils.files import salt.utils.hashutils import salt.utils.json @@ -1225,7 +1226,7 @@ def get_imageid(vm_): _t = lambda x: datetime.datetime.strptime(x['creationDate'], '%Y-%m-%dT%H:%M:%S.%fZ') image_id = sorted(aws.query(params, location=get_location(), provider=get_provider(), opts=__opts__, sigver='4'), - lambda i, j: cmp(_t(i), _t(j)) + lambda i, j: salt.utils.compat.cmp(_t(i), _t(j)) )[-1]['imageId'] get_imageid.images[image] = image_id return image_id