From 5328bc8d99dbb41c8165b6cb5c9f09dc298911b2 Mon Sep 17 00:00:00 2001 From: Nicole Thomas Date: Mon, 31 Oct 2016 13:09:01 -0600 Subject: [PATCH] Update man pages for 2016.11 (#37354) --- doc/man/salt-api.1 | 2 +- doc/man/salt-call.1 | 2 +- doc/man/salt-cloud.1 | 2 +- doc/man/salt-cp.1 | 5 +- 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 | 2 +- doc/man/salt-syndic.1 | 2 +- doc/man/salt-unity.1 | 2 +- doc/man/salt.1 | 2 +- doc/man/salt.7 | 38335 +++++++++++++++++++++++++++++++++------- doc/man/spm.1 | 2 +- 15 files changed, 31963 insertions(+), 6403 deletions(-) diff --git a/doc/man/salt-api.1 b/doc/man/salt-api.1 index a96f996d92..807ac41119 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-API" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-api \- salt-api Command . diff --git a/doc/man/salt-call.1 b/doc/man/salt-call.1 index e3349d5bb0..41a665d608 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-CALL" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-call \- salt-call Documentation . diff --git a/doc/man/salt-cloud.1 b/doc/man/salt-cloud.1 index f492d8bde6..8510320f86 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-CLOUD" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-cloud \- Salt Cloud Command . diff --git a/doc/man/salt-cp.1 b/doc/man/salt-cp.1 index 4899c55322..0f3a173d6e 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-CP" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-cp \- salt-cp Documentation . @@ -52,6 +52,9 @@ salt\-cp \-G \(aqos:Arch.*\(aq [ options ] SOURCE DEST Salt copy copies a local file out to all of the Salt minions matched by the given target. .sp +Salt copy is only intended for use with small files (< 100KB). If you need +to copy large files out to minions please use the cp.get_file function. +.sp Note: salt\-cp uses salt\(aqs publishing mechanism. This means the privacy of the contents of the file on the wire is completely dependent upon the transport in use. In addition, if the salt\-master is running with debug logging it is diff --git a/doc/man/salt-key.1 b/doc/man/salt-key.1 index d5bd12c6a3..a1e16fa6eb 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-KEY" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-key \- salt-key Documentation . diff --git a/doc/man/salt-master.1 b/doc/man/salt-master.1 index 8ec76b81ae..105d04d5ea 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-MASTER" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-master \- salt-master Documentation . diff --git a/doc/man/salt-minion.1 b/doc/man/salt-minion.1 index 611715a78c..9e16a069cf 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-MINION" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-minion \- salt-minion Documentation . diff --git a/doc/man/salt-proxy.1 b/doc/man/salt-proxy.1 index ef3fad936a..3af73a1563 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-PROXY" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-proxy \- salt-proxy Documentation . diff --git a/doc/man/salt-run.1 b/doc/man/salt-run.1 index f6a27fa9b2..0a19ddd278 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-RUN" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-run \- salt-run Documentation . diff --git a/doc/man/salt-ssh.1 b/doc/man/salt-ssh.1 index 84bf7f6cc5..1a7544f799 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-SSH" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-ssh \- salt-ssh Documentation . diff --git a/doc/man/salt-syndic.1 b/doc/man/salt-syndic.1 index ee744c448a..96a2c67358 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-SYNDIC" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-syndic \- salt-syndic Documentation . diff --git a/doc/man/salt-unity.1 b/doc/man/salt-unity.1 index 0499431d5c..79d35b0205 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" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT-UNITY" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt-unity \- salt-unity Command . diff --git a/doc/man/salt.1 b/doc/man/salt.1 index 6a9bbad269..08d9c369d6 100644 --- a/doc/man/salt.1 +++ b/doc/man/salt.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "1" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt \- salt . diff --git a/doc/man/salt.7 b/doc/man/salt.7 index 4395234bb9..3de4664771 100644 --- a/doc/man/salt.7 +++ b/doc/man/salt.7 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SALT" "7" "October 26, 2016" "2016.3.4" "Salt" +.TH "SALT" "7" "October 31, 2016" "2016.11.0" "Salt" .SH NAME salt \- Salt Documentation . @@ -1489,10 +1489,9 @@ more than one package name may be given at a time: Now go to the \fBConfiguring Salt\fP page. .SS Windows .sp -Salt has full support for running the Salt Minion on Windows. -.sp -You must connect Windows Salt minions to a Salt master on a supported operating -system to control your Salt Minions. +Salt has full support for running the Salt minion on Windows. You must connect +Windows Salt minions to a Salt master on a supported operating system to +control your Salt Minions. .sp Many of the standard Salt modules have been ported to work on Windows and many of the Salt States currently work on Windows as well. @@ -1521,9 +1520,15 @@ The 64bit installer has been tested on Windows 7 64bit and Windows Server Please file a bug report on our GitHub repo if issues for other platforms are found. .sp -The installer asks for 2 bits of information; the master hostname and the -minion name. The installer will update the minion config with these options and -then start the minion. +The installer will detect previous installations of Salt and ask if you would +like to remove them. Clicking OK will remove the Salt binaries and related +files but leave any existing config, cache, and PKI information. +.sp +The installer asks for two additional bits of information to configure the +minion; the master hostname and the minion name. The installer will update the +minion config with these options. +.sp +The final page allows you to select which services to start. .sp The \fBsalt\-minion\fP service will appear in the Windows Service Manager and can be started and stopped there or with the command line program \fBsc\fP like any @@ -1547,45 +1552,43 @@ redistributable. Allow all Windows updates to run salt\-minion smoothly. The installer can be run silently by providing the \fB/S\fP option at the command line. The installer also accepts the following options for configuring the Salt Minion silently: -.TS -center; -|l|l|. -_ -T{ -Option -T} T{ -Description -T} -_ -T{ -\fB/minion\-name=\fP -T} T{ -A string value to set the minion name. Default is \(aqhostname\(aq -T} -_ -T{ -\fB/master=\fP -T} T{ -A string value to set the IP address or host name of the -master. Default value is \fBsalt\fP\&. -T} -_ -T{ -\fB/start\-service=\fP -T} T{ -Either a 1 or 0. \(aq1\(aq will start the service, \(aq0\(aq will not. -Default is to start the service after installation. -T} -_ -.TE +.INDENT 0.0 +.IP \(bu 2 +\fI/master=\fP A string value to set the IP address or host name of the master. Default value is \(aqsalt\(aq +.IP \(bu 2 +\fI/minion\-name=\fP A string value to set the minion name. Default is \(aqhostname\(aq +.IP \(bu 2 +\fI/start\-minion=\fP Either a 1 or 0. \(aq1\(aq will start the salt\-minion service, \(aq0\(aq will not. Default is to start the service after installation. +.UNINDENT .sp -Here\(aqs an example of using the silent installer: +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +\fI/start\-service\fP has been deprecated but will continue to function as expected for the time being. +.UNINDENT +.UNINDENT +.sp +Here are some examples of using the silent installer: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -Salt\-Minion\-2016.3.3\-Setup\-amd64.exe /S /master=yoursaltmaster /minion\-name=yourminionname /start\-service=0 +# Will install the minion and start the service + +*\-Setup\-*.exe /S /master=yoursaltmaster /minion\-name=yourminionname +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Will install the minion but will NOT start the salt\-minion service + +*\-Setup\-*.exe /S /master=yoursaltmaster /minion\-name=yourminionname /start\-minion=0 .ft P .fi .UNINDENT @@ -5068,8 +5071,9 @@ New in version 2015.5.0. .sp Default: \fB\(aq\(aq\fP .sp -Specify the returner to use to log events. A returner may have installation and -configuration requirements. Read the returner\(aqs documentation. +Specify the returner(s) to use to log events. Each returner may have +installation and configuration requirements. Read the returner\(aqs +documentation. .sp \fBNOTE:\fP .INDENT 0.0 @@ -5083,7 +5087,9 @@ Not all returners support event returns. Verify that a returner has an .sp .nf .ft C -event_return: cassandra_cql +event_return: + \- syslog + \- splunk .ft P .fi .UNINDENT @@ -5117,6 +5123,9 @@ New in version 2015.5.0. Default: \fB[]\fP .sp Only return events matching tags in a whitelist. +.sp +Changed in version 2016.11.0: Supports glob matching patterns. + .INDENT 0.0 .INDENT 3.5 .sp @@ -5124,7 +5133,7 @@ Only return events matching tags in a whitelist. .ft C event_return_whitelist: \- salt/master/a_tag - \- salt/master/another_tag + \- salt/run/*/ret .ft P .fi .UNINDENT @@ -5137,6 +5146,9 @@ New in version 2015.5.0. Default: \fB[]\fP .sp Store all event returns _except_ the tags in a blacklist. +.sp +Changed in version 2016.11.0: Supports glob matching patterns. + .INDENT 0.0 .INDENT 3.5 .sp @@ -5144,7 +5156,7 @@ Store all event returns _except_ the tags in a blacklist. .ft C event_return_blacklist: \- salt/master/not_this_tag - \- salt/master/or_this_one + \- salt/wheel/*/ret .ft P .fi .UNINDENT @@ -5332,12 +5344,28 @@ overridden on a per\-minion basis in the roster (\fBminion_opts\fP) .sp .nf .ft C -minion_opts: +ssh_minion_opts: gpg_keydir: /root/gpg .ft P .fi .UNINDENT .UNINDENT +.SS \fBssh_use_home_key\fP +.sp +Default: False +.sp +Set this to True to default to using \fB~/.ssh/id_rsa\fP for salt\-ssh +authentication with minions +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ssh_use_home_key: False +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBthin_extra_mods\fP .sp Default: None @@ -5501,6 +5529,29 @@ token_expire: 43200 .fi .UNINDENT .UNINDENT +.SS \fBtoken_expire_user_override\fP +.sp +Default: \fBFalse\fP +.sp +Allow eauth users to specify the expiry time of the tokens they generate. +.sp +A boolean applies to all users or a dictionary of whitelisted eauth backends +and usernames may be given: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +token_expire_user_override: + pam: + \- fred + \- tom + ldap: + \- gary +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBfile_recv\fP .sp Default: \fBFalse\fP @@ -5891,6 +5942,22 @@ test: False .fi .UNINDENT .UNINDENT +.SS \fBrunner_returns\fP +.sp +Default: \fBFalse\fP +.sp +If set to \fBTrue\fP, runner jobs will be saved to job cache (defined by +\fI\%master_job_cache\fP). +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +runner_returns: True +.ft P +.fi +.UNINDENT +.UNINDENT .SS Master File Server Settings .SS \fBfileserver_backend\fP .sp @@ -5987,6 +6054,43 @@ fileserver_limit_traversal: False .fi .UNINDENT .UNINDENT +.SS \fBfileserver_list_cache_time\fP +.sp +New in version 2014.1.0. + +.sp +Changed in version 2016.11.0: The default was changed from \fB30\fP seconds to \fB20\fP\&. + +.sp +Default: \fB20\fP +.sp +Salt caches the list of files/symlinks/directories for each fileserver backend +and environment as they are requested, to guard against a performance +bottleneck at scale when many minions all ask the fileserver which files are +available simultaneously. This configuration parameter allows for the max age +of that cache to be altered. +.sp +Set this value to \fB0\fP to disable use of this cache altogether, but keep in +mind that this may increase the CPU load on the master when running a highstate +on a large number of minions. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Rather than altering this configuration parameter, it may be advisable to +use the \fBfileserver.clear_list_cache\fP runner to clear these caches. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +fileserver_list_cache_time: 5 +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBhash_type\fP .sp Default: \fBmd5\fP @@ -6184,13 +6288,19 @@ gitfs_provider: dulwich .UNINDENT .SS \fBgitfs_ssl_verify\fP .sp -Default: \fBFalse\fP +Changed in version 2016.11.0. + +.sp +Default: \fBTrue\fP .sp Specifies whether or not to ignore SSL certificate errors when contacting the remote repository. The \fBFalse\fP setting is useful if you\(aqre using a git repo that uses a self\-signed certificate. However, keep in mind that setting this to anything other \fBTrue\fP is a considered insecure, and using an SSH\-based transport (if available) may be a better option. +.sp +In the 2016.11.0 release, the default config value changed from \fBFalse\fP to +\fBTrue\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -6274,6 +6384,31 @@ gitfs_base: salt .sp Changed in version 2014.7.0: Ability to specify the base on a per\-remote basis was added. See here for more info. +.SS \fBgitfs_saltenv\fP +.sp +New in version 2016.11.0. + +.sp +Default: \fB[]\fP +.sp +Global settings for per\-saltenv configuration parameters\&. Though per\-saltenv configuration parameters are +typically one\-off changes specific to a single gitfs remote, and thus more +often configured on a per\-remote basis, this parameter can be used to specify +per\-saltenv changes which should apply to all remotes. For example, the below +configuration will map the \fBdevelop\fP branch to the \fBdev\fP saltenv for all +gitfs remotes. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +gitfs_saltenv: + \- dev: + \- ref: develop +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBgitfs_env_whitelist\fP .sp New in version 2014.7.0. @@ -7135,6 +7270,27 @@ ext_pillar: .UNINDENT .sp There are additional details at salt\-pillars +.SS \fBpillar_roots_override_ext_pillar\fP +.sp +New in version 2016.11.0. + +.sp +Default: \fBFalse\fP +.sp +This option allows for external pillar sources to be evaluated before +\fI\%pillar_roots\fP, which means that values obtained from +\fI\%pillar_roots\fP take precedence over those found from +\fI\%ext_pillar\fP sources. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +pillar_roots_override_ext_pillar: False +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBext_pillar_first\fP .sp New in version 2015.5.0. @@ -7144,7 +7300,8 @@ Default: \fBFalse\fP .sp This option allows for external pillar sources to be evaluated before \fI\%pillar_roots\fP\&. This allows for targeting file system pillar from -ext_pillar. +ext_pillar. Note that ext_pillar_first option is deprecated by +pillar_roots_override_ext_pillar option and will be removed in future releases. .INDENT 0.0 .INDENT 3.5 .sp @@ -7155,6 +7312,16 @@ ext_pillar_first: False .fi .UNINDENT .UNINDENT +.SS \fBpillar_raise_on_missing\fP +.sp +New in version 2015.5.0. + +.sp +Default: \fBFalse\fP +.sp +Set this option to \fBTrue\fP to force a \fBKeyError\fP to be raised whenever an +attempt to retrieve a named value from pillar fails. When this option is set +to \fBFalse\fP, the failed attempt returns an empty string. .SS Git External Pillar (git_pillar) Configuration Options .SS \fBgit_pillar_provider\fP .sp @@ -7320,6 +7487,9 @@ pillar data would be retrieved from the \fBpillar\fP subdirectory. .sp New in version 2015.8.0. +.sp +Changed in version 2016.11.0. + .sp Default: \fBFalse\fP .sp @@ -7328,6 +7498,9 @@ remote repository. The \fBFalse\fP setting is useful if you\(aqre using a git repo that uses a self\-signed certificate. However, keep in mind that setting this to anything other \fBTrue\fP is a considered insecure, and using an SSH\-based transport (if available) may be a better option. +.sp +In the 2016.11.0 release, the default config value changed from \fBFalse\fP to +\fBTrue\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -8420,6 +8593,9 @@ ext_pillar: .sp New in version 2015.8.0. +.sp +Changed in version 2016.11.0. + .sp Default: \fBFalse\fP .sp @@ -8428,6 +8604,9 @@ remote repository. The \fBFalse\fP setting is useful if you\(aqre using a git repo that uses a self\-signed certificate. However, keep in mind that setting this to anything other \fBTrue\fP is a considered insecure, and using an SSH\-based transport (if available) may be a better option. +.sp +In the 2016.11.0 release, the default config value changed from \fBFalse\fP to +\fBTrue\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -8658,8 +8837,8 @@ New in version 2014.7.0. .sp Default: \fBstr\fP .sp -The type of the \fI\%master\fP variable. Can be \fBstr\fP, \fBfailover\fP or -\fBfunc\fP\&. +The type of the \fI\%master\fP variable. Can be \fBstr\fP, \fBfailover\fP, +\fBfunc\fP or \fBdisable\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -8692,6 +8871,19 @@ of reading in the static master value, set this to \fBfunc\fP\&. This can be use to manage the minion\(aqs master setting from an execution module. By simply changing the algorithm in the module to return a new master ip/fqdn, restart the minion and it will connect to the new master. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +master_type: disable +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If you just want to run a masterless minion, this can be set and the minion +will never attempt to talk to the master. .SS \fBmax_event_size\fP .sp New in version 2014.7.0. @@ -9532,6 +9724,42 @@ recon_randomize: True .fi .UNINDENT .UNINDENT +.SS \fBloop_interval\fP +.sp +Default: \fB1\fP +.sp +The loop_interval sets how long in seconds the minion will wait between +evaluating the scheduler and running cleanup tasks. This defaults to 1 +second on the minion scheduler. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +loop_interval: 1 +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBpub_ret\fP +.sp +Default: True +.sp +Some installations choose to start all job returns in a cache or a returner +and forgo sending the results back to a master. In this workflow, jobs +are most often executed with \-\-async from the Salt CLI and then results +are evaluated by examining job caches on the minions or any configured returners. +WARNING: Setting this to False will \fBdisable\fP returns back to the master. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +pub_ret: True +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBreturn_retry_timer\fP .sp Default: \fB5\fP @@ -9764,6 +9992,30 @@ disable_returners: .fi .UNINDENT .UNINDENT +.SS \fBwhitelist_modules\fP +.sp +Default: \fB[]\fP (Module whitelisting is disabled. Adding anything to the config option +will cause only the listed modules to be enabled. Modules not in the list will +not be loaded.) +.sp +This option is the reverse of disable_modules. +.sp +Note that this is a very large hammer and it can be quite difficult to keep the minion working +the way you think it should since Salt uses many modules internally itself. At a bare minimum +you need the following enabled or else the minion won\(aqt start. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +whitelist_modules: + \- cmdmod + \- test + \- config +.ft P +.fi +.UNINDENT +.UNINDENT .SS \fBmodule_dirs\fP .sp Default: \fB[]\fP @@ -10009,12 +10261,15 @@ highstate\&. .INDENT 0.0 .INDENT 3.5 Using this value does not change the merging strategy. For instance, if -\fI\%top_file_merging_strategy\fP is left at its default, and +\fI\%top_file_merging_strategy\fP is set to \fBmerge\fP, and \fI\%state_top_saltenv\fP is set to \fBfoo\fP, then any sections for environments other than \fBfoo\fP in the top file for the \fBfoo\fP environment will be ignored. With \fI\%state_top_saltenv\fP set to \fBbase\fP, all states from all environments in the \fBbase\fP top file will be applied, -while all other top files are ignored. +while all other top files are ignored. The only way to set +\fI\%state_top_saltenv\fP to something other than \fBbase\fP and not +have the other environments in the targeted top file ignored, would be to +set \fI\%top_file_merging_strategy\fP to \fBmerge_all\fP\&. .UNINDENT .UNINDENT .INDENT 0.0 @@ -10028,6 +10283,9 @@ state_top_saltenv: dev .UNINDENT .UNINDENT .SS \fBtop_file_merging_strategy\fP +.sp +Changed in version 2016.11.0: A \fBmerge_all\fP strategy has been added. + .sp Default: \fBmerge\fP .sp @@ -10036,12 +10294,16 @@ for a highstate, all environments\(aq top files are inspected. This config option determines how the SLS targets in those top files are handled. .sp -When set to the default value of \fBmerge\fP, all SLS files are interpreted. The -first target expression for a given environment is kept, and when the same -target expression is used in a different top file evaluated later, it is -ignored. The environments will be evaluated in no specific order, for greater -control over the order in which the environments are evaluated use -\fI\%env_order\fP\&. +When set to \fBmerge\fP, the \fBbase\fP environment\(aqs top file is evaluated first, +followed by the other environments\(aq top files. The first target expression +(e.g. \fB\(aq*\(aq\fP) for a given environment is kept, and when the same target +expression is used in a different top file evaluated later, it is ignored. +Because \fBbase\fP is evaluated first, it is authoritative. For example, if there +is a target for \fB\(aq*\(aq\fP for the \fBfoo\fP environment in both the \fBbase\fP and +\fBfoo\fP environment\(aqs top files, the one in the \fBfoo\fP environment would be +ignored. The environments will be evaluated in no specific order (aside from +\fBbase\fP coming first). For greater control over the order in which the +environments are evaluated, use \fI\%env_order\fP\&. .sp When set to \fBsame\fP, then for each environment, only that environment\(aqs top file is processed, with the others being ignored. For example, only the \fBdev\fP @@ -10050,6 +10312,12 @@ SLS targets defined for \fBdev\fP in the \fBbase\fP environment\(aqs (or any oth environment\(aqs) top file will be ignored. If an environment does not have a top file, then the top file from the \fI\%default_top\fP config parameter will be used as a fallback. +.sp +When set to \fBmerge_all\fP, then all states in all environments in all top files +will be applied. The order in which individual SLS files will be executed will +depend on the order in which the top files were evaluated, and the environments +will be evaluated in no specific order. For greater control over the order in +which the environments are evaluated, use \fI\%env_order\fP\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -10086,9 +10354,10 @@ env_order: Default: \fBbase\fP .sp When \fI\%top_file_merging_strategy\fP is set to \fBsame\fP, and no -environment is specified for a highstate, this -config option specifies a fallback environment in which to look for a top file -if an environment lacks one. +environment is specified for a highstate (i.e. +\fI\%environment\fP is not set for the minion), this config option +specifies a fallback environment in which to look for a top file if an +environment lacks one. .INDENT 0.0 .INDENT 3.5 .sp @@ -10099,6 +10368,43 @@ default_top: dev .fi .UNINDENT .UNINDENT +.SS \fBsnapper_states\fP +.sp +Default: False +.sp +The \fIsnapper_states\fP value is used to enable taking snapper snapshots before +and after salt state runs. This allows for state runs to be rolled back. +.sp +For snapper states to function properly snapper needs to be installed and +enabled. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +snapper_states: True +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBsnapper_states_config\fP +.sp +Default: \fBroot\fP +.sp +Snapper can execute based on a snapper configuration. The configuration +needs to be set up before snapper can use it. The default configuration +is \fBroot\fP, this default makes snapper run on SUSE systems using the +default configuration set up at install time. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +snapper_states_config: root +.ft P +.fi +.UNINDENT +.UNINDENT .SS File Directory Settings .SS \fBfile_client\fP .sp @@ -10298,6 +10604,16 @@ pillarenv: None .fi .UNINDENT .UNINDENT +.SS \fBpillar_raise_on_missing\fP +.sp +New in version 2015.5.0. + +.sp +Default: \fBFalse\fP +.sp +Set this option to \fBTrue\fP to force a \fBKeyError\fP to be raised whenever an +attempt to retrieve a named value from pillar fails. When this option is set +to \fBFalse\fP, the failed attempt returns an empty string. .SS \fBfile_recv_max_size\fP .sp New in version 2014.7.0. @@ -10415,6 +10731,69 @@ always_verify_signature: True .fi .UNINDENT .UNINDENT +.SS \fBcmd_blacklist_glob\fP +.sp +Default: \fB[]\fP +.sp +If \fI\%cmd_blacklist_glob\fP is enabled then any shell command called over +remote execution or via salt\-call will be checked against the glob matches found in +the \fIcmd_blacklist_glob\fP list and any matched shell command will be blocked. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This blacklist is only applied to direct executions made by the \fIsalt\fP and +\fIsalt\-call\fP commands. This does NOT blacklist commands called from states +or shell commands executed from other modules. +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +cmd_blacklist_glob: + \- \(aqrm * \(aq + \- \(aqcat /etc/* \(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBcmd_whitelist_glob\fP +.sp +Default: \fB[]\fP +.sp +If \fI\%cmd_whitelist_glob\fP is enabled then any shell command called over +remote execution or via salt\-call will be checked against the glob matches found in +the \fIcmd_whitelist_glob\fP list and any shell command NOT found in the list will be +blocked. If \fIcmd_whitelist_glob\fP is NOT SET, then all shell commands are permitted. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This whitelist is only applied to direct executions made by the \fIsalt\fP and +\fIsalt\-call\fP commands. This does NOT restrict commands called from states +or shell commands executed from other modules. +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +cmd_whitelist_glob: + \- \(aqls * \(aq + \- \(aqcat /etc/fstab\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .SS Thread Settings .sp Default: \fBTrue\fP @@ -10727,6 +11106,48 @@ update_restart_services: [\(aqsalt\-minion\(aq] .fi .UNINDENT .UNINDENT +.SS \fBwinrepo_cache_expire_min\fP +.sp +New in version 2016.11.0. + +.sp +Default: \fB0\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 +repo metadata if the age of the metadata is less than this value. The exception +to this is \fBpkg.refresh_db\fP, which +will always refresh the metadata, regardless of age. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +winrepo_cache_expire_min: 1800 +.ft P +.fi +.UNINDENT +.UNINDENT +.SS \fBwinrepo_cache_expire_max\fP +.sp +New in version 2016.11.0. + +.sp +Default: \fB21600\fP +.sp +If the windows repo metadata is older than this value, and the metadata is +needed by a function in the \fBwindows pkg module\fP, +the metadata will be refreshed. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +winrepo_cache_expire_max: 86400 +.ft P +.fi +.UNINDENT +.UNINDENT .SS Standalone Minion Windows Software Repo Settings .sp \fBIMPORTANT:\fP @@ -10877,6 +11298,13 @@ event that an error is introduced in the latest revision of the repo. # Directory used to store public key data: #pki_dir: /etc/salt/pki/master +# Key cache. Increases master speed for large numbers of accepted +# keys. Available options: \(aqsched\(aq. (Updates on a fixed schedule.) +# Note that enabling this feature means that minions will not be +# available to target for up to the length of the maintanence loop +# which by default is 60s. +#key_cache: \(aq\(aq + # Directory to store job and cache data: # This directory may contain sensitive data and should be protected accordingly. # @@ -10968,15 +11396,15 @@ event that an error is introduced in the latest revision of the repo. # By default, events are not queued. #event_return_queue: 0 -# Only return events matching tags in a whitelist, -# event_return_whitelist: -# \- salt/master/a_tag -# \- salt/master/another_tag +# Only return events matching tags in a whitelist, supports glob matches. +#event_return_whitelist: +# \- salt/master/a_tag +# \- salt/run/*/ret -# Store all event returns _except_ the tags in a blacklist. -# event_return_blacklist: -# \- salt/master/not_this_tag -# \- salt/master/or_this_one +# Store all event returns **except** the tags in a blacklist, supports globs. +#event_return_blacklist: +# \- salt/master/not_this_tag +# \- salt/wheel/*/ret # Passing very large events can cause the minion to consume large amounts of # memory. This value tunes the maximum size of a message allowed onto the @@ -11102,7 +11530,7 @@ event that an error is introduced in the latest revision of the repo. # public keys from the minions. Note that this is insecure. #auto_accept: False -# Time in minutes that a incoming public key with a matching name found in +# Time in minutes that an incoming public key with a matching name found in # pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys # are removed when the master checks the minion_autosign directory. # 0 equals no timeout @@ -11130,7 +11558,7 @@ event that an error is introduced in the latest revision of the repo. # This setting should be treated with care since it opens up execution # capabilities to non root users. By default this capability is completely # disabled. -#pulisher_acl: +#publisher_acl: # larry: # \- test.ping # \- network.* @@ -11158,7 +11586,7 @@ event that an error is introduced in the latest revision of the repo. # publisher_acl_blacklist instead. # Enforce publisher_acl & publisher_acl_blacklist when users have sudo -# access to the salt command. +# access to the salt command. # #sudo_acl: False @@ -11171,6 +11599,18 @@ event that an error is introduced in the latest revision of the repo. # # Time (in seconds) for a newly generated token to live. Default: 12 hours #token_expire: 43200 +# +# Allow eauth users to specify the expiry time of the tokens they generate. +# A boolean applies to all users or a dictionary of whitelisted eauth backends +# and usernames may be given. +# token_expire_user_override: +# pam: +# \- fred +# \- tom +# ldap: +# \- gary +# +#token_expire_user_override: False # Allow minions to push files to the master. This is disabled by default, for # security purposes. @@ -11207,6 +11647,10 @@ event that an error is introduced in the latest revision of the repo. #ssh_minion_opts: # gpg_keydir: /root/gpg +# Set this to True to default to using ~/.ssh/id_rsa for salt\-ssh +# authentication with minions +#ssh_use_home_key: False + ##### Master Module Management ##### ########################################## # Manage how master side modules are loaded. @@ -11335,12 +11779,12 @@ event that an error is introduced in the latest revision of the repo. # the master server. The default is md5 but sha1, sha224, sha256, sha384 # and sha512 are also supported. # -# WARNING: While md5 is supported, do not use it due to the high chance +# WARNING: While md5 is also supported, do not use it due to the high chance # of possible collisions and thus security breach. # -# Prior to changing this value, the master should be stopped and all Salt +# Prior to changing this value, the master should be stopped and all Salt # caches should be cleared. -#hash_type: md5 +#hash_type: sha256 # The buffer size in the file server can be adjusted here: #file_buffer_size: 1048576 @@ -11415,20 +11859,20 @@ event that an error is introduced in the latest revision of the repo. # Along with gitfs_password, is used to authenticate to HTTPS remotes. # gitfs_user: \(aq\(aq -# Along with gitfs_user, is used to authenticate to HTTPS remotes. +# Along with gitfs_user, is used to authenticate to HTTPS remotes. # This parameter is not required if the repository does not use authentication. #gitfs_password: \(aq\(aq -# By default, Salt will not authenticate to an HTTP (non\-HTTPS) remote. +# By default, Salt will not authenticate to an HTTP (non\-HTTPS) remote. # This parameter enables authentication over HTTP. Enable this at your own risk. #gitfs_insecure_auth: False -# Along with gitfs_privkey (and optionally gitfs_passphrase), is used to +# Along with gitfs_privkey (and optionally gitfs_passphrase), is used to # authenticate to SSH remotes. This parameter (or its per\-remote counterpart) # is required for SSH remotes. #gitfs_pubkey: \(aq\(aq -# Along with gitfs_pubkey (and optionally gitfs_passphrase), is used to +# Along with gitfs_pubkey (and optionally gitfs_passphrase), is used to # authenticate to SSH remotes. This parameter (or its per\-remote counterpart) # is required for SSH remotes. #gitfs_privkey: \(aq\(aq @@ -11514,6 +11958,11 @@ event that an error is introduced in the latest revision of the repo. # Recursively merge lists by aggregating them instead of replacing them. #pillar_merge_lists: False +# Set this option to \(aqTrue\(aq to force a \(aqKeyError\(aq to be raised whenever an +# attempt to retrieve a named value from pillar fails. When this option is set +# to \(aqFalse\(aq, the failed attempt returns an empty string. Default is \(aqFalse\(aq. +#pillar_raise_on_missing: False + # Git External Pillar (git_pillar) Configuration Options # # Specify the provider to be used for git_pillar. Must be either pygit2 or @@ -11531,7 +11980,7 @@ event that an error is introduced in the latest revision of the repo. # be used instead #git_pillar_branch: master -# Environment to use for git_pillar remotes. This is normally derived from +# Environment to use for git_pillar remotes. This is normally derived from # the branch/tag (or from a per\-remote env parameter), but if set this will # override the process of deriving the env from the branch/tag name. #git_pillar_env: \(aq\(aq @@ -11541,12 +11990,12 @@ event that an error is introduced in the latest revision of the repo. #git_pillar_root: \(aq\(aq # Specifies whether or not to ignore SSL certificate errors when contacting -# the remote repository. +# the remote repository. #git_pillar_ssl_verify: False # When set to False, if there is an update/checkout lock for a git_pillar # remote and the pid written to it is not running on the master, the lock -# file will be automatically cleared and a new lock will be obtained. +# file will be automatically cleared and a new lock will be obtained. #git_pillar_global_lock: True # Git External Pillar Authentication Options @@ -11591,13 +12040,13 @@ event that an error is introduced in the latest revision of the repo. # pillar is recompiled and stored. #pillar_cache_ttl: 3600 -# If an only if a master has set \(ga\(gapillar_cache: True\(ga\(ga, one of several storage providers -# can be utilized: +# If and only if a master has set \(gapillar_cache: True\(ga, one of several storage providers +# can be utililzed. # -# disk: The default storage backend. This caches rendered pillars to the master cache. -# Rendered pillars are serialized and deserialized as \(ga\(gamsgpack\(ga\(ga structures for -# speed. Note that pillars are stored UNENCRYPTED. Ensure that the master cache -# has permissions set appropriately (sane defaults are provided). +# \(gadisk\(ga: The default storage backend. This caches rendered pillars to the master cache. +# Rendered pillars are serialized and deserialized as msgpack structures for speed. +# Note that pillars are stored UNENCRYPTED. Ensure that the master cache +# has permissions set appropriately. (Same defaults are provided.) # # memory: [EXPERIMENTAL] An optional backend for pillar caches which uses a pure\-Python # in\-memory data structure for maximal performance. There are several caveats, @@ -11827,6 +12276,9 @@ event that an error is introduced in the latest revision of the repo. # Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch #event_match_type: startswith +# Save runner returns to the job cache +#runner_returns: True + # Permanently include any available Python 3rd party modules into Salt Thin # when they are generated for Salt\-SSH or other purposes. # The modules should be named by the names they are actually imported inside the Python. @@ -11884,6 +12336,8 @@ event that an error is introduced in the latest revision of the repo. # value to "str". Failover masters can be requested by setting # to "failover". MAKE SURE TO SET master_alive_interval if you are # using failover. +# Setting master_type to \(aqdisable\(aq let\(aqs you have a running minion (with engines and +# beacons) without a master connection # master_type: str # Poll interval in seconds for checking if the master is still there. Only @@ -12140,10 +12594,17 @@ event that an error is introduced in the latest revision of the repo. # # # The loop_interval sets how long in seconds the minion will wait between -# evaluating the scheduler and running cleanup tasks. This defaults to a -# sane 60 seconds, but if the minion scheduler needs to be evaluated more -# often lower this value -#loop_interval: 60 +# evaluating the scheduler and running cleanup tasks. This defaults to 1 +# second on the minion scheduler. +#loop_interval: 1 + +# Some installations choose to start all job returns in a cache or a returner +# and forgo sending the results back to a master. In this workflow, jobs +# are most often executed with \-\-async from the Salt CLI and then results +# are evaluated by examining job caches on the minions or any configured returners. +# WARNING: Setting this to False will **disable** returns back to the master. +#pub_ret: True + # The grains can be merged, instead of overridden, using this option. # This allows custom grains to defined different subvalues of a dictionary @@ -12173,7 +12634,7 @@ event that an error is introduced in the latest revision of the repo. # Grains cache expiration, in seconds. If the cache file is older than this # number of seconds then the grains cache will be dumped and fully re\-populated -# with fresh data. Defaults to 5 minutes. Will have no effect if \(aqgrains_cache\(aq +# with fresh data. Defaults to 5 minutes. Will have no effect if \(aqgrains_cache\(aq # is not enabled. # grains_cache_expiration: 300 @@ -12240,8 +12701,11 @@ event that an error is introduced in the latest revision of the repo. ##### Minion module management ##### ########################################## # Disable specific modules. This allows the admin to limit the level of -# access the master has to the minion. -#disable_modules: [cmd,test] +# access the master has to the minion. The default here is the empty list, +# below is an example of how this needs to be formatted in the config file +#disable_modules: +# \- cmdmod +# \- test #disable_returners: [] # This is the reverse of disable_modules. The default, like disable_modules, is the empty list, @@ -12318,6 +12782,11 @@ event that an error is introduced in the latest revision of the repo. # as the environment setting, but for pillar instead of states. #pillarenv: None # +# Set this option to \(aqTrue\(aq to force a \(aqKeyError\(aq to be raised whenever an +# attempt to retrieve a named value from pillar fails. When this option is set +# to \(aqFalse\(aq, the failed attempt returns an empty string. Default is \(aqFalse\(aq. +#pillar_raise_on_missing: False +# # If using the local file directory, then the state top file name needs to be # defined, by default this is top.sls. #state_top: top.sls @@ -12397,12 +12866,16 @@ event that an error is introduced in the latest revision of the repo. # is False. #fileserver_limit_traversal: False -# The hash_type is the hash to use when discovering the hash of a file in -# the local fileserver. The default is sha256, sha224, sha384 and sha512 are also supported. +# The hash_type is the hash to use when discovering the hash of a file on +# the local fileserver. The default is md5, but sha1, sha224, sha256, sha384 +# and sha512 are also supported. # # WARNING: While md5 and sha1 are also supported, do not use it due to the high chance # of possible collisions and thus security breach. # +# WARNING: While md5 is also supported, do not use it due to the high chance +# of possible collisions and thus security breach. +# # Warning: Prior to changing this value, the minion should be stopped and all # Salt caches should be cleared. #hash_type: sha256 @@ -12455,7 +12928,7 @@ event that an error is introduced in the latest revision of the repo. # Fingerprint of the master public key to validate the identity of your Salt master # before the initial key exchange. The master fingerprint can be found by running -# "salt\-key \-F master" on the Salt master. +# "salt\-key \-f master.pub" on the Salt master. #master_finger: \(aq\(aq @@ -12647,6 +13120,18 @@ so minions can be brought out of blackout mode) Salt also supports an explicit whitelist of additional functions that will be allowed during blackout. This is configured with the special pillar key \fBminion_blackout_whitelist\fP, which is formed as a list: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +minion_blackout_whitelist: + \- test.ping + \- pillar.get +.ft P +.fi +.UNINDENT +.UNINDENT .SS Access Control System .sp New in version 0.10.4. @@ -15224,7 +15709,7 @@ from within a minion module the built in \fB__opts__\fP data can be passed: import salt.minion import salt.fileclient -def get_file(path, dest, env=\(aqbase\(aq): +def get_file(path, dest, saltenv=\(aqbase\(aq): \(aq\(aq\(aq Used to get a single file from the Salt master @@ -15234,7 +15719,7 @@ def get_file(path, dest, env=\(aqbase\(aq): # Get the fileclient object client = salt.fileclient.get_file_client(__opts__) # Call get_file - return client.get_file(path, dest, False, env) + return client.get_file(path, dest, False, saltenv) .ft P .fi .UNINDENT @@ -15250,7 +15735,7 @@ data is not available, it needs to be generated: import salt.fileclient import salt.config -def get_file(path, dest, env=\(aqbase\(aq): +def get_file(path, dest, saltenv=\(aqbase\(aq): \(aq\(aq\(aq Used to get a single file from the Salt master \(aq\(aq\(aq @@ -15259,7 +15744,7 @@ def get_file(path, dest, env=\(aqbase\(aq): # Get the fileclient object client = salt.fileclient.get_file_client(opts) # Call get_file - return client.get_file(path, dest, False, env) + return client.get_file(path, dest, False, saltenv) .ft P .fi .UNINDENT @@ -15761,6 +16246,133 @@ need to be declared for duplicate gitfs remotes. The fourth remote overrides the default behavior of \fI\%not authenticating to insecure (non\-HTTPS) remotes\fP\&. .UNINDENT +.SS Per\-Saltenv Configuration Parameters +.sp +New in version 2016.11.0. + +.sp +For more granular control, Salt allows the following three things to be +overridden for individual saltenvs within a given repo: +.INDENT 0.0 +.IP \(bu 2 +The \fI\%mountpoint\fP +.IP \(bu 2 +The \fI\%root\fP +.IP \(bu 2 +The branch/tag to be used for a given saltenv +.UNINDENT +.sp +Here is an example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +gitfs_root: salt + +gitfs_saltenv: + \- dev: + \- mountpoint: salt://gitfs\-dev + \- ref: develop + +gitfs_remotes: + \- https://foo.com/bar.git: + \- saltenv: + \- staging: + \- ref: qa + \- mountpoint: salt://bar\-staging + \- dev: + \- ref: development + \- https://foo.com/baz.git: + \- saltenv: + \- staging: + \- mountpoint: salt://baz\-staging +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Given the above configuration, the following is true: +.INDENT 0.0 +.IP 1. 3 +For all gitfs remotes, files for the \fBdev\fP saltenv will be located under +\fBsalt://gitfs\-dev\fP\&. +.IP 2. 3 +For the \fBdev\fP saltenv, files from the first remote will be sourced from +the \fBdevelopment\fP branch, while files from the second remote will be +sourced from the \fBdevelop\fP branch. +.IP 3. 3 +For the \fBstaging\fP saltenv, files from the first remote will be located +under \fBsalt://bar\-staging\fP, while files from the second remote will be +located under \fBsalt://baz\-staging\fP\&. +.IP 4. 3 +For all gitfs remotes, and in all saltenvs, files will be served from the +\fBsalt\fP directory (and its subdirectories). +.UNINDENT +.SS Configuration Order of Precedence +.sp +The order of precedence for gitfs configuration is as follows (each level +overrides all levels below it): +.INDENT 0.0 +.IP 1. 3 +Per\-saltenv configuration (defined under a per\-remote \fBsaltenv\fP +param) +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +gitfs_remotes: + \- https://foo.com/bar.git: + \- saltenv: + \- dev: + \- mountpoint: salt://bar +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 2. 3 +Global per\-saltenv configuration (defined in \fBgitfs_saltenv\fP) +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +gitfs_saltenv: + \- saltenv: + \- dev: + \- mountpoint: salt://bar +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 3. 3 +Per\-remote configuration parameter +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +gitfs_remotes: + \- https://foo.com/bar.git: + \- mountpoint: salt://bar +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 4. 3 +Global configuration parameter +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +gitfs_mountpoint: salt://bar +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS Serving from a Subdirectory .sp The \fBgitfs_root\fP parameter allows files to be served from a @@ -16907,7 +17519,7 @@ all of the SPM packages installed on the system, the files that belong to them, and the metadata for those files. .SS spm_build_dir .sp -Default: \fB/srv/spm\fP +Default: \fB/srv/spm_build\fP .sp When packages are built, they will be placed in this directory. .SS spm_build_exclude @@ -17029,10 +17641,25 @@ instance, the \fBtop_level_dir\fP should be set to \fBapache\fP\&. Files outside the \fBtop_level_dir\fP, such as \fBREADME.rst\fP, \fBFORMULA\fP, and \fBLICENSE\fP will not be installed. The exceptions to this rule are files that are already treated specially, such as \fBpillar.example\fP and \fB_modules/\fP\&. +.SS dependencies +.sp +A comma\-separated list of packages that must be installed along with this +package. When this package is installed, SPM will attempt to discover and +install these packages as well. If it is unable to, then it will refuse to +install this package. +.sp +This is useful for creating packages which tie together other packages. For +instance, a package called wordpress\-mariadb\-apache would depend upon +wordpress, mariadb, and apache. +.SS optional +.sp +A comma\-separated list of packages which are related to this package, but are +neither required nor necessarily recommended. This list is displayed in an +informational message when the package is installed to SPM. .SS recommended .sp -A list of optional packages that are recommended to be installed with the -package. This list is displayed in an informational message +A comma\-separated list of optional packages that are recommended to be +installed with the package. This list is displayed in an informational message when the package is installed to SPM. .SS Building a Package .sp @@ -17467,11 +18094,11 @@ sdb://kevinopenstack/password .fi .UNINDENT .UNINDENT -.SS Getting and Setting SDB Values +.SS Getting, Setting and Deleting SDB Values .sp Once an SDB driver is configured, you can use the \fBsdb\fP execution module to -set and get values from it. There are two functions that will appear in any -SDB module: \fBset\fP and \fBget\fP\&. +get, set and delete values from it. There are two functions that may appear in +most SDB modules: \fBget\fP, \fBset\fP and \fBdelete\fP\&. .sp Getting a value requires only the SDB URI to be specified. To retrieve a value from the \fBkevinopenstack\fP profile above, you would use: @@ -17515,8 +18142,22 @@ salt\-call sdb.set \(aqsdb://myvault/secret/salt?saltstack\(aq \(aqsuper awesome .UNINDENT .UNINDENT .sp -The \fBsdb.get\fP and \fBsdb.set\fP functions are also available in the runner -system: +Deleting values (if supported by the driver) is done pretty much the same way as +getting them. Provided that you have a profile called \fBmykvstore\fP that uses +a driver allowing to delete values you would delete a value as shown bellow: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call sdb.delete \(aqsdb://mykvstore/foobar\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The \fBsdb.get\fP, \fBsdb.set\fP and \fBsdb.delete\fP functions are also available in +the runner system: .INDENT 0.0 .INDENT 3.5 .sp @@ -17524,6 +18165,7 @@ system: .ft C salt\-run sdb.get \(aqsdb://myvault/secret/salt?saltstack\(aq salt\-run sdb.set \(aqsdb://myvault/secret/salt?saltstack\(aq \(aqsuper awesome\(aq +salt\-run sdb.delete \(aqsdb://mykvstore/foobar\(aq .ft P .fi .UNINDENT @@ -17593,9 +18235,10 @@ as it requires the user to provide values in SDB, using a specific URI. Use \fBconfig.get\fP instead. .SS Writing SDB Modules .sp -There is currently one function that MUST exist in any SDB module (\fBget()\fP) -and one that SHOULD exist (\fBset_()\fP). If using a (\fBset_()\fP) function, a -\fB__func_alias__\fP dictionary MUST be declared in the module as well: +There is currently one function that MUST exist in any SDB module (\fBget()\fP), +one that SHOULD exist (\fBset_()\fP) and one that MAY exist (\fBdelete()\fP). If +using a (\fBset_()\fP) function, a \fB__func_alias__\fP dictionary MUST be declared +in the module as well: .INDENT 0.0 .INDENT 3.5 .sp @@ -17622,6 +18265,9 @@ The \fBset_()\fP function may be provided, but is not required, as some sources may be read\-only, or may be otherwise unwise to access via a URI (for instance, because of SQL injection attacks). .sp +The \fBdelete()\fP function may be provided as well, but is not required, as many +sources may be read\-only or restrict such operations. +.sp A simple example of an SDB module is \fBsalt/sdb/keyring_db.py\fP, as it provides basic examples of most, if not all, of the types of functionality that are available not only for SDB modules, but for Salt modules in general. @@ -18244,6 +18890,19 @@ master_tops: .UNINDENT .sp for \fBReclass\fP\&. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +master_tops: + varstack: /path/to/the/config/file/varstack.yaml +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +for \fBVarstack\fP\&. .sp It\(aqs also possible to create custom master_tops modules. These modules must go in a subdirectory called \fItops\fP in the \fIextension_modules\fP directory. @@ -18744,11 +19403,12 @@ salt\-call ret.get_jid cassandra_cql 20150330121011408195 \-\-output=json .SS Event Returners .sp For maximum visibility into the history of events across a Salt -infrastructure, all events seen by a salt master may be logged to a returner. +infrastructure, all events seen by a salt master may be logged to one or +more returners. .sp To enable event logging, set the \fBevent_return\fP configuration option in the -master config to returner which should be designated as the handler for event -returns. +master config to the returner(s) which should be designated as the handler +for event returns. .sp \fBNOTE:\fP .INDENT 0.0 @@ -18918,6 +19578,12 @@ Return salt data via pushover (\fI\%http://www.pushover.net\fP) T} _ T{ +\fBrawfile_json\fP +T} T{ +Take data from salt and "return" it into a raw file containing the json, with one line per event. +T} +_ +T{ \fBredis_return\fP T} T{ Return data to a redis server @@ -18948,6 +19614,12 @@ Return salt data via email T} _ T{ +\fBsplunk\fP +T} T{ +Send json response data to Splunk via the HTTP Event Collector +T} +_ +T{ \fBsqlite3_return\fP T} T{ Insert minion return data into a sqlite3 database @@ -19655,6 +20327,34 @@ ext_job_cache: elasticsearch .fi .UNINDENT .UNINDENT +.sp +Minion configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +elasticsearch: + hosts: + \- "10.10.10.10:9200" + \- "10.10.10.11:9200" + \- "10.10.10.12:9200" + index_date: True + number_of_shards: 5 + number_of_replicas: 1 + functions_blacklist: + \- "test.ping" +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.elasticsearch_return.event_return(events) +Return events to Elasticsearch +.sp +Requires that the \fIevent_return\fP configuration be set in master config. +.UNINDENT .INDENT 0.0 .TP .B salt.returners.elasticsearch_return.get_load(jid) @@ -19793,6 +20493,11 @@ etcd.returner_write_profile: my_etcd_write .UNINDENT .INDENT 0.0 .TP +.B salt.returners.etcd_return.__virtual__() +Only return if python\-etcd is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.etcd_return.get_fun() Return a dict of the last function called for all minions .UNINDENT @@ -19847,6 +20552,7 @@ The following fields can be set in the minion conf file: hipchat.room_id (required) hipchat.api_key (required) hipchat.api_version (required) +hipchat.api_url (optional) hipchat.from_name (required) hipchat.color (optional) hipchat.notify (optional) @@ -19878,6 +20584,7 @@ the default location: hipchat.room_id hipchat.api_key hipchat.api_version +hipchat.api_url hipchat.from_name .ft P .fi @@ -19892,6 +20599,7 @@ Hipchat settings may also be configured as: .ft C hipchat: room_id: RoomName + api_url: https://hipchat.myteam.con api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx api_version: v1 from_name: user@email.com @@ -19969,6 +20677,16 @@ salt \(aq*\(aq test.ping \-\-return hipchat \-\-return_kwargs \(aq{"room_id": "a .UNINDENT .INDENT 0.0 .TP +.B salt.returners.hipchat_return.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.hipchat_return.event_return(events) Return event data to hipchat .UNINDENT @@ -20211,6 +20929,11 @@ Return the load data that marks a specified jid .UNINDENT .INDENT 0.0 .TP +.B salt.returners.local_cache.load_reg() +Load the register from msgpack files +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.local_cache.prep_jid(nocache=False, passed_jid=None, recurse_count=0) Return a job id and prepare the job id directory. .sp @@ -20239,6 +20962,11 @@ Save/update the serialized list of minions for a given job .UNINDENT .INDENT 0.0 .TP +.B salt.returners.local_cache.save_reg(data) +Save the register to msgpack files +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.local_cache.update_endtime(jid, time) Update (or store) the end time for a given job .sp @@ -20462,6 +21190,11 @@ salt \(aq*\(aq test.ping \-\-return mongo \-\-return_kwargs \(aq{"db": "another\ .UNINDENT .INDENT 0.0 .TP +.B salt.returners.mongo_future_return.event_return(events) +Return events to Mongodb server +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.mongo_future_return.get_fun(fun) Return the most recent jobs that have executed the named function .UNINDENT @@ -20671,7 +21404,7 @@ Return data to a mysql server Dave Boucha <\fI\%dave@saltstack.com\fP>, Seth House <\fI\%shouse@saltstack.com\fP> .TP .B maturity -new +mature .TP .B depends python\-mysqldb @@ -20735,6 +21468,24 @@ alternative.mysql.ssl_key: \(aq/etc/pki/mysql/certs/localhost.key\(aq .UNINDENT .UNINDENT .sp +Should you wish the returner data to be cleaned out every so often, set +\fIkeep_jobs\fP to the number of hours for the jobs to live in the tables. +Setting it to \fI0\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 \fIarchive_jobs\fP to True. Salt will create 3 archive tables +.INDENT 0.0 +.IP \(bu 2 +\fIjids_archive\fP +.IP \(bu 2 +\fIsalt_returns_archive\fP +.IP \(bu 2 +\fIsalt_events_archive\fP +.UNINDENT +.sp +and move the contents of \fIjids\fP, \fIsalt_returns\fP, and \fIsalt_events\fP that are +more than \fIkeep_jobs\fP hours old to these tables. +.sp Use the following mysql database schema: .INDENT 0.0 .INDENT 3.5 @@ -20841,6 +21592,13 @@ salt \(aq*\(aq test.ping \-\-return mysql \-\-return_kwargs \(aq{"db": "another\ .UNINDENT .INDENT 0.0 .TP +.B salt.returners.mysql.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.mysql.event_return(events) Return event to mysql server .sp @@ -20975,6 +21733,11 @@ salt \(aq*\(aq test.ping \-\-return nagios \-\-return_kwargs \(aq{"service": "se .UNINDENT .INDENT 0.0 .TP +.B salt.returners.nagios_return.__virtual__() +Return virtualname +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.nagios_return.returner(ret) Send a message to Nagios with the data .UNINDENT @@ -21530,17 +22293,37 @@ CREATE TABLE jids ( DROP TABLE IF EXISTS salt_returns; CREATE TABLE salt_returns ( - added TIMESTAMP WITH TIME ZONE DEFAULT now(), - fun text NOT NULL, - jid varchar(20) NOT NULL, + fun varchar(50) NOT NULL, + jid varchar(255) NOT NULL, return text NOT NULL, - id text NOT NULL, - success boolean + full_ret text, + id varchar(255) NOT NULL, + success varchar(10) NOT NULL, + alter_time TIMESTAMP WITH TIME ZONE DEFAULT now() ); -CREATE INDEX ON salt_returns (added); -CREATE INDEX ON salt_returns (id); -CREATE INDEX ON salt_returns (jid); -CREATE INDEX ON salt_returns (fun); + +CREATE INDEX idx_salt_returns_id ON salt_returns (id); +CREATE INDEX idx_salt_returns_jid ON salt_returns (jid); +CREATE INDEX idx_salt_returns_fun ON salt_returns (fun); +CREATE INDEX idx_salt_returns_updated ON salt_returns (alter_time); + +\-\- +\-\- Table structure for table \(gasalt_events\(ga +\-\- + +DROP TABLE IF EXISTS salt_events; +DROP SEQUENCE IF EXISTS seq_salt_events_id; +CREATE SEQUENCE seq_salt_events_id; +CREATE TABLE salt_events ( + id BIGINT NOT NULL UNIQUE DEFAULT nextval(\(aqseq_salt_events_id\(aq), + tag varchar(255) NOT NULL, + data text NOT NULL, + alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + master_id varchar(255) NOT NULL +); + +CREATE INDEX idx_salt_events_tag on salt_events (tag); + EOF .ft P .fi @@ -21592,6 +22375,14 @@ salt \(aq*\(aq test.ping \-\-return postgres \-\-return_kwargs \(aq{"db": "anoth .UNINDENT .INDENT 0.0 .TP +.B salt.returners.postgres.event_return(events) +Return event to Pg server +.sp +Requires that configuration be enabled via \(aqevent_return\(aq +option in master config. +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.postgres.get_fun(fun) Return a dict of the last function called for all minions .UNINDENT @@ -21924,9 +22715,52 @@ salt \(aq*\(aq test.ping \-\-return pushover \-\-return_kwargs \(aq{"title": "Sa .UNINDENT .INDENT 0.0 .TP +.B salt.returners.pushover_returner.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.pushover_returner.returner(ret) Send an PushOver message with the data .UNINDENT +.SS salt.returners.rawfile_json +.sp +Take data from salt and "return" it into a raw file containing the json, with +one line per event. +.sp +Add the following to the minion or master configuration file. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +rawfile_json.filename: +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Default is \fB/var/log/salt/events\fP\&. +.sp +Common use is to log all events on the master. This can generate a lot of +noise, so you may wish to configure batch processing and/or configure the +\fBevent_return_whitelist\fP or \fBevent_return_blacklist\fP +to restrict the events that are written. +.INDENT 0.0 +.TP +.B salt.returners.rawfile_json.event_return(event) +Write event return data to a file on the master. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.rawfile_json.returner(ret) +Write the return data to a file on the minion. +.UNINDENT .SS salt.returners.redis_return .sp Return data to a redis server @@ -22082,10 +22916,32 @@ raven: .UNINDENT .UNINDENT .sp -and \fI\%https://pypi.python.org/pypi/raven\fP installed +or using a dsn: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +raven: + dsn: https://aaaa:bbbb@app.getsentry.com/12345 + tags: + \- os + \- master + \- saltversion + \- cpuarch +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fI\%https://pypi.python.org/pypi/raven\fP must be installed. +.sp +The pillar can be hidden on sentry return by setting hide_pillar: true. .sp The tags list (optional) specifies grains items that will be used as sentry tags, allowing tagging of events in the sentry ui. +.sp +To report only errors to sentry, set report_errors_only: true. .INDENT 0.0 .TP .B salt.returners.sentry_return.prep_jid(nocache=False, passed_jid=None) @@ -22096,6 +22952,7 @@ Do any work necessary to prepare a JID, including sending a custom id .B salt.returners.sentry_return.returner(ret) Log outcome to sentry. The returner tries to identify errors and report them as such. All other messages will be reported at info level. +Failed states will be appended as separate list for convenience. .UNINDENT .SS salt.returners.slack_returner .sp @@ -22217,6 +23074,16 @@ salt \(aq*\(aq test.ping \-\-return slack \-\-return_kwargs \(aq{"channel": "#ra .UNINDENT .INDENT 0.0 .TP +.B salt.returners.slack_returner.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.slack_returner.returner(ret) Send an slack message with the data .UNINDENT @@ -22284,7 +23151,11 @@ unless noted otherwise. .IP \(bu 2 \fBfrom\fP (required) The name/address of the email sender. .IP \(bu 2 -\fBto\fP (required) The name/address of the email recipient. +.INDENT 2.0 +.TP +.B \fBto\fP (required) The names/addresses of the email recipients; +comma\-delimited. For example: \fByou@example.com,someoneelse@example.com\fP\&. +.UNINDENT .IP \(bu 2 \fBhost\fP (required) The SMTP server hostname or address. .IP \(bu 2 @@ -22357,7 +23228,7 @@ alternative.smtp.tls: True .UNINDENT .UNINDENT .sp -To use the SMTP returner, append \(aq\-\-return smtp\(aq to the salt command. +To use the SMTP returner, append \(aq\-\-return smtp\(aq to the \fBsalt\fP command. .INDENT 0.0 .INDENT 3.5 .sp @@ -22369,7 +23240,7 @@ salt \(aq*\(aq test.ping \-\-return smtp .UNINDENT .UNINDENT .sp -To use the alternative configuration, append \(aq\-\-return_config alternative\(aq to the salt command. +To use the alternative configuration, append \(aq\-\-return_config alternative\(aq to the \fBsalt\fP command. .sp New in version 2015.5.0. @@ -22384,7 +23255,8 @@ salt \(aq*\(aq test.ping \-\-return smtp \-\-return_config alternative .UNINDENT .UNINDENT .sp -To override individual configuration items, append \-\-return_kwargs \(aq{"key:": "value"}\(aq to the salt command. +To override individual configuration items, append \-\-return_kwargs \(aq{"key:": "value"}\(aq to the +\fBsalt\fP command. .sp New in version 2016.3.0. @@ -22412,6 +23284,52 @@ python \-m smtpd \-n \-c DebuggingServer localhost:1025 .fi .UNINDENT .UNINDENT +.sp +New in version 2016.11.0. + +.sp +It is possible to send emails with selected Salt events by configuring \fBevent_return\fP option +for Salt Master. For example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +event_return: smtp + +event_return_whitelist: + \- salt/key + +smtp.from: me@example.net +smtp.to: you@example.com +smtp.host: localhost +smtp.subject: \(aqSalt Master {{act}}ed key from Minion ID: {{id}}\(aq +smtp.template: /srv/salt/templates/email.j2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Also you need to create additional file \fB/srv/salt/templates/email.j2\fP with email body template: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +act: {{act}} +id: {{id}} +result: {{result}} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This configuration enables Salt Master to send an email when accepting or rejecting minions keys. +.INDENT 0.0 +.TP +.B salt.returners.smtp_return.event_return(events) +Return event data via SMTP +.UNINDENT .INDENT 0.0 .TP .B salt.returners.smtp_return.prep_jid(nocache=False, passed_jid=None) @@ -22422,6 +23340,39 @@ Do any work necessary to prepare a JID, including sending a custom id .B salt.returners.smtp_return.returner(ret) Send an email with the data .UNINDENT +.SS salt.returners.splunk module +.sp +Send json response data to Splunk via the HTTP Event Collector +Requires the following config values to be specified in config or pillar: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +splunk_http_forwarder: + token: + indexer: + sourcetype: + index: +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Run a test by using \fBsalt\-call test.ping \-\-return splunk\fP +.sp +Written by Scott Pack (github.com/scottjpack) +.INDENT 0.0 +.TP +.B salt.returners.splunk.__virtual__() +Return virtual name of the module. +:return: The virtual name of the module. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.splunk.returner(ret) +Send a message to Splunk via the HTTP Event Collector +.UNINDENT .SS salt.returners.sqlite3 .sp Insert minion return data into a sqlite3 database @@ -22593,12 +23544,8 @@ Save the load to the specified jid .sp Return data to the host operating system\(aqs syslog facility .sp -Required python modules: syslog, json -.sp -The syslog returner simply reuses the operating system\(aqs syslog -facility to log return data -.sp -To use the syslog returner, append \(aq\-\-return syslog\(aq to the salt command. +To use the syslog returner, append \(aq\-\-return syslog\(aq to the +salt command. .INDENT 0.0 .INDENT 3.5 .sp @@ -22610,14 +23557,124 @@ salt \(aq*\(aq test.ping \-\-return syslog .UNINDENT .UNINDENT .sp +The following fields can be set in the minion conf file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog.level (optional, Default: LOG_INFO) +syslog.facility (optional, Default: LOG_USER) +syslog.tag (optional, Default: salt\-minion) +syslog.options (list, optional, Default: []) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Available levels, facilities, and options can be found in the +\fBsyslog\fP docs for your python version. +.sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -Syslog server implementations may have limits on the maximum record size received -by the client. This may lead to job return data being truncated in the syslog server\(aqs -logs. For example, for rsyslog on RHEL\-based systems, the default maximum record size -is approximately 2KB (which return data can easily exceed). This is configurable in -rsyslog.conf via the $MaxMessageSize config parameter. Please consult your syslog +The default tag comes from \fBsys.argv[0]\fP which is +usually "salt\-minion" but could be different based on +the specific environment. +.UNINDENT +.UNINDENT +.sp +Configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog.level: \(aqLOG_ERR\(aq +syslog.facility: \(aqLOG_DAEMON\(aq +syslog.tag: \(aqmysalt\(aq +syslog.options: + \- LOG_PID +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Of course you can also nest the options: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog: + level: \(aqLOG_ERR\(aq + facility: \(aqLOG_DAEMON\(aq + tag: \(aqmysalt\(aq + options: + \- LOG_PID +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Alternative configuration values can be used by +prefacing the configuration. Any values not found +in the alternative configuration will be pulled from +the default location: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +alternative.syslog.level: \(aqLOG_WARN\(aq +alternative.syslog.facility: \(aqLOG_NEWS\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To use the alternative configuration, append +\fB\-\-return_config alternative\fP to the salt command. +.sp +New in version 2015.5.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq test.ping \-\-return syslog \-\-return_config alternative +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To override individual configuration items, append +\-\-return_kwargs \(aq{"key:": "value"}\(aq to the salt command. +.sp +New in version 2016.3.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq test.ping \-\-return syslog \-\-return_kwargs \(aq{"level": "LOG_DEBUG"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Syslog server implementations may have limits on the maximum +record size received by the client. This may lead to job +return data being truncated in the syslog server\(aqs logs. For +example, for rsyslog on RHEL\-based systems, the default +maximum record size is approximately 2KB (which return data +can easily exceed). This is configurable in rsyslog.conf via +the $MaxMessageSize config parameter. Please consult your syslog implmentation\(aqs documentation to determine how to adjust this limit. .UNINDENT .UNINDENT @@ -22742,11 +23799,8 @@ salt \(aq*\(aq test.ping \-\-return xmpp \-\-return_kwargs \(aq{"recipient": "so .UNINDENT .INDENT 0.0 .TP -.B class salt.returners.xmpp_return.SendMsgBot(jid, password, recipient, msg) -.INDENT 7.0 -.TP -.B start(event) -.UNINDENT +.B salt.returners.xmpp_return.__virtual__() +Only load this module if right version of sleekxmpp is installed on this minion. .UNINDENT .INDENT 0.0 .TP @@ -22909,7 +23963,7 @@ Here is a simple YAML renderer example: .nf .ft C import yaml -def render(yaml_data, env=\(aq\(aq, sls=\(aq\(aq, **kws): +def render(yaml_data, saltenv=\(aq\(aq, sls=\(aq\(aq, **kws): if not isinstance(yaml_data, basestring): yaml_data = yaml_data.read() data = yaml.load(yaml_data) @@ -22931,6 +23985,12 @@ Cheetah Renderer for Salt T} _ T{ +\fBdson\fP +T} T{ +DSON Renderer for Salt +T} +_ +T{ \fBgenshi\fP T} T{ Genshi Renderer for Salt @@ -23009,6 +24069,7 @@ _ T{ \fByaml\fP T} T{ +YAML Renderer for Salt T} _ T{ @@ -23030,6 +24091,25 @@ Render a Cheetah template. A Python data structure .UNINDENT .UNINDENT +.SS salt.renderers.dson +.sp +DSON Renderer for Salt +.sp +This renderer is intended for demonstration purposes. Information on the DSON +spec can be found \fI\%here\fP\&. +.sp +This renderer requires \fI\%Dogeon\fP (installable via pip) +.INDENT 0.0 +.TP +.B salt.renderers.dson.render(dson_input, saltenv=\(aqbase\(aq, sls=\(aq\(aq, **kwargs) +Accepts DSON data as a string or as a file object and runs it through the +JSON parser. +.INDENT 7.0 +.TP +.B Return type +A Python data structure +.UNINDENT +.UNINDENT .SS salt.renderers.genshi .sp Genshi Renderer for Salt @@ -24178,10 +25258,6 @@ def main(): .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.renderers.pydsl.render(template, saltenv=\(aqbase\(aq, sls=\(aq\(aq, tmplpath=None, rendered_sls=None, **kws) -.UNINDENT .SS salt.renderers.pyobjects .sp Python renderer that includes a Pythonic Object based interface @@ -24501,10 +25577,6 @@ This provides a wrapper for bare imports. .B salt.renderers.pyobjects.load_states() This loads our states into the salt __context__ .UNINDENT -.INDENT 0.0 -.TP -.B salt.renderers.pyobjects.render(template, saltenv=\(aqbase\(aq, sls=\(aq\(aq, salt_data=True, **kwargs) -.UNINDENT .SS salt.renderers.stateconf .INDENT 0.0 .TP @@ -24872,6 +25944,129 @@ Render the data passing the functions and grains into the rendering system string .UNINDENT .UNINDENT +.SS salt.renderers.yaml +.SS Understanding YAML +.sp +The default renderer for SLS files is the YAML renderer. YAML is a +markup language with many powerful features. However, Salt uses +a small subset of YAML that maps over very commonly used data structures, +like lists and dictionaries. It is the job of the YAML renderer to take +the YAML data structure and compile it into a Python data structure for +use by Salt. +.sp +Though YAML syntax may seem daunting and terse at first, there are only +three very simple rules to remember when writing YAML for SLS files. +.SS Rule One: Indentation +.sp +YAML uses a fixed indentation scheme to represent relationships between +data layers. Salt requires that the indentation for each level consists +of exactly two spaces. Do not use tabs. +.SS Rule Two: Colons +.sp +Python dictionaries are, of course, simply key\-value pairs. Users from other +languages may recognize this data type as hashes or associative arrays. +.sp +Dictionary keys are represented in YAML as strings terminated by a trailing colon. +Values are represented by either a string following the colon, separated by a space: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_key: my_value +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In Python, the above maps to: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aqmy_key\(aq: \(aqmy_value\(aq} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Dictionaries can be nested: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +first_level_dict_key: + second_level_dict_key: value_in_second_level_dict +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +And in Python: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aqfirst_level_dict_key\(aq: {\(aqsecond_level_dict_key\(aq: \(aqvalue_in_second_level_dict\(aq } +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Rule Three: Dashes +.sp +To represent lists of items, a single dash followed by a space is used. Multiple +items are a part of the same list as a function of their having the same level of indentation. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- list_value_one +\- list_value_two +\- list_value_three +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Lists can be the value of a key\-value pair. This is quite common in Salt: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_dictionary: + \- list_value_one + \- list_value_two + \- list_value_three +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Reference +.sp +YAML Renderer for Salt +.sp +For YAML usage information see Understanding YAML\&. +.INDENT 0.0 +.TP +.B salt.renderers.yaml.get_yaml_loader(argline) +Return the ordered dict yaml loader +.UNINDENT +.INDENT 0.0 +.TP +.B salt.renderers.yaml.render(yaml_data, saltenv=\(aqbase\(aq, sls=\(aq\(aq, argline=\(aq\(aq, **kws) +Accepts YAML as a string or as a file object and runs it through the YAML +parser. +.INDENT 7.0 +.TP +.B Return type +A Python data structure +.UNINDENT +.UNINDENT .SS salt.renderers.yamlex .sp YAMLEX renderer is a replacement of the YAML renderer. @@ -25279,7 +26474,7 @@ above) the grains can be manually synced and reloaded by calling the .SS Storing Static Data in the Pillar .sp Pillar is an interface for Salt designed to offer global values that can be -distributed to all minions. Pillar data is managed in a similar way as +distributed to minions. Pillar data is managed in a similar way as the Salt State Tree. .sp Pillar was added to Salt in version 0.9.8 @@ -25366,7 +26561,7 @@ base: .UNINDENT .sp In this expanded top file, minions that match \fBweb*\fP will have access to the -\fB/srv/pillar/pacakges.sls\fP file, as well as the \fB/srv/pillar/vim.sls\fP file. +\fB/srv/pillar/packages.sls\fP file, as well as the \fB/srv/pillar/vim.sls\fP file. .sp Another example shows how to use other standard top matching types to deliver specific salt pillar data to minions with different properties. @@ -27056,7 +28251,7 @@ New in version 2015.8.0. \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -Nodgroups can reference other nodegroups as seen in \fBgroup3\fP\&. Ensure +Nodegroups can reference other nodegroups as seen in \fBgroup3\fP\&. Ensure that you do not have circular references. Circular references will be detected and cause partial expansion with a logged error message. .UNINDENT @@ -27111,35 +28306,68 @@ base: \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -When adding or modifying nodegroups to a master configuration file, the master must be restarted -for those changes to be fully recognized. +When adding or modifying nodegroups to a master configuration file, the +master must be restarted for those changes to be fully recognized. .sp -A limited amount of functionality, such as targeting with \-N from the command\-line may be -available without a restart. +A limited amount of functionality, such as targeting with \-N from the +command\-line may be available without a restart. .UNINDENT .UNINDENT +.SS Defining Nodegroups as Lists of Minion IDs +.sp +A simple list of minion IDs would traditionally be defined like this: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +nodegroups: + \- group1: L@host1,host2,host3 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +They can now also be defined as a YAML list, like this: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +nodegroups: + \- group1: + \- host1 + \- host2 + \- host3 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + .SS Using Nodegroups in SLS files .sp -To use Nodegroups in Jinja logic for SLS files, the \fBpillar_opts\fP option in -\fB/etc/salt/master\fP must be set to "True". This will pass the master\(aqs configuration as -Pillar data to each minion. +To use Nodegroups in Jinja logic for SLS files, the \fBpillar_opts\fP +option in \fB/etc/salt/master\fP must be set to \fBTrue\fP\&. This will pass the +master\(aqs configuration as Pillar data to each minion. .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -If the master\(aqs configuration contains any sensitive data, this will be passed to each minion. -Do not enable this option if you have any configuration data that you do not want to get -on your minions. +If the master\(aqs configuration contains any sensitive data, this will be +passed to each minion. Do not enable this option if you have any +configuration data that you do not want to get on your minions. .sp Also, if you make changes to your nodegroups, you might need to run \fBsalt \(aq*\(aq saltutil.refresh_pillar\fP after restarting the master. .UNINDENT .UNINDENT .sp -Once pillar_opts is enabled, you can find the nodegroups under the "master" pillar. -To make sure that only the correct minions are targeted, -you should use each matcher for the nodegroup definition. -For example, to check if a minion is in the \(aqwebserver\(aq nodegroup: +Once \fBpillar_opts\fP is set to \fBTrue\fP, you can find the nodegroups +under the "master" pillar. To make sure that only the correct minions are +targeted, you should use each matcher for the nodegroup definition. For +example, to check if a minion is in the \(aqwebserver\(aq nodegroup: .INDENT 0.0 .INDENT 3.5 .sp @@ -28821,7 +30049,9 @@ Nmap done: 1 IP address (1 host up) scanned in 1.64 seconds .sp If you\(aqve opened the correct TCP ports and still aren\(aqt seeing connections, check that no additional access control system such as \fI\%SELinux\fP or -\fI\%AppArmor\fP is blocking Salt. +\fI\%AppArmor\fP is blocking Salt. Tools like \fI\%tcptraceroute\fP can also be used +to determine if an intermediate device or firewall is blocking the needed +TCP ports. .SS Using salt\-call .sp The \fBsalt\-call\fP command was originally developed for aiding in the @@ -31065,13 +32295,13 @@ Arguments are formatted as YAML: .sp .nf .ft C -salt \(aq*\(aq cmd.run \(aqecho "Hello: $FIRST_NAME"\(aq env=\(aq{FIRST_NAME: "Joe"}\(aq +salt \(aq*\(aq cmd.run \(aqecho "Hello: $FIRST_NAME"\(aq saltenv=\(aq{FIRST_NAME: "Joe"}\(aq .ft P .fi .UNINDENT .UNINDENT .sp -Note: dictionaries must have curly braces around them (like the \fBenv\fP +Note: dictionaries must have curly braces around them (like the \fBsaltenv\fP keyword argument above). This was changed in 0.15.1: in the above example, the first argument used to be parsed as the dictionary \fB{\(aqecho "Hello\(aq: \(aq$FIRST_NAME"\(aq}\fP\&. This was generally not the expected @@ -31084,7 +32314,7 @@ If you want to test what parameters are actually passed to a module, use the .sp .nf .ft C -salt \(aq*\(aq test.arg_repr \(aqecho "Hello: $FIRST_NAME"\(aq env=\(aq{FIRST_NAME: "Joe"}\(aq +salt \(aq*\(aq test.arg_repr \(aqecho "Hello: $FIRST_NAME"\(aq saltenv=\(aq{FIRST_NAME: "Joe"}\(aq .ft P .fi .UNINDENT @@ -31171,13 +32401,15 @@ Salt execution modules are the functions called by the \fBsalt\fP command. .sp Writing Salt execution modules is straightforward. .sp -A Salt execution module is a Python or \fI\%Cython\fP module -placed in a directory called \fB_modules/\fP -within the \fBfile_roots\fP as specified by the master config file. By -default this is \fB/srv/salt/_modules\fP on Linux systems. +A Salt execution module is a Python or \fI\%Cython\fP module placed in a directory +called \fB_modules/\fP at the root of the Salt fileserver. When using the default +fileserver backend (i.e. \fBroots \fP\&. +For a user, Zip Archive modules behave just like other modules. When executing +a function from a module provided as the file \fBmy_module.zip\fP, a user would +call a function within that module as \fBmy_module.\fP\&. .SS Creating a Zip Archive Module .sp -A Zip Archive module is structured similarly to a simple \fI\%Python package\fP\&. The \fB\&.zip\fP file contains -a single directory with the same name as the module. The module code traditionally in \fB.py\fP -goes in \fB/__init__.py\fP\&. The dependency packages are subdirectories of \fB/\fP\&. +A Zip Archive module is structured similarly to a simple \fI\%Python package\fP\&. +The \fB\&.zip\fP file contains a single directory with the same name as the module. +The module code traditionally in \fB.py\fP goes in +\fB/__init__.py\fP\&. The dependency packages are subdirectories of +\fB/\fP\&. .sp -Here is an example directory structure for the \fBlumberjack\fP module, which has two library dependencies -(\fBsleep\fP and \fBwork\fP) to be included. +Here is an example directory structure for the \fBlumberjack\fP module, which has +two library dependencies (\fBsleep\fP and \fBwork\fP) to be included. .INDENT 0.0 .INDENT 3.5 .sp @@ -31234,7 +32469,8 @@ __init__.py .UNINDENT .UNINDENT .sp -The contents of \fBlumberjack/__init__.py\fP show how to import and use these included libraries. +The contents of \fBlumberjack/__init__.py\fP show how to import and use these +included libraries. .INDENT 0.0 .INDENT 3.5 .sp @@ -31282,7 +32518,8 @@ Archive: lumberjack.zip .UNINDENT .UNINDENT .sp -Once placed in \fBfile_roots\fP, Salt users can distribute and use \fBlumberjack.zip\fP like any other module. +Once placed in \fBfile_roots\fP, Salt users can distribute and use +\fBlumberjack.zip\fP like any other module. .INDENT 0.0 .INDENT 3.5 .sp @@ -31300,17 +32537,18 @@ minion1: .UNINDENT .SS Cross Calling Execution Modules .sp -All of the Salt execution modules are available to each other and modules can call -functions available in other execution modules. +All of the Salt execution modules are available to each other and modules can +call functions available in other execution modules. .sp 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 -containing all of the Salt functions. Dictionary keys are strings representing the -names of the modules and the values are the functions themselves. +containing all of the Salt functions. Dictionary keys are strings representing +the names of the modules and the values are the functions themselves. .sp -Salt modules can be cross\-called by accessing the value in the \fB__salt__\fP dict: +Salt modules can be cross\-called by accessing the value in the \fB__salt__\fP +dict: .INDENT 0.0 .INDENT 3.5 .sp @@ -31325,10 +32563,18 @@ def foo(bar): .sp This code will call the \fIrun\fP function in the \fBcmd\fP module and pass the argument \fBbar\fP to it. +.SS Calling Execution Modules on the Salt Master +.sp +New in version 2016.11.0. + +.sp +Execution modules can now also be called via the \fBsalt\-run\fP command +using the salt runner\&. .SS Preloaded Execution Module Data .sp -When interacting with execution modules often it is nice to be able to read information -dynamically about the minion or to load in configuration parameters for a module. +When interacting with execution modules often it is nice to be able to read +information dynamically about the minion or to load in configuration parameters +for a module. .sp Salt allows for different types of data to be loaded into the modules by the minion. @@ -31338,8 +32584,8 @@ The values detected by the Salt Grains on the minion are available in a \fI\%dict\fP 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 deployment -run the \fBgrains.items()\fP function: +To see the contents of the grains dictionary for a given system in your +deployment run the \fBgrains.items()\fP function: .INDENT 0.0 .INDENT 3.5 .sp @@ -31351,9 +32597,10 @@ salt \(aqhostname\(aq grains.items \-\-output=pprint .UNINDENT .UNINDENT .sp -Any value in a grains dictionary can be accessed as any other Python dictionary. For -example, the grain representing the minion ID is stored in the \fBid\fP key and from -an execution module, the value would be stored in \fB__grains__[\(aqid\(aq]\fP\&. +Any value in a grains dictionary can be accessed as any other Python +dictionary. For example, the grain representing the minion ID is stored in the +\fBid\fP key and from an execution module, the value would be stored in +\fB__grains__[\(aqid\(aq]\fP\&. .SS Module Configuration .sp Since parameters for configuring a module may be desired, Salt allows for @@ -31361,22 +32608,34 @@ configuration information from the minion configuration file to be passed to execution modules. .sp Since the minion configuration file is a YAML document, arbitrary configuration -data can be passed in the minion config that is read by the modules. It is therefore -\fBstrongly\fP recommended that the values passed in the configuration file match -the module name. A value intended for the \fBtest\fP execution module should be named -\fBtest.\fP\&. +data can be passed in the minion config that is read by the modules. It is +therefore \fBstrongly\fP recommended that the values passed in the configuration +file match the module name. A value intended for the \fBtest\fP execution module +should be named \fBtest.\fP\&. .sp -The test execution module contains usage of the module configuration and the default -configuration file for the minion contains the information and format used to -pass data to the modules. \fBsalt.modules.test\fP, \fBconf/minion\fP\&. -.SS Printout Configuration +The test execution module contains usage of the module configuration and the +default configuration file for the minion contains the information and format +used to pass data to the modules. \fBsalt.modules.test\fP, +\fBconf/minion\fP\&. +.SS Strings and Unicode .sp -Since execution module functions can return different data, and the way the data is -printed can greatly change the presentation, Salt has a printout configuration. +An execution module author should always assume that strings fed to the module +have already decoded from strings into Unicode. In Python 2, these will +be of type \(aqUnicode\(aq and in Python 3 they will be of type \fBstr\fP\&. Calling +from a state to other Salt sub\-systems, should pass Unicode (or bytes if passing binary data). In the +rare event that a state needs to write directly to disk, Unicode should be +encoded to a string immediately before writing to disk. An author may use +\fB__salt_system_encoding__\fP to learn what the encoding type of the system is. +For example, \fI\(aqmy_string\(aq.encode(__salt_system_encoding__\(aq)\fP\&. +.SS Outputter Configuration .sp -When writing a module the \fB__outputter__\fP dictionary can be declared in the module. -The \fB__outputter__\fP dictionary contains a mapping of function name to Salt -Outputter. +Since execution module functions can return different data, and the way the +data is printed can greatly change the presentation, Salt allows for a specific +outputter to be set on a function\-by\-function basis. +.sp +This is done be declaring an \fB__outputter__\fP dictionary in the global scope +of the module. The \fB__outputter__\fP dictionary contains a mapping of function +names to Salt outputters\&. .INDENT 0.0 .INDENT 3.5 .sp @@ -31390,7 +32649,8 @@ __outputter__ = { .UNINDENT .UNINDENT .sp -This will ensure that the text outputter is used. +This will ensure that the \fBtxt\fP outputter is used to display output from the +\fBrun\fP function. .SS Virtual Modules .sp Virtual modules let you override the name of a module in order to use the same @@ -31399,10 +32659,8 @@ loaded for a virtual name is selected based on the current platform or environment. .sp For example, packages are managed across platforms using the \fBpkg\fP module. -\fBpkg\fP is a virtual module name that is -an alias for the specific package manager module that is loaded on a specific -system (for example, \fByumpkg\fP on RHEL/CentOS systems -, and \fBaptpkg\fP on Ubuntu). +\fBpkg\fP is a virtual module name that is an alias for the specific package +manager module that is loaded on a specific system (for example, \fByumpkg\fP on RHEL/CentOS systems , and \fBaptpkg\fP on Ubuntu). .sp Virtual module names are set using the \fB__virtual__\fP function and the \fI\%virtual name\fP\&. @@ -31416,8 +32674,9 @@ module is loaded using the current module name. If \fBFalse\fP is returned the module is not loaded. \fBFalse\fP lets the module perform system checks and prevent loading if dependencies are not met. .sp -Since \fB__virtual__\fP is called before the module is loaded, \fB__salt__\fP will be -unavailable as it will not have been packed into the module at this point in time. +Since \fB__virtual__\fP is called before the module is loaded, \fB__salt__\fP will +be unavailable as it will not have been packed into the module at this point in +time. .sp \fBNOTE:\fP .INDENT 0.0 @@ -31566,8 +32825,8 @@ def __virtual__(): .UNINDENT .SS Documentation .sp -Salt execution modules are documented. The \fBsys.doc()\fP function will return the -documentation for all available modules: +Salt execution modules are documented. The \fBsys.doc()\fP function will return +the documentation for all available modules: .INDENT 0.0 .INDENT 3.5 .sp @@ -31579,9 +32838,9 @@ salt \(aq*\(aq sys.doc .UNINDENT .UNINDENT .sp -The \fBsys.doc\fP function simply prints out the docstrings found in the modules; when -writing Salt execution modules, please follow the formatting conventions for docstrings as -they appear in the other modules. +The \fBsys.doc\fP function simply prints out the docstrings found in the modules; +when writing Salt execution modules, please follow the formatting conventions +for docstrings as they appear in the other modules. .SS Adding Documentation to Salt Modules .sp It is strongly suggested that all Salt modules have documentation added. @@ -31609,12 +32868,12 @@ def spam(eggs): Now when the sys.doc call is executed the docstring will be cleanly returned to the calling terminal. .sp -Documentation added to execution modules in docstrings will automatically be added -to the online web\-based documentation. +Documentation added to execution modules in docstrings will automatically be +added to the online web\-based documentation. .SS Add Execution Module Metadata .sp -When writing a Python docstring for an execution module, add information about the module -using the following field lists: +When writing a Python docstring for an execution module, add information about +the module using the following field lists: .INDENT 0.0 .INDENT 3.5 .sp @@ -31686,9 +32945,9 @@ __func_alias__ = { .UNINDENT .SS Private Functions .sp -In Salt, Python callable objects contained within an execution module are made available -to the Salt minion for use. The only exception to this rule is a callable -object with a name starting with an underscore \fB_\fP\&. +In Salt, Python callable objects contained within an execution module are made +available to the Salt minion for use. The only exception to this rule is a +callable object with a name starting with an underscore \fB_\fP\&. .SS Objects Loaded Into the Salt Minion .INDENT 0.0 .INDENT 3.5 @@ -31697,10 +32956,6 @@ object with a name starting with an underscore \fB_\fP\&. .ft C def foo(bar): return bar - -class baz: - def __init__(self, quo): - pass .ft P .fi .UNINDENT @@ -31722,17 +32977,19 @@ cheese = {} # Not a callable Python object .SS Useful Decorators for Modules .SS Depends Decorator .sp -When writing execution modules there are many times where some of the module will -work on all hosts but some functions have an external dependency, such as a service -that needs to be installed or a binary that needs to be present on the system. +When writing execution modules there are many times where some of the module +will work on all hosts but some functions have an external dependency, such as +a service that needs to be installed or a binary that needs to be present on +the system. .sp -Instead of trying to wrap much of the code in large try/except blocks, a decorator can -be used. +Instead of trying to wrap much of the code in large try/except blocks, a +decorator can be used. .sp -If the dependencies passed to the decorator don\(aqt exist, then the salt minion will remove -those functions from the module on that host. +If the dependencies passed to the decorator don\(aqt exist, then the salt minion +will remove those functions from the module on that host. .sp -If a "fallback_function" is defined, it will replace the function instead of removing it +If a \fBfallback_function\fP is defined, it will replace the function instead of +removing it .INDENT 0.0 .INDENT 3.5 .sp @@ -31776,7 +33033,8 @@ def foo(): .UNINDENT .UNINDENT .sp -In addition to global dependencies the depends decorator also supports raw booleans. +In addition to global dependencies the depends decorator also supports raw +booleans. .INDENT 0.0 .INDENT 3.5 .sp @@ -31833,8 +33091,37 @@ Salt to directly manage more software. .INDENT 0.0 .INDENT 3.5 Salt execution modules are different from state modules and cannot be -called directly within state files. You must use the \fBmodule\fP -state module to call execution modules within state runs. +called as a state in an SLS file. In other words, this will not work: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +moe: + user.rename: + \- new_name: larry + \- onlyif: id moe +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +You must use the \fBmodule\fP states to call +execution modules directly. Here\(aqs an example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +rename_moe: + module.run: + \- m_name: moe + \- new_name: larry + \- onlyif: id moe +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -32590,7 +33877,7 @@ minions can be matched by glob, PCRE regular expression, or by \fBgrains\fP\&. F .nf .ft C base: - \(aqG@os:Fedora\(aq: + \(aqos:Fedora\(aq: \- match: grain \- webserver .ft P @@ -34401,7 +35688,7 @@ extend: A few critical things happened here, first off the SLS files that are going to be extended are included, then the extend dec is defined. Under the extend dec 2 IDs are extended, the apache ID\(aqs file state is overwritten with a new name -and source. Than the ssh server is extended to watch the banner file in +and source. Then the ssh server is extended to watch the banner file in addition to anything it is already watching. .SS Extend is a Top Level Declaration .sp @@ -35719,11 +37006,11 @@ All of the requisites define specific relationships and always work with the dependency logic defined above. .SS require .sp -The use of \fBrequire\fP demands that the dependent state executes before the -depending state. The state containing the \fBrequire\fP requisite is defined as the -depending state. The state specified in the \fBrequire\fP statement is defined as the -dependent state. If the dependent state\(aqs execution succeeds, the depending state -will then execute. If the dependent state\(aqs execution fails, the depending state +The use of \fBrequire\fP demands that the required state executes before the +dependent state. The state containing the \fBrequire\fP requisite is defined as the +dependent state. The state specified in the \fBrequire\fP statement is defined as the +required state. If the required state\(aqs execution succeeds, the dependent state +will then execute. If the required state\(aqs execution fails, the dependent state will not execute. In the first example above, the file \fB/etc/vimrc\fP will only execute after the vim package is installed successfully. .SS Require an Entire SLS File @@ -35939,6 +37226,15 @@ backup_mount: .fi .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. +.UNINDENT +.UNINDENT .SS onchanges .sp New in version 2014.7.0. @@ -36891,7 +38187,8 @@ used, a single top file in the \fBbase\fP environment is the most common way of configuring a highstate\&. .sp The following minion configuration options affect how top files are compiled -when no environment is specified: +when no environment is specified, it is recommended to follow the below four +links to learn more about how these options work: .INDENT 0.0 .IP \(bu 2 \fBstate_top_saltenv\fP @@ -36958,6 +38255,7 @@ dev: \- dev2 qa: \(aq*\(aq: + \- qa1 \- qa2 .ft P .fi @@ -36993,7 +38291,7 @@ to all minions. If, for instance, the \fBqa\fP environment is not defined in environment, no states from the \fBqa\fP environment would be applied. .SS Scenario 3 \- No Environment Specified, \fBtop_file_merging_strategy\fP is "same" .sp -Changed in version Carbon: In prior versions, "same" did not quite work as described below (see +Changed in version 2016.11.0: In prior versions, "same" did not quite work as described below (see \fI\%here\fP). This has now been corrected. It was decided that changing something like top file handling in a point release had the potential to unexpectedly impact users\(aq top files too much, and it would be better to @@ -37006,8 +38304,20 @@ minion2. .sp If \fBdefault_top\fP is unset (or set to \fBbase\fP, which happens to be the default), then \fBqa1\fP from the \fBqa\fP environment will be applied to all -minions. If \fBdefault_top\fP were set to \fBdev\fP, then \fBqa2\fP from -the \fBqa\fP environment would be applied to all minions. +minions. If \fBdefault_top\fP were set to \fBdev\fP, then both \fBqa1\fP +and \fBqa2\fP from the \fBqa\fP environment would be applied to all minions. +.SS Scenario 4 \- No Environment Specified, \fBtop_file_merging_strategy\fP is "merge_all" +.sp +New in version 2016.11.0. + +.sp +In this scenario, all configured states in all top files are applied. From the +\fBbase\fP environment, \fBbase1\fP would be applied to all minions, with \fBbase2\fP +being applied only to \fBminion1\fP\&. From the \fBdev\fP environment, \fBdev1\fP would +be applied to all minions, with \fBdev2\fP being applied only to \fBminion2\fP\&. +Finally, from the \fBqa\fP environment, both the \fBqa1\fP and \fBqa2\fP states will +be applied to all minions. Note that the \fBqa1\fP states would not be applied +twice, even though \fBqa1\fP appears twice. .SS SLS Template Variable Reference .sp The template engines available to sls files and file templates come loaded @@ -37462,6 +38772,17 @@ log.error(\(aqIt Is Busted\(aq) .fi .UNINDENT .UNINDENT +.SS Strings and Unicode +.sp +A state module author should always assume that strings fed to the module +have already decoded from strings into Unicode. In Python 2, these will +be of type \(aqUnicode\(aq and in Python 3 they will be of type \fBstr\fP\&. Calling +from a state to other Salt sub\-systems, such as execution modules should +pass Unicode (or bytes if passing binary data). In the rare event that a state needs to write directly +to disk, Unicode should be encoded to a string immediately before writing +to disk. An author may use \fB__salt_system_encoding__\fP to learn what the +encoding type of the system is. For example, +\fI\(aqmy_string\(aq.encode(__salt_system_encoding__\(aq)\fP\&. .SS Full State Module Example .sp The following is a simplistic example of a full state module and function. @@ -37928,6 +39249,128 @@ Total: 2 .fi .UNINDENT .UNINDENT +.SH UTILITY MODULES - CODE REUSE IN CUSTOM MODULES +.sp +New in version 2015.5.0. + +.sp +Changed in version 2016.11.0: These can now be synced to the Master for use in custom Runners, and in +custom execution modules called within Pillar SLS files. + +.sp +When extending Salt by writing custom (state modules), execution modules, etc., sometimes there is a need for a function to +be available to more than just one kind of custom module. For these cases, Salt +supports what are called "utility modules". These modules are like normal +execution modules, but instead of being invoked in Salt code using +\fB__salt__\fP, the \fB__utils__\fP prefix is used instead. +.sp +For example, assuming the following simple utility module, saved to +\fBsalt://_utils/foo.py\fP +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# \-*\- coding: utf\-8 \-*\- +\(aq\(aq\(aq +My utils module +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- + +This module contains common functions for use in my other custom types. +\(aq\(aq\(aq + +def bar(): + return \(aqbaz\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Once synced to a minion, this function would be available to other custom Salt +types like so: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# \-*\- coding: utf\-8 \-*\- +\(aq\(aq\(aq +My awesome execution module +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +\(aq\(aq\(aq + +def observe_the_awesomeness(): + \(aq\(aq\(aq + Prints information from my utility module + + CLI Example: + + .. code\-block:: bash + + salt \(aq*\(aq mymodule.observe_the_awesomeness + \(aq\(aq\(aq + print __utils__[\(aqfoo.bar\(aq]() +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Utility modules, like any other kind of Salt extension, support using a +__virtual__ function to conditionally load them, +or load them under a different namespace. For instance, if the utility module +above were named \fBsalt://_utils/mymodule.py\fP it could be made to be loaded as +the \fBfoo\fP utility module with a \fB__virtual__\fP function. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# \-*\- coding: utf\-8 \-*\- +\(aq\(aq\(aq +My utils module +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- + +This module contains common functions for use in my other custom types. +\(aq\(aq\(aq + +def __virtual__(): + \(aq\(aq\(aq + Load as a different name + \(aq\(aq\(aq + return \(aqfoo\(aq + +def bar(): + return \(aqbaz\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +These are, of course, contrived examples, but they should serve to show some of +the possibilities opened up by writing utility modules. Keep in mind though +that States still have access to all of the execution modules, so it is not +necessary to write a utility module to make a function available to both a +state and an execution module. One good use case for utililty modules is one +where it is necessary to invoke the same function from a custom outputter/returner, as well as an execution module. +.sp +Utility modules placed in \fBsalt://_utils/\fP will be synced to the minions when +any of the following Salt functions are called: +.INDENT 0.0 +.IP \(bu 2 +\fBstate.apply\fP +.IP \(bu 2 +\fBsaltutil.sync_utils\fP +.IP \(bu 2 +\fBsaltutil.sync_all\fP +.UNINDENT +.sp +To sync to the Master, use either of the following: +.INDENT 0.0 +.IP \(bu 2 +\fBsaltutil.sync_utils\fP +.IP \(bu 2 +\fBsaltutil.sync_all\fP +.UNINDENT .SH EVENTS & REACTOR .SS Event System .sp @@ -38006,7 +39449,7 @@ Fired when accepting and rejecting minions keys on the Salt master. \fBid\fP \-\- The minion ID. .IP \(bu 2 \fBact\fP \-\- The new status of the minion key: \fBaccept\fP, \fBpend\fP, -\fBreject\fP\&. +\fBreject\fP, \fBdelete\fP\&. .UNINDENT .UNINDENT .UNINDENT @@ -38091,7 +39534,77 @@ enabled using the \fBstate_events\fP option. .UNINDENT .UNINDENT .UNINDENT -.SS Presence events +.SS Runner Events +.INDENT 0.0 +.TP +.B salt/run//new +Fired as a runner begins execution +.INDENT 7.0 +.TP +.B Variables +.INDENT 7.0 +.IP \(bu 2 +\fBjid\fP \-\- The job ID. +.IP \(bu 2 +\fBfun\fP \-\- The name of the runner function, with \fBrunner.\fP prepended to it +(e.g. \fBrunner.jobs.lookup_jid\fP) +.IP \(bu 2 +\fBfun_args\fP \-\- The arguments passed to the runner function (e.g. +\fB[\(aq20160829225914848058\(aq]\fP) +.IP \(bu 2 +\fBuser\fP \-\- The user who executed the runner (e.g. \fBroot\fP) +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt/run//ret +Fired when a runner function returns +.INDENT 7.0 +.TP +.B Variables +.INDENT 7.0 +.IP \(bu 2 +\fBjid\fP \-\- The job ID. +.IP \(bu 2 +\fBfun\fP \-\- The name of the runner function, with \fBrunner.\fP prepended to it +(e.g. \fBrunner.jobs.lookup_jid\fP) +.IP \(bu 2 +\fBfun_args\fP \-\- The arguments passed to the runner function (e.g. +\fB[\(aq20160829225914848058\(aq]\fP) +.IP \(bu 2 +\fBreturn\fP \-\- The data returned by the runner function +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt/run//args +New in version 2016.11.0. + +.sp +Fired by the \fBstate.orchestrate\fP +runner +.INDENT 7.0 +.TP +.B Variables +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The ID declaration for the orchestration job (i.e. the line +above \fBsalt.state\fP, \fBsalt.function\fP, \fBsalt.runner\fP, etc.) +.IP \(bu 2 +\fBtype\fP \-\- The type of orchestration job being run (e.g. \fBstate\fP) +.IP \(bu 2 +\fBtgt\fP \-\- The target expression (e.g. \fB*\fP). Included for \fBstate\fP and +\fBfunction\fP types only. +.IP \(bu 2 +\fBargs\fP \-\- The args passed to the orchestration job. \fBNote:\fP for +\fBstate\fP and \fBfunction\fP types, also includes an \fBexpr_form\fP which +shows what kind of match (\fBglob\fP, \fBpcre\fP, etc.) was used. +.UNINDENT +.UNINDENT +.UNINDENT +.SS Presence Events .INDENT 0.0 .TP .B salt/presence/present @@ -38935,6 +40448,11 @@ the minion. The \fBbeacon\fP function therefore cannot block and should be as lightweight as possible. The \fBbeacon\fP also must return a list of dicts, each dict in the list will be translated into an event on the master. .sp +Beacons may also choose to implement a \fB__validate__\fP function which +takes the beacon configuration as an argument and ensures that it +is valid prior to continuing. This function is called automatically +by the Salt loader when a beacon is loaded. +.sp Please see the \fBinotify\fP beacon as an example. .SS The \fIbeacon\fP Function .sp @@ -39431,6 +40949,37 @@ clean_tmp: .UNINDENT .sp Any other parameters in the \fBLocalClient().cmd()\fP method can be specified as well. +.SS Executing Reactors from the Minion +.sp +The minion can be setup to use the Reactor via a reactor engine. This just +sets up and listens to the minions event bus, instead of to the masters. +.sp +The biggest difference is that you have to use the caller method on the +Reactor, which is the equivalent of salt\-call, to run your commands. +.sp +Reactor Engine setup +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +clean_tmp: + caller.cmd.run: + \- arg: + \- rm \-rf /tmp/* +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Masterless Minions use this Reactor +.sp +This is the only way to run the Reactor if you use masterless minions. +.UNINDENT +.UNINDENT .SS Calling Runner modules and Wheel modules .sp Calling Runner modules and Wheel modules from the Reactor uses a more direct @@ -39799,6 +41348,34 @@ Changed in version 2014.1.1: The runner function was renamed to \fBstate.orchest with the \fBstate.sls\fP execution function. In versions 0.17.0 through 2014.1.0, \fBstate.sls\fP must be used. +.SS Masterless Orchestration +.sp +New in version 2016.11.0. + +.sp +To support salt orchestration on masterless minions, the Orchestrate Runner is +available as an execution module. The syntax for masterless orchestration is +exactly the same, but it uses the \fBsalt\-call\fP command and the minion +configuration must contain the \fBfile_mode: local\fP option. Alternatively, +use \fBsalt\-call \-\-local\fP on the command line. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \-\-local state.orchestrate orch.webserver +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Masterless orchestration supports only the \fBsalt.state\fP command in an +sls file; it does not (currently) support the \fBsalt.function\fP command. +.UNINDENT +.UNINDENT .SS Examples .SS Function .sp @@ -40090,6 +41667,8 @@ Be certain to chmod +x salt\-ssh\-copy\-id.sh. .UNINDENT .sp Once keys are successfully deployed, salt\-ssh can be used to control them. +.sp +Alternatively ssh agent forwarding can be used by setting the priv to agent\-forwarding. .SS Calling Salt SSH .sp \fBNOTE:\fP @@ -40235,6 +41814,15 @@ be \fBssh_wipe\fP and thus this is what should be configured in the True\fP or \fBw: True\fP, will not work. .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +For the \fISaltfile\fP to be automatically detected it needs to be named +\fISaltfile\fP with a capital \fIS\fP and be readable by the user running +salt\-ssh. +.UNINDENT +.UNINDENT .SS Debugging salt\-ssh .sp One common approach for debugging \fBsalt\-ssh\fP is to simply use the tarball that salt @@ -40302,6 +41890,8 @@ The information which can be stored in a roster \fBtarget\fP is the following: tty: # Boolean: Set this option to True if sudo is also set to # True and requiretty is also set on the target system 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 timeout: # Number of seconds to wait for response when establishing # an SSH connection minion_opts: # Dictionary of minion opts @@ -44383,6 +45973,18 @@ prevent advertising any recycled IP addresses for destroyed minions. \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 +If you need to perform the bootstrap using the local interface for droplets, +this can be done by setting \fBssh_interface: private\fP in your config. By +default the salt\-cloud script would run on the public interface however if firewall +is preventing the connection to the Droplet over the public interface you might need +to set this option to connect via private interface. Also, to use this feature +\fBprivate_networking: True\fP must be set in the config. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 Additional documentation is available from \fI\%DigitalOcean\fP\&. .UNINDENT .UNINDENT @@ -45093,7 +46695,7 @@ salt\-cloud \-a rename mymachine newname=yourmachine .sp When instances on EC2 are destroyed, there will be a lag between the time that the action is sent, and the time that Amazon cleans up the instance. During -this time, the instance still retails a Name tag, which will cause a collision +this time, the instance still retains a Name tag, which will cause a collision if the creation of an instance with the same name is attempted before the cleanup occurs. In order to avoid such collisions, Salt Cloud can be configured to rename instances when they are destroyed. The new name will look something @@ -45586,8 +47188,9 @@ salt\-cloud \-f delete_keypair ec2 keyname=mykeypair .SS Launching instances into a VPC .SS Simple launching into a VPC .sp -In the amazon web interface, identify the id of the subnet into which your -image should be created. Then, edit your cloud.profiles file like so:\- +In the amazon web interface, identify the id or the name of the subnet into +which your image should be created. Then, edit your cloud.profiles file like +so:\- .INDENT 0.0 .INDENT 3.5 .sp @@ -45601,10 +47204,17 @@ profile\-id: ssh_username: ubuntu securitygroupid: \- sg\-XXXXXXXX + securitygroupname: + \- AnotherSecurityGroup + \- AndThirdSecurityGroup .ft P .fi .UNINDENT .UNINDENT +.sp +Note that \(aqsubnetid\(aq takes precedence over \(aqsubnetname\(aq, but \(aqsecuritygroupid\(aq +and \(aqsecuritygroupname\(aq are merged toghether to generate a single list for +SecurityGroups of instances. .SS Specifying interface properties .sp New in version 2014.7.0. @@ -45623,8 +47233,9 @@ profile\-id: size: m1.medium ssh_username: ubuntu - # Do not include either \(aqsubnetid\(aq or \(aqsecuritygroupid\(aq here if you are - # going to manually specify interface configuration + # Do not include either \(aqsubnetid\(aq, \(aqsubnetname\(aq, \(aqsecuritygroupid\(aq or + # \(aqsecuritygroupname\(aq here if you are going to manually specify + # interface configuration # network_interfaces: \- DeviceIndex: 0 @@ -45666,9 +47277,10 @@ profile\-id: .UNINDENT .UNINDENT .sp -Note that it is an error to assign a \(aqsubnetid\(aq or \(aqsecuritygroupid\(aq to a -profile where the interfaces are manually configured like this. These are both -really properties of each network interface, not of the machine itself. +Note that it is an error to assign a \(aqsubnetid\(aq, \(aqsubnetname\(aq, \(aqsecuritygroupid\(aq +or \(aqsecuritygroupname\(aq to a profile where the interfaces are manually configured +like this. These are both really properties of each network interface, not of +the machine itself. .SS Getting Started With GoGrid .sp GoGrid is a public cloud host that supports Linux and Windows. @@ -47525,9 +49137,6 @@ New in version 2016.3.0. .sp Assigns a private IP address to a Linode when set to True. Default is False. -.SS private_ip -.sp -Deprecated in favor of \fI\%assign_private_ip\fP in Salt 2016.3.0. .SS ssh_interface .sp New in version 2016.3.0. @@ -47632,7 +49241,7 @@ use of private, public, and hybrid IaaS clouds. .SS Dependencies .sp The driver requires Python\(aqs \fBlxml\fP library to be installed. It also requires an OpenNebula installation running -version \fB4.12\fP\&. +version \fB4.12\fP or greater. .SS Configuration .sp The following example illustrates some of the options that can be set. These parameters are discussed in more detail @@ -47813,6 +49422,28 @@ The Salt Cloud driver for OpenNebula was written using OpenNebula\(aqs native XM and \fB\-\-action\fP calls were added to the OpenNebula driver to enhance support for an OpenNebula infrastructure with additional control from Salt Cloud. See the \fBOpenNebula function definitions\fP for more information. +.SS Access via DNS entry instead of IP +.sp +Some OpenNebula installations do not assign IP addresses to new VMs, instead they establish the new VM\(aqs hostname based +on OpenNebula\(aqs name of the VM, and then allocate an IP out of DHCP with dynamic DNS attaching the hostname. This driver +supports this behavior by adding the entry \fIfqdn_base\fP to the driver configuration or the OpenNebula profile with a value +matching the base fully\-qualified domain. For example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Note: This example is for /etc/salt/cloud.providers or any file in the +# /etc/salt/cloud.providers.d/ directory. + +my\-opennebula\-provider: + [...] + fqdn_base: corp.example.com + [...] +.ft P +.fi +.UNINDENT +.UNINDENT .SS Getting Started With OpenStack .sp OpenStack is one the most popular cloud projects. It\(aqs an open source project @@ -48198,11 +49829,11 @@ ProfitBricks provides an enterprise\-grade Infrastructure as a Service (IaaS) solution that can be managed through a browser\-based "Data Center Designer" (DCD) tool or via an easy to use API. A unique feature of the ProfitBricks platform is that it allows you to define your own settings for cores, memory, -and disk size without being tied to a particular instance size. +and disk size without being tied to a particular server size. .SS Dependencies .INDENT 0.0 .IP \(bu 2 -profitbricks >= 2.3.0 +profitbricks >= 2.3.4 .UNINDENT .SS Configuration .INDENT 0.0 @@ -48217,6 +49848,8 @@ Using the new format, set up the cloud configuration at .nf .ft C my\-profitbricks\-config: + driver: profitbricks + # Set the location of the salt\-master # minion: @@ -48232,8 +49865,6 @@ my\-profitbricks\-config: public_lan: 1 ssh_public_key: /path/to/id_rsa.pub ssh_private_key: /path/to/id_rsa - - driver: profitbricks .ft P .fi .UNINDENT @@ -48281,11 +49912,10 @@ Here is an example of a profile: .sp .nf .ft C -profitbricks_production: +profitbricks_staging provider: my\-profitbricks\-config size: Micro Instance image: 2f98b678\-6e7e\-11e5\-b680\-52540066fee9 - disk_size: 10 cores: 2 ram: 4096 public_lan: 1 @@ -48293,6 +49923,35 @@ profitbricks_production: ssh_public_key: /path/to/id_rsa.pub ssh_private_key: /path/to/id_rsa ssh_interface: private_lan + +profitbricks_production: + provider: my\-profitbricks\-config + image: Ubuntu\-15.10\-server\-2016\-05\-01 + disk_type: SSD + disk_size: 40 + cores: 8 + cpu_family: INTEL_XEON + ram: 32768 + public_lan: 1 + private_lan: 2 + public_firewall_rules: + Allow SSH: + protocol: TCP + source_ip: 1.2.3.4 + port_range_start: 22 + port_range_end: 22 + Allow Ping: + protocol: ICMP + icmp_type: 8 + ssh_public_key: /path/to/id_rsa.pub + ssh_private_key: /path/to/id_rsa + ssh_interface: private_lan + volumes: + db_data: + disk_size: 500 + db_log: + disk_size: 50 + disk_type: SSD .ft P .fi .UNINDENT @@ -48335,6 +49994,10 @@ salt\-cloud \-\-list\-images my\-profitbricks 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 cores This option allows you to override the number of CPU cores as defined by the size. @@ -48345,15 +50008,47 @@ The value must be a multiple of 256, e.g. 256, 512, 768, 1024, and so forth. .TP .B public_lan -This option will connect the instance to the specified public LAN. If no +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: +.UNINDENT +.TP .B private_lan -This option will connect the instance to the specified private LAN. If no +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 @@ -48365,8 +50060,21 @@ 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. .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 +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. .UNINDENT .sp For more information concerning cloud profiles, see \fBhere\fP\&. @@ -50132,6 +51840,97 @@ the following command: .sp You can now continue to provision new instances and they will all automatically be set up as minions of the master you\(aqve defined in the configuration file. +.SS Getting Started With Virtualbox +.sp +The Virtualbox cloud module allows you to manage a \fBlocal\fP Virtualbox hypervisor. Remote hypervisors may come later on. +.SS Dependencies +.sp +The virtualbox module for Salt Cloud requires the \fI\%Virtualbox SDK\fP +which is contained in a virtualbox installation from +.sp +\fI\%https://www.virtualbox.org/wiki/Downloads\fP +.SS Configuration +.sp +The Virtualbox cloud module just needs to use the virtualbox driver for now. Virtualbox will be run as the running user. +.sp +\fB/etc/salt/cloud.providers\fP or \fB/etc/salt/cloud.providers.d/virtualbox.conf\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +virtualbox\-config: + driver: virtualbox +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Profiles +.sp +Set up an initial profile at \fB/etc/salt/cloud.profiles\fP or +\fB/etc/salt/cloud.profiles.d/virtualbox.conf\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +virtualbox\-test: + provider: virtualbox\-config + clonefrom: VM_to_clone_from + # Optional + power_on: True + deploy: True + ssh_username: a_username + password: a_password + sudo: a_username + sudo_password: a_password + # Example minion config + minion: + master: localhost + make_master: True +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \fBclonefrom\fP \fBMandatory\fP +Enter the name of the VM/template to clone from. +.UNINDENT +.sp +So far only machines can only be cloned and automatically provisioned by Salt Cloud. +.SS Provisioning +.sp +In order to provision when creating a new machine \fBpower_on\fP and \fBdeploy\fP have to be \fBTrue\fP\&. +.sp +Furthermore to connect to the VM \fBssh_username\fP and \fBpassword\fP will have to be set. +.sp +\fBsudo\fP and \fBsudo_password\fP are the credentials for getting root access in order to deploy salt +.SS Actions +.INDENT 0.0 +.TP +.B \fBstart\fP +Attempt to boot a VM by name. VMs should have unique names in order to boot the correct one. +.TP +.B \fBstop\fP +Attempt to stop a VM. This is akin to a force shutdown or 5 second press. +.UNINDENT +.SS Functions +.INDENT 0.0 +.TP +.B \fBshow_image\fP +Show all available information about a VM given by the \fIimage\fP parameter +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ salt\-cloud \-f show_image virtualbox image=my_vm_name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS Getting Started With VMware .sp New in version 2015.5.4. @@ -50344,6 +52143,14 @@ vmware\-centos6.5: hardware_version: 10 image: centos64Guest + + #For Windows VM + win_username: Administrator + win_password: administrator + win_organization_name: ABC\-Corp + plain_text: True + win_installer: /root/Salt\-Minion\-2015.8.4\-AMD64\-Setup.exe + win_user_fullname: Windows User .ft P .fi .UNINDENT @@ -50361,6 +52168,20 @@ without cloning. Enter the number of vCPUS that you want the VM/template to have. If not specified, the current VM/template\(aqs vCPU count is used. .TP +.B \fBcores_per_socket\fP +New in version 2016.11.0. + +.sp +Enter the number of cores per vCPU that you want the VM/template to have. If not specified, +this will default to 1. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Cores per socket should be less than or equal to the total number of vCPUs assigned to the VM/template. +.UNINDENT +.UNINDENT +.TP .B \fBmemory\fP Enter the memory size (in MB or GB) that you want the VM/template to have. If not specified, the current VM/template\(aqs memory size is used. Example @@ -50675,6 +52496,53 @@ VMware vSphere documentation: For a clone operation, this argument is ignored. .UNINDENT .UNINDENT +.TP +.B \fBwin_username\fP +Specify windows vm administrator account. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Windows template should have "administrator" account. +.UNINDENT +.UNINDENT +.TP +.B \fBwin_password\fP +Specify windows vm administrator account password. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +During network configuration (if network specified), it is used to specify new administrator password for the machine. +.UNINDENT +.UNINDENT +.TP +.B \fBwin_organization_name\fP +.INDENT 7.0 +.TP +.B Specify windows vm user\(aqs organization. Default organization name is Organization +VMware vSphere documentation: +.UNINDENT +.sp +\fI\%https://www.vmware.com/support/developer/vc\-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.UserData.html\fP +.TP +.B \fBwin_user_fullname\fP +.INDENT 7.0 +.TP +.B Specify windows vm user\(aqs fullname. Default fullname is "Windows User" +VMware vSphere documentation: +.UNINDENT +.sp +\fI\%https://www.vmware.com/support/developer/vc\-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.UserData.html\fP +.TP +.B \fBplain_text\fP +Flag to specify whether or not the password is in plain text, rather than encrypted. +VMware vSphere documentation: +.sp +\fI\%https://www.vmware.com/support/developer/vc\-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.Password.html\fP +.TP +.B \fBwin_installer\fP +Specify windows minion client installer path .UNINDENT .SS Cloning a VM .sp @@ -50929,161 +52797,6 @@ my\-vm: .fi .UNINDENT .UNINDENT -.SS Getting Started With vSphere -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -Deprecated since version Carbon: The \fBvsphere\fP cloud driver has been -deprecated in favor of the \fBvmware\fP -cloud driver and will be removed in Salt Carbon. Please refer to -\fBGetting started with VMware\fP instead to get -started with the configuration. - -.UNINDENT -.UNINDENT -.sp -VMware vSphere is a management platform for virtual infrastructure and cloud -computing. -.SS Dependencies -.sp -The vSphere module for Salt Cloud requires the PySphere package, which is -available at PyPI: -.sp -\fI\%https://pypi.python.org/pypi/pysphere\fP -.sp -This package can be installed using \fIpip\fP or \fIeasy_install\fP: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -# pip install pysphere -# easy_install pysphere -.ft P -.fi -.UNINDENT -.UNINDENT -.SS Configuration -.sp -Set up the cloud config at \fB/etc/salt/cloud.providers\fP or in the -\fB/etc/salt/cloud.providers.d/\fP directory: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -my\-vsphere\-config: - driver: vsphere - # Set the vSphere access credentials - user: marco - password: polo - # Set the URL of your vSphere server - url: \(aqvsphere.example.com\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -Changed in version 2015.8.0. - -.sp -The \fBprovider\fP parameter in cloud provider definitions was renamed to \fBdriver\fP\&. This -change was made to avoid confusion with the \fBprovider\fP parameter that is used in cloud profile -definitions. Cloud provider definitions now use \fBdriver\fP to refer to the Salt cloud module that -provides the underlying functionality to connect to a cloud host, while cloud profiles continue -to use \fBprovider\fP to refer to provider configurations that you define. -.UNINDENT -.UNINDENT -.SS Profiles -.SS Cloud Profiles -.sp -vSphere uses a Managed Object Reference to identify objects located in vCenter. -The MOR ID\(aqs are used when configuring a vSphere cloud profile. Use the -following reference when locating the MOR\(aqs for the cloud profile. -.sp -\fI\%http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1017126&sliceId=1&docTypeID=DT_KB_1_1&dialogID=520386078&stateId=1%200%20520388386\fP -.sp -Set up an initial profile at \fB/etc/salt/cloud.profiles\fP or in the -\fB/etc/salt/cloud.profiles.d\fP directory: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -vsphere\-centos: - provider: my\-vsphere\-config - image: centos - # Optional - datastore: datastore\-15 - resourcepool: resgroup\-8 - folder: salt\-cloud - host: host\-9 - template: False -.ft P -.fi -.UNINDENT -.UNINDENT -.SS provider -.sp -Enter the name that was specified when the cloud provider profile was created. -.SS image -.sp -Images available to build an instance can be found using the \fI\-\-list\-images\fP -option: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -# salt\-cloud \-\-list\-images my\-vsphere\-config -.ft P -.fi -.UNINDENT -.UNINDENT -.SS datastore -.sp -The MOR of the datastore where the virtual machine should be located. If not -specified, the current datastore is used. -.SS resourcepool -.sp -The MOR of the resourcepool to be used for the new vm. If not set, it will use -the same resourcepool as the original vm. -.SS folder -.sp -Name of the folder that will contain the new VM. If not set, the VM will be -added to the folder the original VM belongs to. -.SS host -.sp -The MOR of the host where the vm should be registered. -.INDENT 0.0 -.INDENT 3.5 -.INDENT 0.0 -.TP -.B If not specified: -.INDENT 7.0 -.IP \(bu 2 -if resourcepool is not specified, the current host is used. -.IP \(bu 2 -if resourcepool is specified, and the target pool represents a -stand\-alone host, the host is used. -.IP \(bu 2 -if resourcepool is specified, and the target pool represents a -DRS\-enabled cluster, a host selected by DRS is used. -.IP \(bu 2 -if resourcepool is specified, and the target pool represents a -cluster without DRS enabled, an InvalidArgument exception will be thrown. -.UNINDENT -.UNINDENT -.UNINDENT -.UNINDENT -.SS template -.sp -Specifies whether or not the new virtual machine should be marked as a -template. Default is False. .SS Miscellaneous Options .SS Miscellaneous Salt Cloud Options .sp @@ -51966,76 +53679,6 @@ salt\-cloud \-\-list\-images my\-cloud\-provider .fi .UNINDENT .UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.get_configured_provider() -Return the first configured instance. -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.get_conn() -Return a conn object for the passed VM data -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.get_dependencies() -Warn if dependencies aren\(aqt met. -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_clusters(kwargs=None, call=None) -List the clusters for this VMware environment -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_datacenters(kwargs=None, call=None) -List the data centers for this VMware environment -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_datastores(kwargs=None, call=None) -List the datastores for this VMware environment -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_folders(kwargs=None, call=None) -List the folders for this VMware environment -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_hosts(kwargs=None, call=None) -List the hosts for this VMware environment -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_nodes(kwargs=None, call=None) -Return a list of the VMs that are on the provider, with basic fields -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_nodes_full(kwargs=None, call=None) -Return a list of the VMs that are on the provider with full details -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_nodes_min(kwargs=None, call=None) -Return a list of the nodes in the provider, with no details -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_nodes_select() -Return a list of the VMs that are on the provider, with select fields -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.list_resourcepools(kwargs=None, call=None) -List the hosts for this VMware environment -.UNINDENT -.INDENT 0.0 -.TP -.B salt.cloud.clouds.vsphere.reset(name, call=None) -To reset a VM using its name .SS The avail_sizes() Function .sp This function returns a list of sizes available for this cloud provider. @@ -52163,839 +53806,6 @@ appropriately: .sp .nf .ft C -##### Primary configuration settings ##### -########################################## -# This configuration file is used to manage the behavior of the Salt Master. -# Values that are commented out but have an empty line after the comment are -# defaults that do not need to be set in the config. If there is no blank line -# after the comment then the value is presented as an example and is not the -# default. - -# Per default, the master will automatically include all config files -# from master.d/*.conf (master.d is a directory in the same directory -# as the main master config file). -#default_include: master.d/*.conf - -# The address of the interface to bind to: -#interface: 0.0.0.0 - -# Whether the master should listen for IPv6 connections. If this is set to True, -# the interface option must be adjusted, too. (For example: "interface: \(aq::\(aq") -#ipv6: False - -# The tcp port used by the publisher: -#publish_port: 4505 - -# The user under which the salt master will run. Salt will update all -# permissions to allow the specified user to run the master. The exception is -# the job cache, which must be deleted if this user is changed. If the -# modified files cause conflicts, set verify_env to False. -#user: root - -# The port used by the communication interface. The ret (return) port is the -# interface used for the file server, authentication, job returns, etc. -#ret_port: 4506 - -# Specify the location of the daemon process ID file: -#pidfile: /var/run/salt\-master.pid - -# The root directory prepended to these options: pki_dir, cachedir, -# sock_dir, log_file, autosign_file, autoreject_file, extension_modules, -# key_logfile, pidfile: -#root_dir: / - -# Directory used to store public key data: -#pki_dir: /etc/salt/pki/master - -# Directory to store job and cache data: -# This directory may contain sensitive data and should be protected accordingly. -# -#cachedir: /var/cache/salt/master - -# Directory for custom modules. This directory can contain subdirectories for -# each of Salt\(aqs module types such as "runners", "output", "wheel", "modules", -# "states", "returners", etc. -#extension_modules: - -# Directory for custom modules. This directory can contain subdirectories for -# each of Salt\(aqs module types such as "runners", "output", "wheel", "modules", -# "states", "returners", etc. -# Like \(aqextension_modules\(aq but can take an array of paths -#module_dirs: -# \- /var/cache/salt/minion/extmods - -# Verify and set permissions on configuration directories at startup: -#verify_env: True - -# Set the number of hours to keep old job information in the job cache: -#keep_jobs: 24 - -# Set the default timeout for the salt command and api. The default is 5 -# seconds. -#timeout: 5 - -# The loop_interval option controls the seconds for the master\(aqs maintenance -# process check cycle. This process updates file server backends, cleans the -# job cache and executes the scheduler. -#loop_interval: 60 - -# Set the default outputter used by the salt command. The default is "nested". -#output: nested - -# Return minions that timeout when running commands like test.ping -#show_timeout: True - -# By default, output is colored. To disable colored output, set the color value -# to False. -#color: True - -# Do not strip off the colored output from nested results and state outputs -# (true by default). -# strip_colors: False - -# Set the directory used to hold unix sockets: -#sock_dir: /var/run/salt/master - -# The master can take a while to start up when lspci and/or dmidecode is used -# to populate the grains for the master. Enable if you want to see GPU hardware -# data for your master. -# enable_gpu_grains: False - -# The master maintains a job cache. While this is a great addition, it can be -# a burden on the master for larger deployments (over 5000 minions). -# Disabling the job cache will make previously executed jobs unavailable to -# the jobs system and is not generally recommended. -#job_cache: True - -# Cache minion grains and pillar data in the cachedir. -#minion_data_cache: True - -# Store all returns in the given returner. -# Setting this option requires that any returner\-specific configuration also -# be set. See various returners in salt/returners for details on required -# configuration values. (See also, event_return_queue below.) -# -#event_return: mysql - -# On busy systems, enabling event_returns can cause a considerable load on -# the storage system for returners. Events can be queued on the master and -# stored in a batched fashion using a single transaction for multiple events. -# By default, events are not queued. -#event_return_queue: 0 - -# Only events returns matching tags in a whitelist -# event_return_whitelist: -# \- salt/master/a_tag -# \- salt/master/another_tag - -# Store all event returns _except_ the tags in a blacklist -# event_return_blacklist: -# \- salt/master/not_this_tag -# \- salt/master/or_this_one - -# Passing very large events can cause the minion to consume large amounts of -# memory. This value tunes the maximum size of a message allowed onto the -# master event bus. The value is expressed in bytes. -#max_event_size: 1048576 - -# 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. -# -# To tell the master to ping all minions immediately after an AES key refresh, set -# ping_on_rotate to True. This should mitigate the issue where a minion does not -# appear to initially respond after a key is rotated. -# -# Note that ping_on_rotate may cause high load on the master immediately after -# the key rotation event as minions reconnect. Consider this carefully if this -# salt master is managing a large number of minions. -# -# If disabled, it is recommended to handle this event by listening for the -# \(aqaes_key_rotate\(aq event with the \(aqkey\(aq tag and acting appropriately. -# ping_on_rotate: False - -# By default, the master deletes its cache of minion data when the key for that -# minion is removed. To preserve the cache after key deletion, set -# \(aqpreserve_minion_cache\(aq to True. -# -# WARNING: This may have security implications if compromised minions auth with -# a previous deleted minion ID. -#preserve_minion_cache: False - -# If max_minions is used in large installations, the master might experience -# high\-load situations because of having to check the number of connected -# minions for every authentication. This cache provides the minion\-ids of -# all connected minions to all MWorker\-processes and greatly improves the -# performance of max_minions. -# con_cache: False - -# The master can include configuration from other files. To enable this, -# pass a list of paths to this option. The paths can be either relative or -# absolute; if relative, they are considered to be relative to the directory -# the main master configuration file lives in (this file). Paths can make use -# of shell\-style globbing. If no files are matched by a path passed to this -# option, then the master will log a warning message. -# -# Include a config file from some other path: -# include: /etc/salt/extra_config -# -# Include config from several files and directories: -# include: -# \- /etc/salt/extra_config - - -##### Large\-scale tuning settings ##### -########################################## -# Max open files -# -# Each minion connecting to the master uses AT LEAST one file descriptor, the -# master subscription connection. If enough minions connect you might start -# seeing on the console (and then salt\-master crashes): -# Too many open files (tcp_listener.cpp:335) -# Aborted (core dumped) -# -# By default this value will be the one of \(gaulimit \-Hn\(ga, ie, the hard limit for -# max open files. -# -# If you wish to set a different value than the default one, uncomment and -# configure this setting. Remember that this value CANNOT be higher than the -# hard limit. Raising the hard limit depends on your OS and/or distribution, -# a good way to find the limit is to search the internet. For example: -# raise max open files hard limit debian -# -#max_open_files: 100000 - -# The number of worker threads to start. These threads are used to manage -# return calls made from minions to the master. If the master seems to be -# running slowly, increase the number of threads. This setting can not be -# set lower than 3. -#worker_threads: 5 - -# Set the ZeroMQ high water marks -# http://api.zeromq.org/3\-2:zmq\-setsockopt - -# 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 - - - -##### Security settings ##### -########################################## -# Enable "open mode", this mode still maintains encryption, but turns off -# authentication, this is only intended for highly secure environments or for -# the situation where your keys end up in a bad state. If you run in open mode -# you do so at your own risk! -#open_mode: False - -# Enable auto_accept, this setting will automatically accept all incoming -# public keys from the minions. Note that this is insecure. -#auto_accept: False - -# Time in minutes that a incoming public key with a matching name found in -# pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys -# are removed when the master checks the minion_autosign directory. -# 0 equals no timeout -# autosign_timeout: 120 - -# If the autosign_file is specified, incoming keys specified in the -# autosign_file will be automatically accepted. This is insecure. Regular -# expressions as well as globing lines are supported. -#autosign_file: /etc/salt/autosign.conf - -# Works like autosign_file, but instead allows you to specify minion IDs for -# which keys will automatically be rejected. Will override both membership in -# the autosign_file and the auto_accept setting. -#autoreject_file: /etc/salt/autoreject.conf - -# Enable permissive access to the salt keys. This allows you to run the -# master or minion as root, but have a non\-root group be given access to -# your pki_dir. To make the access explicit, root must belong to the group -# you\(aqve given access to. This is potentially quite insecure. If an autosign_file -# is specified, enabling permissive_pki_access will allow group access to that -# specific file. -#permissive_pki_access: False - -# Allow users on the master access to execute specific commands on minions. -# This setting should be treated with care since it opens up execution -# capabilities to non root users. By default this capability is completely -# disabled. -#pulisher_acl: -# larry: -# \- test.ping -# \- network.* -# -# Blacklist any of the following users or modules -# -# This example would blacklist all non sudo users, including root from -# running any commands. It would also blacklist any use of the "cmd" -# module. This is completely disabled by default. -# -#publisher_acl_blacklist: -# users: -# \- root -# \- \(aq^(?!sudo_).*$\(aq # all non sudo users -# modules: -# \- cmd -# -# WARNING: client_acl and client_acl_blacklist options are deprecated and will -# be removed in the future releases. Use publisher_acl and -# publisher_acl_blacklist instead. - -# Enforce publisher_acl & publisher_acl_blacklist when users have sudo -# access to the salt command. -# -#sudo_acl: False - -# The external auth system uses the Salt auth modules to authenticate and -# validate users to access areas of the Salt system. -#external_auth: -# pam: -# fred: -# \- test.* -# -# Time (in seconds) for a newly generated token to live. Default: 12 hours -#token_expire: 43200 - -# Allow minions to push files to the master. This is disabled by default, for -# security purposes. -#file_recv: False - -# Set a hard\-limit on the size of the files that can be pushed to the master. -# It will be interpreted as megabytes. Default: 100 -#file_recv_max_size: 100 - -# Signature verification on messages published from the master. -# This causes the master to cryptographically sign all messages published to its event -# bus, and minions then verify that signature before acting on the message. -# -# This is False by default. -# -# Note that to facilitate interoperability with masters and minions that are different -# versions, if sign_pub_messages is True but a message is received by a minion with -# no signature, it will still be accepted, and a warning message will be logged. -# Conversely, if sign_pub_messages is False, but a minion receives a signed -# message it will be accepted, the signature will not be checked, and a warning message -# will be logged. This behavior went away in Salt 2014.1.0 and these two situations -# will cause minion to throw an exception and drop the message. -# sign_pub_messages: False - -##### Salt\-SSH Configuration ##### -########################################## - -# Pass in an alternative location for the salt\-ssh roster file -#roster_file: /etc/salt/roster - -# Pass in minion option overrides that will be inserted into the SHIM for -# salt\-ssh calls. The local minion config is not used for salt\-ssh. Can be -# overridden on a per\-minion basis in the roster (\(gaminion_opts\(ga) -#ssh_minion_opts: -# gpg_keydir: /root/gpg - -##### Master Module Management ##### -########################################## -# Manage how master side modules are loaded. - -# Add any additional locations to look for master runners: -#runner_dirs: [] - -# Enable Cython for master side modules: -#cython_enable: False - - -##### State System settings ##### -########################################## -# The state system uses a "top" file to tell the minions what environment to -# use and what modules to use. The state_top file is defined relative to the -# root of the base environment as defined in "File Server settings" below. -#state_top: top.sls - -# The master_tops option replaces the external_nodes option by creating -# a plugable system for the generation of external top data. The external_nodes -# option is deprecated by the master_tops option. -# -# To gain the capabilities of the classic external_nodes system, use the -# following configuration: -# master_tops: -# ext_nodes: -# -#master_tops: {} - -# The external_nodes option allows Salt to gather data that would normally be -# placed in a top file. The external_nodes option is the executable that will -# return the ENC data. Remember that Salt will look for external nodes AND top -# files and combine the results if both are enabled! -#external_nodes: None - -# The renderer to use on the minions to render the state data -#renderer: yaml_jinja - -# The Jinja renderer can strip extra carriage returns and whitespace -# See http://jinja.pocoo.org/docs/api/#high\-level\-api -# -# If this is set to True the first newline after a Jinja block is removed -# (block, not variable tag!). Defaults to False, corresponds to the Jinja -# environment init variable "trim_blocks". -#jinja_trim_blocks: False -# -# If this is set to True leading spaces and tabs are stripped from the start -# of a line to a block. Defaults to False, corresponds to the Jinja -# environment init variable "lstrip_blocks". -#jinja_lstrip_blocks: False - -# The failhard option tells the minions to stop immediately after the first -# failure detected in the state execution, defaults to False -#failhard: False - -# The state_verbose and state_output settings can be used to change the way -# state system data is printed to the display. By default all data is printed. -# The state_verbose setting can be set to True or False, when set to False -# all data that has a result of True and no changes will be suppressed. -#state_verbose: True - -# The state_output setting changes if the output is the full multi line -# output for each changed state if set to \(aqfull\(aq, but if set to \(aqterse\(aq -# the output will be shortened to a single line. If set to \(aqmixed\(aq, the output -# will be terse unless a state failed, in which case that output will be full. -# If set to \(aqchanges\(aq, the output will be full unless the state didn\(aqt change. -#state_output: full - -# Automatically aggregate all states that have support for mod_aggregate by -# setting to \(aqTrue\(aq. Or pass a list of state module names to automatically -# aggregate just those types. -# -# state_aggregate: -# \- pkg -# -#state_aggregate: False - -# Send progress events as each function in a state run completes execution -# by setting to \(aqTrue\(aq. Progress events are in the format -# \(aqsalt/job//prog//\(aq. -#state_events: False - -##### File Server settings ##### -########################################## -# Salt runs a lightweight file server written in zeromq to deliver files to -# minions. This file server is built into the master daemon and does not -# require a dedicated port. - -# The file server works on environments passed to the master, each environment -# can have multiple root directories, the subdirectories in the multiple file -# roots cannot match, otherwise the downloaded files will not be able to be -# reliably ensured. A base environment is required to house the top file. -# Example: -# file_roots: -# base: -# \- /srv/salt/ -# dev: -# \- /srv/salt/dev/services -# \- /srv/salt/dev/states -# prod: -# \- /srv/salt/prod/services -# \- /srv/salt/prod/states -# -#file_roots: -# base: -# \- /srv/salt -# - -# When using multiple environments, each with their own top file, the -# default behaviour is an unordered merge. To prevent top files from -# being merged together and instead to only use the top file from the -# requested environment, set this value to \(aqsame\(aq. -#top_file_merging_strategy: merge - -# To specify the order in which environments are merged, set the ordering -# in the env_order option. Given a conflict, the last matching value will -# win. -#env_order: [\(aqbase\(aq, \(aqdev\(aq, \(aqprod\(aq] - -# If top_file_merging_strategy is set to \(aqsame\(aq and an environment does not -# contain a top file, the top file in the environment specified by default_top -# will be used instead. -#default_top: base - -# The hash_type is the hash to use when discovering the hash of a file on -# the master server. The default is md5, but sha1, sha224, sha256, sha384 -# and sha512 are also supported. -# -# Prior to changing this value, the master should be stopped and all Salt -# caches should be cleared. -#hash_type: md5 - -# The buffer size in the file server can be adjusted here: -#file_buffer_size: 1048576 - -# A regular expression (or a list of expressions) that will be matched -# against the file path before syncing the modules and states to the minions. -# This includes files affected by the file.recurse state. -# For example, if you manage your custom modules and states in subversion -# and don\(aqt want all the \(aq.svn\(aq folders and content synced to your minions, -# you could set this to \(aq/\e.svn($|/)\(aq. By default nothing is ignored. -#file_ignore_regex: -# \- \(aq/\e.svn($|/)\(aq -# \- \(aq/\e.git($|/)\(aq - -# A file glob (or list of file globs) that will be matched against the file -# path before syncing the modules and states to the minions. This is similar -# to file_ignore_regex above, but works on globs instead of regex. By default -# nothing is ignored. -# file_ignore_glob: -# \- \(aq*.pyc\(aq -# \- \(aq*/somefolder/*.bak\(aq -# \- \(aq*.swp\(aq - -# File Server Backend -# -# Salt supports a modular fileserver backend system, this system allows -# the salt master to link directly to third party systems to gather and -# manage the files available to minions. Multiple backends can be -# configured and will be searched for the requested file in the order in which -# they are defined here. The default setting only enables the standard backend -# "roots" which uses the "file_roots" option. -#fileserver_backend: -# \- roots -# -# To use multiple backends list them in the order they are searched: -#fileserver_backend: -# \- git -# \- roots -# -# Uncomment the line below if you do not want the file_server to follow -# symlinks when walking the filesystem tree. This is set to True -# by default. Currently this only applies to the default roots -# fileserver_backend. -#fileserver_followsymlinks: False -# -# Uncomment the line below if you do not want symlinks to be -# treated as the files they are pointing to. By default this is set to -# False. By uncommenting the line below, any detected symlink while listing -# files on the Master will not be returned to the Minion. -#fileserver_ignoresymlinks: True -# -# By default, the Salt fileserver recurses fully into all defined environments -# to attempt to find files. To limit this behavior so that the fileserver only -# traverses directories with SLS files and special Salt directories like _modules, -# enable the option below. This might be useful for installations where a file root -# has a very large number of files and performance is impacted. Default is False. -# fileserver_limit_traversal: False -# -# The fileserver can fire events off every time the fileserver is updated, -# these are disabled by default, but can be easily turned on by setting this -# flag to True -#fileserver_events: False - -# Git File Server Backend Configuration -# -# Gitfs can be provided by one of two python modules: GitPython or pygit2. If -# using pygit2, both libgit2 and git must also be installed. -#gitfs_provider: gitpython -# -# When using the git fileserver backend at least one git remote needs to be -# defined. The user running the salt master will need read access to the repo. -# -# The repos will be searched in order to find the file requested by a client -# and the first repo to have the file will return it. -# When using the git backend branches and tags are translated into salt -# environments. -# Note: file:// repos will be treated as a remote, so refs you want used must -# exist in that repo as *local* refs. -#gitfs_remotes: -# \- git://github.com/saltstack/salt\-states.git -# \- file:///var/git/saltmaster -# -# The gitfs_ssl_verify option specifies whether to ignore ssl certificate -# errors when contacting the gitfs backend. You might want to set this to -# false if you\(aqre using a git backend that uses a self\-signed certificate but -# keep in mind that setting this flag to anything other than the default of True -# is a security concern, you may want to try using the ssh transport. -#gitfs_ssl_verify: True -# -# The gitfs_root option gives the ability to serve files from a subdirectory -# within the repository. The path is defined relative to the root of the -# repository and defaults to the repository root. -#gitfs_root: somefolder/otherfolder -# -# -##### Pillar settings ##### -########################################## -# Salt Pillars allow for the building of global data that can be made selectively -# available to different minions based on minion grain filtering. The Salt -# Pillar is laid out in the same fashion as the file server, with environments, -# a top file and sls files. However, pillar data does not need to be in the -# highstate format, and is generally just key/value pairs. -#pillar_roots: -# base: -# \- /srv/pillar -# -#ext_pillar: -# \- hiera: /etc/hiera.yaml -# \- cmd_yaml: cat /etc/salt/yaml - -# The pillar_roots_override_ext_pillar option allows for external pillar sources -# to be evaluated before the file system pillar, which means that values -# obtained from the file system pillar will take precedence over those found from -# external pillar sources. -#pillar_roots_override_ext_pillar: False - -# The ext_pillar_first option allows for external pillar sources to populate -# before file system pillar. This allows for targeting file system pillar from -# ext_pillar. Note that ext_pillar_first option is deprecated by -# pillar_roots_override_ext_pillar option and will be removed in future releases. -#ext_pillar_first: False - -# The pillar_gitfs_ssl_verify option specifies whether to ignore ssl certificate -# errors when contacting the pillar gitfs backend. You might want to set this to -# false if you\(aqre using a git backend that uses a self\-signed certificate but -# keep in mind that setting this flag to anything other than the default of True -# is a security concern, you may want to try using the ssh transport. -#pillar_gitfs_ssl_verify: True - -# The pillar_opts option adds the master configuration file data to a dict in -# the pillar called "master". This is used to set simple configurations in the -# master config file that can then be used on minions. -#pillar_opts: False - -# The pillar_safe_render_error option prevents the master from passing pillar -# render errors to the minion. This is set on by default because the error could -# contain templating data which would give that minion information it shouldn\(aqt -# have, like a password! When set true the error message will only show: -# Rendering SLS \(aqmy.sls\(aq failed. Please see master log for details. -#pillar_safe_render_error: True - -# The pillar_source_merging_strategy option allows you to configure merging strategy -# between different sources. It accepts four values: recurse, aggregate, overwrite, -# or smart. Recurse will merge recursively mapping of data. Aggregate instructs -# aggregation of elements between sources that use the #!yamlex renderer. Overwrite -# will verwrite elements according the order in which they are processed. This is -# behavior of the 2014.1 branch and earlier. Smart guesses the best strategy based -# on the "renderer" setting and is the default value. -#pillar_source_merging_strategy: smart - -# Recursively merge lists by aggregating them instead of replacing them. -#pillar_merge_lists: False - - -##### Syndic settings ##### -########################################## -# The Salt syndic is used to pass commands through a master from a higher -# master. Using the syndic is simple. If this is a master that will have -# syndic servers(s) below it, then set the "order_masters" setting to True. -# -# If this is a master that will be running a syndic daemon for passthrough, then -# the "syndic_master" setting needs to be set to the location of the master server -# to receive commands from. - -# Set the order_masters setting to True if this master will command lower -# masters\(aq syndic interfaces. -#order_masters: False - -# If this master will be running a salt syndic daemon, syndic_master tells -# this master where to receive commands from. -#syndic_master: masterofmaster - -# This is the \(aqret_port\(aq of the MasterOfMaster: -#syndic_master_port: 4506 - -# PID file of the syndic daemon: -#syndic_pidfile: /var/run/salt\-syndic.pid - -# LOG file of the syndic daemon: -#syndic_log_file: syndic.log - - -##### Peer Publish settings ##### -########################################## -# Salt minions can send commands to other minions, but only if the minion is -# allowed to. By default "Peer Publication" is disabled, and when enabled it -# is enabled for specific minions and specific commands. This allows secure -# compartmentalization of commands based on individual minions. - -# The configuration uses regular expressions to match minions and then a list -# of regular expressions to match functions. The following will allow the -# minion authenticated as foo.example.com to execute functions from the test -# and pkg modules. -#peer: -# foo.example.com: -# \- test.* -# \- pkg.* -# -# This will allow all minions to execute all commands: -#peer: -# .*: -# \- .* -# -# This is not recommended, since it would allow anyone who gets root on any -# single minion to instantly have root on all of the minions! - -# Minions can also be allowed to execute runners from the salt master. -# Since executing a runner from the minion could be considered a security risk, -# it needs to be enabled. This setting functions just like the peer setting -# except that it opens up runners instead of module functions. -# -# All peer runner support is turned off by default and must be enabled before -# using. This will enable all peer runners for all minions: -#peer_run: -# .*: -# \- .* -# -# To enable just the manage.up runner for the minion foo.example.com: -#peer_run: -# foo.example.com: -# \- manage.up -# -# -##### Mine settings ##### -##################################### -# Restrict mine.get access from minions. By default any minion has a full access -# to get all mine data from master cache. In acl definion below, only pcre matches -# are allowed. -# mine_get: -# .*: -# \- .* -# -# The example below enables minion foo.example.com to get \(aqnetwork.interfaces\(aq mine -# data only, minions web* to get all network.* and disk.* mine data and all other -# minions won\(aqt get any mine data. -# mine_get: -# foo.example.com: -# \- network.interfaces -# web.*: -# \- network.* -# \- disk.* - - -##### Logging settings ##### -########################################## -# The location of the master log file -# The master log can be sent to a regular file, local path name, or network -# location. Remote logging works best when configured to use rsyslogd(8) (e.g.: -# \(ga\(gafile:///dev/log\(ga\(ga), with rsyslogd(8) configured for network logging. The URI -# format is: ://:/ -#log_file: /var/log/salt/master -#log_file: file:///dev/log -#log_file: udp://loghost:10514 - -#log_file: /var/log/salt/master -#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. -# -# The following log levels are considered INSECURE and may log sensitive data: -# [\(aqgarbage\(aq, \(aqtrace\(aq, \(aqdebug\(aq] -# -#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. -# If using \(aqlog_granular_levels\(aq this must be set to the highest desired level. -#log_level_logfile: warning - -# The date and time format used in log messages. Allowed date/time formating -# can be seen here: http://docs.python.org/library/time.html#time.strftime -#log_datefmt: \(aq%H:%M:%S\(aq -#log_datefmt_logfile: \(aq%Y\-%m\-%d %H:%M:%S\(aq - -# The format of the console logging messages. Allowed formatting options can -# be seen here: http://docs.python.org/library/logging.html#logrecord\-attributes -# -# Console log colors are specified by these additional formatters: -# -# %(colorlevel)s -# %(colorname)s -# %(colorprocess)s -# %(colormsg)s -# -# Since it is desirable to include the surrounding brackets, \(aq[\(aq and \(aq]\(aq, in -# the coloring of the messages, these color formatters also include padding as -# well. Color LogRecord attributes are only available for console logging. -# -#log_fmt_console: \(aq%(colorlevel)s %(colormsg)s\(aq -#log_fmt_console: \(aq[%(levelname)\-8s] %(message)s\(aq -# -#log_fmt_logfile: \(aq%(asctime)s,%(msecs)03d [%(name)\-17s][%(levelname)\-8s] %(message)s\(aq - -# This can be used to control logging levels more specificically. This -# example sets the main salt library at the \(aqwarning\(aq level, but sets -# \(aqsalt.modules\(aq to log at the \(aqdebug\(aq level: -# log_granular_levels: -# \(aqsalt\(aq: \(aqwarning\(aq -# \(aqsalt.modules\(aq: \(aqdebug\(aq -# -#log_granular_levels: {} - - -##### Node Groups ###### -########################################## -# Node groups allow for logical groupings of minion nodes. A group consists of a group -# name and a compound target. -#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 - - -##### Range Cluster settings ##### -########################################## -# The range server (and optional port) that serves your cluster information -# https://github.com/ytoolshed/range/wiki/%22yamlfile%22\-module\-file\-spec -# -#range_server: range:80 - - -##### Windows Software Repo settings ##### -########################################### -# Location of the repo on the master: -#winrepo_dir_ng: \(aq/srv/salt/win/repo\-ng\(aq -# -# List of git repositories to include with the local repo: -#winrepo_remotes_ng: -# \- \(aqhttps://github.com/saltstack/salt\-winrepo\-ng.git\(aq - - -##### Windows Software Repo settings \- Pre 2015.8 ##### -######################################################## -# Legacy repo settings for pre\-2015.8 Windows minions. -# -# Location of the repo on the master: -#winrepo_dir: \(aq/srv/salt/win/repo\(aq -# -# Location of the master\(aqs repo cache file: -#winrepo_mastercachefile: \(aq/srv/salt/win/repo/winrepo.p\(aq -# -# List of git repositories to include with the local repo: -#winrepo_remotes: -# \- \(aqhttps://github.com/saltstack/salt\-winrepo.git\(aq - - -##### Returner settings ###### -############################################ -# Which returner(s) will be used for minion\(aqs result: -#return: mysql - - -###### Miscellaneous settings ###### -############################################ -# Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch -#event_match_type: startswith def list_nodes_select(conn=None, call=None): \(aq\(aq\(aq Return a list of the VMs that are on the provider, with select fields @@ -55916,6 +56726,17 @@ or more minions. .sp See \fBProxyminion Beacon\fP to help with easy configuration and management of \fBsalt\-proxy\fP processes. +.SS New in 2016.11.0 +.sp +Proxy minions now support configuration files with names ending in \(aq +.nf +* +.fi +\&.conf\(aq +and placed in /etc/salt/proxy.d. +.sp +Proxy minions can now be configured in /etc/salt/proxy or /etc/salt/proxy.d +instead of just pillar. Configuration format is the same as it would be in pillar. .SS New in 2016.3 .sp The deprecated config option \fBenumerate_proxy_minions\fP has been removed. @@ -55994,7 +56815,7 @@ the rest of the proxy\(aqs grains. Since older proxy\-minions might have used o methods to call such a function and add its results to grains, this is config\-gated by a new proxy configuration option called \fBproxy_merge_grains_in_module\fP\&. This defaults to \fBFalse\fP in this release. It will default to True in the release after -next. The next release is codenamed \fBCarbon\fP, the following is \fBNitrogen\fP\&. +next. The next release is 2016.11.0, the following is \fBNitrogen\fP\&. .SS New in 2015.8.2 .sp \fIBREAKING CHANGE\fP: Adding the \fIproxymodule\fP variable to __opts__ is deprecated. @@ -56061,7 +56882,8 @@ Salt states specific to the controlled device. .sp Proxy minions require no configuration parameters in /etc/salt/master. .sp -Salt\(aqs Pillar system is ideally suited for configuring proxy\-minions. Proxies +Salt\(aqs Pillar system is ideally suited for configuring proxy\-minions +(though they can be configured in /etc/salt/proxy as well). Proxies can either be designated via a pillar file in pillar_roots, or through an external pillar. External pillars afford the opportunity for interfacing with a configuration management system, database, or other knowledgeable system that @@ -56223,6 +57045,9 @@ Because of the way pillar works, each of the salt\-proxy processes that fork off proxy minions will only see the keys specific to the proxies it will be handling. .sp +Proxies can be configured in /etc/salt/proxy or with files in /etc/salt/proxy.d as of +Salt\(aqs 2016.11.0 release. +.sp Also, in general, proxy\-minions are lightweight, so the machines that run them could conceivably control a large number of devices. To run more than one proxy from a single machine, simply start an additional proxy process with \fB\-\-proxyid\fP @@ -56887,7 +57712,6 @@ Edit \fB/etc/salt/proxy\fP and add an entry for your master\(aqs location .nf .ft C master: localhost -add_proxymodule_to_opts: False multiprocessing: False .ft P .fi @@ -57363,17 +58187,6 @@ and should be named \fBproxy\fP\&. If the file is not there by default, create i This file should contain the location of your Salt Master that the Salt Proxy will connect to. .sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -If you\(aqre running your ESXi Proxy Minion on version of Salt that is 2015.8.2 -or newer, you also need to set \fBadd_proxymodule_to_opts: False\fP in your -proxy config file. The need to specify this configuration will be removed with -Salt \fB2016.3.0\fP, the next major feature release. See the \fI\%New in 2015.8.2\fP -section of the Proxy Minion documentation for more information. -.UNINDENT -.UNINDENT -.sp Example Proxy Config File: .INDENT 0.0 .INDENT 3.5 @@ -57383,7 +58196,6 @@ Example Proxy Config File: # /etc/salt/proxy master: -add_proxymodule_to_opts: False .ft P .fi .UNINDENT @@ -57500,7 +58312,6 @@ Proxy Config File: # /etc/salt/proxy master: -add_proxymodule_to_opts: False .ft P .fi .UNINDENT @@ -58230,6 +59041,9 @@ prone to errors. Virtual Machine generation applications are available for many platforms: .INDENT 0.0 .TP +.B kiwi: (openSUSE, SLES, RHEL, CentOS) +\fI\%https://suse.github.io/kiwi/\fP +.TP .B vm\-builder: \fI\%https://wiki.debian.org/VMBuilder\fP .sp @@ -58240,13 +59054,6 @@ Virtual Machine generation applications are available for many platforms: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B kiwi: (openSUSE, SLES, RHEL, CentOS) -\fI\%https://suse.github.io/kiwi\fP -.INDENT 3.5 -.UNINDENT -.UNINDENT .sp Once virtual machine images are available, the easiest way to make them available to Salt Virt is to place them in the Salt file server. Just copy an @@ -58269,12 +59076,12 @@ Images for Fedora Linux can be found here: \fI\%http://fedoraproject.org/en/get\-fedora#clouds\fP .SS openSUSE .sp -Images for openSUSE can be found here (look for \fBJeOS\-for\-kvm\-and\-xen\fP variant): \fI\%http://download.opensuse.org/repositories/openSUSE:/Leap:/42.1:/Images/images\fP +.sp +(look for JeOS\-for\-kvm\-and\-xen variant) .SS SUSE .sp -Images for SUSE Linux Enterprise Linux can be downloaded from: -\fI\%https://www.suse.com/products/server/jeos\fp +\fI\%https://www.suse.com/products/server/jeos\fP .SS Ubuntu Linux .sp Images for Ubuntu Linux can be found here: @@ -59365,6 +60172,9 @@ salt\-cp \-G \(aqos:Arch.*\(aq [ options ] SOURCE DEST Salt copy copies a local file out to all of the Salt minions matched by the given target. .sp +Salt copy is only intended for use with small files (< 100KB). If you need +to copy large files out to minions please use the cp.get_file function. +.sp Note: salt\-cp uses salt\(aqs publishing mechanism. This means the privacy of the contents of the file on the wire is completely dependent upon the transport in use. In addition, if the salt\-master is running with debug logging it is @@ -59476,6 +60286,84 @@ file. \fIsalt(1)\fP \fIsalt\-master(1)\fP \fIsalt\-minion(1)\fP +.SS salt\-extend +.SS \fBsalt\-extend\fP +.sp +A utilty to generate extensions to the Salt source\-code. This is used for : +.INDENT 0.0 +.IP \(bu 2 +Adding new execution modules, state modules +.IP \(bu 2 +Adding unit tests to existing modules +.IP \(bu 2 +Adding integration tests to existing modules +.UNINDENT +.SS Synopsis +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-extend \-\-help +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Description +.sp +\fBsalt\-extend\fP is a templating tool for extending SaltStack. If you\(aqre looking to add a module to +SaltStack, then the \fBsalt\-extend\fP utility can guide you through the process. +.sp +You can use Salt Extend to quickly create templated modules for adding new behaviours to some of the module subsystems within Salt. +.sp +Salt Extend takes a template directory and merges it into a SaltStack source code directory. +.sp +\fISee also\fP: \fBSalt Extend\fP\&. +.SS Options +.INDENT 0.0 +.TP +.B \-\-extension, \-e +The extension type you want to develop, e.g. module, module_unit, state +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-salt\-directory, \-o +The path to the salt installation, defaults to . +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-name, \-n +The module name for the new module +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-description, \-d +A description of the new extension +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-no\-merge +Don\(aqt merge the new module into the Salt source directory specified by \fI\-\-salt\-directory\fP, save +to a temporary directory and print the directory path +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-debug +Print debug messages to stdout +.UNINDENT +.SS See also +.sp +\fIsalt\-api(1)\fP +\fIsalt\-call(1)\fP +\fIsalt\-cloud(1)\fP +\fIsalt\-cp(1)\fP +\fIsalt\-key(1)\fP +\fIsalt\-main(1)\fP +\fIsalt\-master(1)\fP +\fIsalt\-minion(1)\fP +\fIsalt\-run(1)\fP +\fIsalt\-ssh(1)\fP +\fIsalt\-syndic(1)\fP .SS salt\-key .SS \fBsalt\-key\fP .SS Synopsis @@ -61073,56 +61961,26 @@ The Python interface to PAM does not support authenticating as \fBroot\fP\&. .TP .B class salt.auth.pam.PamConv Wrapper class for pam_conv structure -.INDENT 7.0 -.TP -.B appdata_ptr -Structure/Union member -.UNINDENT -.INDENT 7.0 -.TP -.B conv -Structure/Union member -.UNINDENT .UNINDENT .INDENT 0.0 .TP .B class salt.auth.pam.PamHandle Wrapper class for pam_handle_t -.INDENT 7.0 -.TP -.B handle -Structure/Union member -.UNINDENT .UNINDENT .INDENT 0.0 .TP .B class salt.auth.pam.PamMessage Wrapper class for pam_message structure -.INDENT 7.0 -.TP -.B msg -Structure/Union member -.UNINDENT -.INDENT 7.0 -.TP -.B msg_style -Structure/Union member -.UNINDENT .UNINDENT .INDENT 0.0 .TP .B class salt.auth.pam.PamResponse Wrapper class for pam_response structure -.INDENT 7.0 -.TP -.B resp -Structure/Union member .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .TP -.B resp_retcode -Structure/Union member -.UNINDENT +.B salt.auth.pam.__virtual__() +Only load on Linux systems .UNINDENT .INDENT 0.0 .TP @@ -61171,6 +62029,11 @@ pyOpenSSL module .UNINDENT .INDENT 0.0 .TP +.B salt.auth.pki.__virtual__() +Requires newer pycrypto and pyOpenSSL +.UNINDENT +.INDENT 0.0 +.TP .B salt.auth.pki.auth(username, password, **kwargs) Returns True if the given user cert (password is the cert contents) was issued by the CA and if cert\(aqs Common Name is equal to username. @@ -61205,7 +62068,7 @@ external_auth: .sp Provide authentication using a REST call .sp -Django auth can be defined like any other eauth module: +REST auth can be defined like any other eauth module: .INDENT 0.0 .INDENT 3.5 .sp @@ -61234,10 +62097,6 @@ as above. .B salt.auth.rest.auth(username, password) REST authentication .UNINDENT -.INDENT 0.0 -.TP -.B salt.auth.rest.rest_auth_setup() -.UNINDENT .SS salt.auth.sharedsecret .sp Provide authentication using configured shared secret @@ -61495,6 +62354,11 @@ Beacon to emit adb device state changes for Android devices .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.beacons.adb.__validate__(config) +Validate the beacon configuration +.UNINDENT .INDENT 0.0 .TP .B salt.beacons.adb.beacon(config) @@ -61521,11 +62385,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.adb.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.btmp .sp Beacon to fire events at failed login of users @@ -61542,6 +62401,11 @@ beacons: .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.btmp.__validate__(config) +Validate the beacon configuration +.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 @@ -61556,11 +62420,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.btmp.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.diskusage .sp Beacon to monitor disk usage. @@ -61574,6 +62433,11 @@ python\-psutil .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.diskusage.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.diskusage.beacon(config) Monitor the disk usage of the minion .sp @@ -61609,17 +62473,17 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.diskusage.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.glxinfo module .sp Beacon to emit when a display is available to a linux machine .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.beacons.glxinfo.__validate__(config) +Validate the beacon configuration +.UNINDENT .INDENT 0.0 .TP .B salt.beacons.glxinfo.beacon(config) @@ -61640,11 +62504,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.glxinfo.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.inotify .sp Watch files and translate the changes into salt events @@ -61669,6 +62528,11 @@ Currently this excludes FreeBSD, Mac OS X, and Windows. .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.inotify.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.inotify.beacon(config) Watch the configured files .sp @@ -61690,6 +62554,8 @@ beacons: exclude: \- /path/to/file/or/dir/exclude1 \- /path/to/file/or/dir/exclude2 + \- /path/to/file/or/dir/regex[a\-m]*$: + regex: True .ft P .fi .UNINDENT @@ -61744,23 +62610,20 @@ Recursively watch files in the directory Automatically start watching files that are created in the watched directory .TP .B exclude: -Exclude directories or files from triggering events in the watched directory +Exclude directories or files from triggering events in the watched directory. +Can use regex if regex is set to True .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.inotify.close(config) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.inotify.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.journald .sp A simple beacon to watch journald for specific entries .INDENT 0.0 .TP +.B salt.beacons.journald.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.journald.beacon(config) The journald beacon allows for the systemd journal to be parsed and linked objects to be turned into events. @@ -61781,16 +62644,16 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.journald.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.load .sp Beacon to emit system load averages .INDENT 0.0 .TP +.B salt.beacons.load.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.load.beacon(config) Emit the load averages of this host. .sp @@ -61830,11 +62693,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.load.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.memusage module .sp Beacon to monitor memory usage. @@ -61848,6 +62706,11 @@ python\-psutil .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.memusage.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.memusage.beacon(config) Monitor the memory usage of the minion .sp @@ -61865,17 +62728,17 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.memusage.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.network_info .sp Beacon to monitor statistics from ethernet adapters .sp New in version 2015.5.0. +.INDENT 0.0 +.TP +.B salt.beacons.network_info.__validate__(config) +Validate the beacon configuration +.UNINDENT .INDENT 0.0 .TP .B salt.beacons.network_info.beacon(config) @@ -61933,11 +62796,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.network_info.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.network_settings .sp Beacon to monitor network adapter setting changes on Linux @@ -61951,6 +62809,11 @@ Helper class that implements a hash function for a dictionary .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.network_settings.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.network_settings.beacon(config) Watch for changes on network settings .sp @@ -62002,17 +62865,22 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.network_settings.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.pkg .sp Watch for pkgs that have upgrades, then fire an event. .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.beacons.pkg.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP +.B salt.beacons.pkg.__virtual__() +Only load if strace is installed +.UNINDENT .INDENT 0.0 .TP .B salt.beacons.pkg.beacon(config) @@ -62034,11 +62902,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.pkg.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.proxy_example module .sp Example beacon to use with salt\-proxy @@ -62056,6 +62919,17 @@ beacons: .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.proxy_example.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP +.B salt.beacons.proxy_example.__virtual__() +Trivially let the beacon load for the test example. +For a production beacon we should probably have some expression here. +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.proxy_example.beacon(config) Called several times each second \fI\%https://docs.saltstack.com/en/latest/topics/beacons/#the\-beacon\-function\fP @@ -62072,16 +62946,16 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.proxy_example.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.ps module .sp Send events covering service status .INDENT 0.0 .TP +.B salt.beacons.ps.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.ps.beacon(config) Scan for processes and fire events .sp @@ -62103,11 +62977,6 @@ beacons: The config above sets up beacons to check that processes are running or stopped. .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.ps.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.salt_proxy module .sp Beacon to manage and report the status of @@ -62138,6 +63007,11 @@ beacons: Send events covering service status .INDENT 0.0 .TP +.B salt.beacons.service.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.service.beacon(config) Scan for the configured services and fire events .sp @@ -62203,16 +63077,21 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.service.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.sh .sp Watch the shell commands being executed actively. This beacon requires strace. .INDENT 0.0 .TP +.B salt.beacons.sh.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP +.B salt.beacons.sh.__virtual__() +Only load if strace is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.sh.beacon(config) Scan the shell execve routines. This beacon will convert all login shells .INDENT 7.0 @@ -62227,16 +63106,16 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.sh.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.twilio_txt_msg .sp Beacon to emit Twilio text messages .INDENT 0.0 .TP +.B salt.beacons.twilio_txt_msg.__validate__(config) +Validate the beacon configuration +.UNINDENT +.INDENT 0.0 +.TP .B salt.beacons.twilio_txt_msg.beacon(config) Emit a dict name "texts" whose value is a list of texts. @@ -62256,11 +63135,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.twilio_txt_msg.validate(config) -Validate the beacon configuration -.UNINDENT .SS salt.beacons.wtmp .sp Beacon to fire events at login of users as registered in the wtmp file @@ -62277,6 +63151,11 @@ beacons: .UNINDENT .INDENT 0.0 .TP +.B salt.beacons.wtmp.__validate__(config) +Validate the beacon configuration +.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 @@ -62291,11 +63170,6 @@ beacons: .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.beacons.wtmp.validate(config) -Validate the beacon configuration -.UNINDENT .SS engine modules .TS center; @@ -62308,6 +63182,12 @@ Send events from Docker events T} _ T{ +\fBhttp_logstash\fP +T} T{ +HTTP Logstash engine +T} +_ +T{ \fBlogentries\fP T} T{ An engine that sends events to the Logentries logging service. @@ -62320,6 +63200,12 @@ An engine that reads messages from the salt event bus and pushes them onto a log T} _ T{ +\fBreactor\fP +T} T{ +Setup Reactor +T} +_ +T{ \fBredis_sentinel\fP T} T{ An engine that reads messages from the redis sentinel pubsub and sends reactor events based on the channels they are subscribed to. @@ -62353,6 +63239,12 @@ _ .SS salt.engines.docker_events module .sp Send events from Docker events +:Depends: Docker API >= 1.22 +.INDENT 0.0 +.TP +.B salt.engines.docker_events.__virtual__() +Only load if docker libs are present +.UNINDENT .INDENT 0.0 .TP .B salt.engines.docker_events.start(docker_url=\(aqunix://var/run/docker.sock\(aq, timeout=60, tag=\(aqsalt/engines/docker_events\(aq) @@ -62376,6 +63268,39 @@ The config above sets up engines to listen for events from the Docker daemon and publish them to the Salt event bus. .UNINDENT +.SS salt.engines.http_logstash +.SS HTTP Logstash engine +.sp +An engine that reads messages from the salt event bus and pushes +them onto a logstash endpoint via HTTP requests. +.INDENT 0.0 +.TP +.B configuration +Example configuration +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +engines: + \- http_logstash: + url: http://blabla.com/salt\-stuff + tags: + \- salt/job/*/new + \- salt/job/*/ret/* + funs: + \- probes.results + \- bgp.config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.engines.http_logstash.start(url, funs=None, tags=None) +Listen to salt events and forward them to logstash via HTTP. +.UNINDENT .SS salt.engines.logentries .sp An engine that sends events to the Logentries logging service. @@ -62447,39 +63372,6 @@ salt \(aq*\(aq test.ping cmd.run uptime .UNINDENT .INDENT 0.0 .TP -.B class salt.engines.logentries.PlainTextSocketAppender(verbose=True, LE_API=\(aqdata.logentries.com\(aq, LE_PORT=80, LE_TLS_PORT=443) -.INDENT 7.0 -.TP -.B close_connection() -.UNINDENT -.INDENT 7.0 -.TP -.B open_connection() -.UNINDENT -.INDENT 7.0 -.TP -.B put(data) -.UNINDENT -.INDENT 7.0 -.TP -.B reopen_connection() -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.engines.logentries.SocketAppender -alias of \fI\%TLSSocketAppender\fP -.UNINDENT -.INDENT 0.0 -.TP -.B class salt.engines.logentries.TLSSocketAppender(verbose=True, LE_API=\(aqdata.logentries.com\(aq, LE_PORT=80, LE_TLS_PORT=443) -.INDENT 7.0 -.TP -.B open_connection() -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.engines.logentries.start(endpoint=\(aqdata.logentries.com\(aq, port=10000, token=None, tag=\(aqsalt/engines/logentries\(aq) Listen to salt events and forward them to Logentries .UNINDENT @@ -62513,6 +63405,29 @@ logstash .B salt.engines.logstash.start(host, port=5959, tag=\(aqsalt/engine/logstash\(aq) Listen to salt events and forward them to logstash .UNINDENT +.SS salt.engines.reactor module +.sp +Setup Reactor +.sp +Example Config in Master or Minion config +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +engines: + reactor: + refresh_interval: 60 + worker_threads: 10 + worker_hwm: 10000 + +reactor: + \- \(aqsalt/cloud/*/destroyed\(aq: + \- /srv/reactor/destroy/*.sls +.ft P +.fi +.UNINDENT +.UNINDENT .SS salt.engines.redis_sentinel module .sp An engine that reads messages from the redis sentinel pubsub and sends reactor @@ -62556,22 +63471,6 @@ interface: eth2 .B depends redis .UNINDENT -.INDENT 0.0 -.TP -.B class salt.engines.redis_sentinel.Listener(host=None, port=None, channels=None, tag=None) -.INDENT 7.0 -.TP -.B run() -.UNINDENT -.INDENT 7.0 -.TP -.B work(item) -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.engines.redis_sentinel.start(hosts, channels, tag=None) -.UNINDENT .SS salt.engines.slack module .sp An engine that reads messages from Slack and sends them to the Salt @@ -62588,7 +63487,7 @@ Example configuration .nf .ft C engines: - \- slack: + slack: token: \(aqxoxb\-xxxxxxxxxx\-xxxxxxxxxxxxxxxxxxxxxxxx\(aq control: True valid_users: @@ -62596,10 +63495,13 @@ engines: valid_commands: \- test.ping \- cmd.run + \- list_jobs + \- list_commands aliases: list_jobs: - type: runner cmd: jobs.list_jobs + list_commands: + cmd: pillar.get salt:engines:slack:valid_commands target=saltmaster .ft P .fi .UNINDENT @@ -62610,7 +63512,7 @@ slackclient .UNINDENT .INDENT 0.0 .TP -.B salt.engines.slack.start(token, aliases=None, valid_users=None, valid_commands=None, control=False, tag=\(aqsalt/engines/slack\(aq) +.B salt.engines.slack.start(token, aliases=None, valid_users=None, valid_commands=None, control=False, trigger=\(aq!\(aq, tag=\(aqsalt/engines/slack\(aq) Listen to Slack events and forward them to Salt .UNINDENT .SS salt.engines.sqs_events @@ -62636,10 +63538,9 @@ Example Config: .sp .nf .ft C -engines: - \- sqs_events: - queue: test - profile: my\-sqs\-profile # optional +sqs.keyid: GKTADJGHEIQSXMKKRBJ08H +sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +sqs.message_format: json .ft P .fi .UNINDENT @@ -62663,6 +63564,20 @@ http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam\-roles\-for\-amazon\-ec2. If IAM roles are not (or for \fBboto\fP version < 2.5.1) used you need to specify them either in a pillar or in the config file of the master or minion, as appropriate: +.sp +To deserialize the message from json: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +sqs.message_format: json +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +It\(aqs also possible to specify key, keyid and region via a profile: .INDENT 0.0 .INDENT 3.5 .sp @@ -63195,22 +64110,6 @@ Generate chronos proxy minion grains. .sp New in version 2015.8.2. -.INDENT 0.0 -.TP -.B salt.grains.chronos.kernel() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.chronos.os() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.chronos.os_data() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.chronos.os_family() -.UNINDENT .SS salt.grains.core .sp The static grains, these are the core, or built in grains. @@ -63368,22 +64267,6 @@ Return list of disk devices Generate baseline proxy minion grains for ESXi hosts. .sp \&., versionadded:: 2015.8.4 -.INDENT 0.0 -.TP -.B salt.grains.esxi.esxi() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.esxi.kernel() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.esxi.os() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.esxi.os_family() -.UNINDENT .SS salt.grains.extra .INDENT 0.0 .TP @@ -63402,70 +64285,18 @@ The challenge is that most of Salt isn\(aqt bootstrapped yet, so we need to repeat a bunch of things that would normally happen in proxy/fx2.py\-\-just enough to get data from the chassis to include in grains. -.INDENT 0.0 -.TP -.B salt.grains.fx2.fx2() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.fx2.kernel() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.fx2.location() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.fx2.os_data() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.fx2.os_family() -.UNINDENT .SS salt.grains.junos .sp Grains for junos. -NOTE this is a little complicated\-\-junos can only be accessed via salt\-proxy\-minion. -Thus, some grains make sense to get them from the minion (PYTHONPATH), but others -don\(aqt (ip_interfaces) -.INDENT 0.0 -.TP -.B salt.grains.junos.defaults() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.junos.facts() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.junos.os_family() -.UNINDENT +NOTE this is a little complicated\-\-junos can only be accessed +via salt\-proxy\-minion.Thus, some grains make sense to get them +from the minion (PYTHONPATH), but others don\(aqt (ip_interfaces) .SS salt.grains.marathon .sp Generate marathon proxy minion grains. .sp New in version 2015.8.2. -.INDENT 0.0 -.TP -.B salt.grains.marathon.kernel() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.marathon.marathon() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.marathon.os() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.marathon.os_data() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.marathon.os_family() -.UNINDENT .SS salt.grains.mdadm .sp Detect MDADM RAIDs @@ -63489,51 +64320,11 @@ Static grains for the Philips HUE lamps .sp New in version 2015.8.3. -.INDENT 0.0 -.TP -.B salt.grains.philips_hue.kernel() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.philips_hue.os() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.philips_hue.os_family() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.philips_hue.product() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.philips_hue.vendor() -.UNINDENT .SS salt.grains.rest_sample .sp Generate baseline proxy minion grains .INDENT 0.0 .TP -.B salt.grains.rest_sample.kernel() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.rest_sample.location() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.rest_sample.os() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.rest_sample.os_data() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.grains.rest_sample.os_family() -.UNINDENT -.INDENT 0.0 -.TP .B salt.grains.rest_sample.proxy_functions(proxy) The loader will execute functions with one argument and pass a reference to the proxymodules LazyLoader object. However, @@ -63657,6 +64448,12 @@ center; |l|l|. _ T{ +\fBacme\fP +T} T{ +ACME / Let\(aqs Encrypt module +T} +_ +T{ \fBaliases\fP T} T{ Manage the information in the aliases file @@ -63675,6 +64472,18 @@ Support for Apache T} _ T{ +\fBapcups\fP +T} T{ +Module for apcupsd +T} +_ +T{ +\fBapf\fP +T} T{ +Support for Advanced Policy Firewall (APF) +T} +_ +T{ \fBaptpkg\fP T} T{ Support for APT (Advanced Packaging Tool) @@ -63747,6 +64556,12 @@ Support for Bluetooth (using BlueZ in Linux). T} _ T{ +\fBboto_apigateway\fP +T} T{ +Connection module for Amazon APIGateway +T} +_ +T{ \fBboto_asg\fP T} T{ Connection module for Amazon Autoscale Groups @@ -63771,6 +64586,12 @@ Connection module for Amazon CloudWatch T} _ T{ +\fBboto_cognitoidentity\fP +T} T{ +Connection module for Amazon CognitoIdentity +T} +_ +T{ \fBboto_datapipeline\fP T} T{ Connection module for Amazon Data Pipeline @@ -63795,6 +64616,12 @@ Connection module for Amazon Elasticache T} _ T{ +\fBboto_elasticsearch_domain\fP +T} T{ +Connection module for Amazon Elasticsearch Service +T} +_ +T{ \fBboto_elb\fP T} T{ Connection module for Amazon ELB @@ -63981,6 +64808,12 @@ Work with cron T} _ T{ +\fBcsf\fP +T} T{ +Support for Config Server Firewall (CSF) +T} +_ +T{ \fBcyg\fP T} T{ Manage cygwin packages. @@ -64491,7 +65324,19 @@ _ T{ \fBjunos\fP T} T{ -Module for interfacing to Junos devices +Module for interfacing to Junos devices. +T} +_ +T{ +\fBk8s\fP +T} T{ +Salt module to manage Kubernetes cluster +T} +_ +T{ +\fBkapacitor\fP +T} T{ +Kapacitor execution module. T} _ T{ @@ -64645,6 +65490,12 @@ Install certificates into the keychain on Mac OS T} _ T{ +\fBmac_package\fP +T} T{ +Install pkg, dmg and .app applications on Mac OS X minions. +T} +_ +T{ \fBmac_pkgutil\fP T} T{ Installer support for OS X. @@ -64837,6 +65688,30 @@ Check Host & Service status from Nagios via JSON RPC. T} _ T{ +\fBnapalm_bgp\fP +T} T{ +NAPALM BGP +T} +_ +T{ +\fBnapalm_network\fP +T} T{ +NAPALM Network +T} +_ +T{ +\fBnapalm_ntp\fP +T} T{ +NAPALM NTP +T} +_ +T{ +\fBnapalm_probes\fP +T} T{ +NAPALM Probes +T} +_ +T{ \fBnetaddress\fP T} T{ Module for getting information about network addresses. @@ -64891,12 +65766,6 @@ Support for nginx T} _ T{ -\fBnode\fP -T} T{ -Module for full system inspection. -T} -_ -T{ \fBnova\fP T} T{ Module for handling OpenStack Nova calls @@ -64915,6 +65784,12 @@ Manage nspawn containers T} _ T{ +\fBnxos\fP +T} T{ +Execution module for Cisco NX OS Switches Proxy minions +T} +_ +T{ \fBomapi\fP T} T{ This module interacts with an ISC DHCP Server via OMAPI. @@ -64999,12 +65874,24 @@ Support for pam T} _ T{ +\fBparallels\fP +T} T{ +Manage Parallels Desktop VMs with \fBprlctl\fP and \fBprlsrvctl\fP\&. +T} +_ +T{ \fBparted\fP T} T{ Module for managing partitions on POSIX\-like systems. T} _ T{ +\fBpcs\fP +T} T{ +Configure a Pacemaker/Corosync cluster with PCS +T} +_ +T{ \fBpecl\fP T} T{ Manage PHP pecl extensions. @@ -65376,6 +66263,12 @@ Module for running imgadm command on SmartOS T} _ T{ +\fBsmartos_nictagadm\fP +T} T{ +Module for running nictagadm command on SmartOS +T} +_ +T{ \fBsmartos_virt\fP T} T{ virst compatibility module for managing VMs on SmartOS @@ -65749,7 +66642,7 @@ _ T{ \fBwin_dsc\fP T} T{ -Module for managing PowerShell modules +Module for working with DSC (Alpha) T} _ T{ @@ -65897,6 +66790,11 @@ This module (mostly) uses the XenAPI to manage Xen virtual machines. T} _ T{ +\fBxbps\-pkg\fP +T} T{ +T} +_ +T{ \fBxfs\fP T} T{ Module for managing XFS file systems. @@ -65963,6 +66861,221 @@ Package support for openSUSE via the zypper package manager T} _ .TE +.SS salt.modules.acme module +.SS ACME / Let\(aqs Encrypt module +.sp +This module currently uses letsencrypt\-auto, which needs to be available in the path or in /opt/letsencrypt/. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Currently only the webroot authentication is tested/implemented. +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Installation & configuration of the Let\(aqs Encrypt client can for example be done using +\fI\%https://github.com/saltstack\-formulas/letsencrypt\-formula\fP +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 0.0 +.INDENT 3.5 +Be sure to set at least accept\-tos = True in cli.ini! +.UNINDENT +.UNINDENT +.sp +Most parameters will fall back to cli.ini defaults if None is given. +.INDENT 0.0 +.TP +.B salt.modules.acme.__virtual__() +Only work when letsencrypt\-auto is installed +.UNINDENT +.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=\(aqroot\(aq, group=\(aqroot\(aq) +Obtain/renew a certificate from an ACME CA, probably Let\(aqs Encrypt. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Common Name of the certificate (DNS name of certificate) +.IP \(bu 2 +\fBaliases\fP \-\- subjectAltNames (Additional DNS names on certificate) +.IP \(bu 2 +\fBemail\fP \-\- e\-mail address for interaction with ACME provider +.IP \(bu 2 +\fBwebroot\fP \-\- True or full path to webroot used for authentication +.IP \(bu 2 +\fBtest_cert\fP \-\- Request a certificate from the Happy Hacker Fake CA (mutually exclusive with \(aqserver\(aq) +.IP \(bu 2 +\fBrenew\fP \-\- True/\(aqforce\(aq to force a renewal, or a window of renewal before expiry in days +.IP \(bu 2 +\fBkeysize\fP \-\- RSA key bits +.IP \(bu 2 +\fBserver\fP \-\- API endpoint to talk to +.IP \(bu 2 +\fBowner\fP \-\- owner of private key +.IP \(bu 2 +\fBgroup\fP \-\- group of private key +.UNINDENT +.TP +.B Returns +dict with \(aqresult\(aq True/False/None, \(aqcomment\(aq and certificate\(aqs expiry date (\(aqnot_after\(aq) +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqgitlab.example.com\(aq acme.cert dev.example.com "[gitlab.example.com]" test_cert=True renew=14 webroot=/opt/gitlab/embedded/service/gitlab\-rails/public +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.acme.certs() +Return a list of active certificates +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqvhost.example.com\(aq acme.certs +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.acme.expires(name) +The expiry date of a certificate in ISO format +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP \-\- CommonName of cert +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqgitlab.example.com\(aq acme.expires dev.example.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.acme.has(name) +Test if a certificate is in the Let\(aqs Encrypt Live directory +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP \-\- CommonName of cert +.UNINDENT +.sp +Code example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +if __salt__[\(aqacme.has\(aq](\(aqdev.example.com\(aq): + log.info(\(aqThat is one nice certificate you have there!\(aq) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.acme.info(name) +Return information about a certificate +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Will output tls.cert_info if that\(aqs available, or OpenSSL text if not +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP \-\- CommonName of cert +.UNINDENT +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqgitlab.example.com\(aq acme.info dev.example.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.acme.needs_renewal(name, window=None) +Check if a certicate needs renewal +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- CommonName of cert +.IP \(bu 2 +\fBwindow\fP \-\- Window in days to renew earlier or True/force to just return True +.UNINDENT +.UNINDENT +.sp +Code example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +if __salt__[\(aqacme.needs_renewal\(aq](\(aqdev.example.com\(aq): + __salt__[\(aqacme.cert\(aq](\(aqdev.example.com\(aq, **kwargs) +else: + log.info(\(aqYour certificate is still good\(aq) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.acme.renew_by(name, window=None) +Date in ISO format when a certificate should first be renewed +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- CommonName of cert +.IP \(bu 2 +\fBwindow\fP \-\- number of days before expiry when renewal should take place +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.aliases .sp Manage the information in the aliases file @@ -66073,6 +67186,11 @@ Radek Rada <\fI\%radek.rada@gmail.com\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.modules.alternatives.__virtual__() +Only if alternatives dir is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.alternatives.auto(name) Trigger alternatives to set the path for as specified by priority. @@ -66218,7 +67336,7 @@ salt \(aq*\(aq alternatives.show_current editor .B salt.modules.alternatives.show_link(name) Display master link for the alternative .sp -New in version 2015.8.13,2016.3.4,Carbon. +New in version 2015.8.13,2016.3.4,2016.11.0. .sp CLI Example: @@ -66248,6 +67366,11 @@ Debian\-based system is detected. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.apache.__virtual__() +Only load the module if apache is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.apache.config(name, config, edit=True) Create VirtualHost configuration files .INDENT 7.0 @@ -66500,6 +67623,231 @@ salt \-t 10 \(aq*\(aq apache.vhosts .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.apcups +.sp +Module for apcupsd +.INDENT 0.0 +.TP +.B salt.modules.apcups.__virtual__() +Provides apcupsd only if apcaccess is present +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apcups.status() +Return apcaccess output +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apcups.status +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apcups.status_battery() +Return true if running on battery power +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apcups.status_battery +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apcups.status_charge() +Return battery charge +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apcups.status_charge +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apcups.status_load() +Return load +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apcups.status_load +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.apf +.SS Support for Advanced Policy Firewall (APF) +.INDENT 0.0 +.TP +.B maintainer +Mostafa Hussein <\fI\%mostafa.hussein91@gmail.com\fP> +.TP +.B maturity +new +.TP +.B depends +python\-iptables +.TP +.B platform +Linux +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.__virtual__() +Only load if apf exists on the system +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.allow(ip, port=None) +Add host (IP/FQDN) to allow_hosts.rules and immediately load new rule into firewall +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.allow 127.0.0.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.deny(ip) +Add host (IP/FQDN) to deny_hosts.rules and immediately load new rule into firewall +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.deny 1.2.3.4 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.disable() +Stop (flush) all firewall rules +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.disable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.enable() +Load all firewall rules +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.enable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.refresh() +Refresh & resolve dns names in trust rules +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.refresh +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.reload() +Stop (flush) & reload firewall rules +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.reload +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.remove(ip) +Remove host from [glob]*_hosts.rules and immediately remove rule from firewall +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.remove 1.2.3.4 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.apf.running() +Check apf status +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq apf.running +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.aptpkg .sp Support for APT (Advanced Packaging Tool) @@ -66524,6 +67872,11 @@ For repository management, the \fBpython\-apt\fP package must be installed. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.aptpkg.__virtual__() +Confirm this module is on a Debian based system +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.aptpkg.autoremove(list_only=False, purge=False) New in version 2015.5.0. @@ -66803,7 +68156,7 @@ salt \(aq*\(aq pkg.info_installed ... .INDENT 0.0 .TP .B salt.modules.aptpkg.install(name=None, refresh=False, fromrepo=None, skip_verify=False, debconf=None, pkgs=None, sources=None, reinstall=False, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any apt\-get/dpkg commands spawned by Salt when the @@ -66841,6 +68194,19 @@ salt \(aq*\(aq pkg.install .TP .B refresh Whether or not to refresh the package database before installing. +.UNINDENT +.sp +cache_valid_time +.INDENT 7.0 +.INDENT 3.5 +New in version 2016.11.0. + +.sp +Skip refreshing the package database if refresh has already occurred within + seconds +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B fromrepo Specify a package repository to install from @@ -66968,6 +68334,17 @@ string will be returned for that package. .sp A specific repo can be requested using the \fBfromrepo\fP keyword argument. .sp +cache_valid_time +.INDENT 7.0 +.INDENT 3.5 +New in version 2016.11.0. + +.sp +Skip refreshing the package database if refresh has already occurred within + seconds +.UNINDENT +.UNINDENT +.sp CLI Example: .INDENT 7.0 .INDENT 3.5 @@ -67063,6 +68440,19 @@ List all available package upgrades. .B refresh Whether to refresh the package database before listing upgrades. Default: True. +.UNINDENT +.sp +cache_valid_time +.INDENT 7.0 +.INDENT 3.5 +New in version 2016.11.0. + +.sp +Skip refreshing the package database if refresh has already occurred within + seconds +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B dist_upgrade Whether to list the upgrades using dist\-upgrade vs upgrade. Default is @@ -67176,7 +68566,7 @@ salt \(aq*\(aq pkg.owner /usr/bin/apachectl /usr/bin/basename .INDENT 0.0 .TP .B salt.modules.aptpkg.purge(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any apt\-get/dpkg commands spawned by Salt when the @@ -67222,7 +68612,7 @@ salt \(aq*\(aq pkg.purge pkgs=\(aq["foo", "bar"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.aptpkg.refresh_db() +.B salt.modules.aptpkg.refresh_db(cache_valid_time=0) Updates the APT database to latest packages based upon repositories .sp Returns a dict, with the keys being package databases and the values being @@ -67236,6 +68626,17 @@ the result of the update attempt. Values can be one of the following: \fBNone\fP: Database already up\-to\-date .UNINDENT .sp +cache_valid_time +.INDENT 7.0 +.INDENT 3.5 +New in version 2016.11.0. + +.sp +Skip refreshing the package database if refresh has already occurred within + seconds +.UNINDENT +.UNINDENT +.sp CLI Example: .INDENT 7.0 .INDENT 3.5 @@ -67251,7 +68652,7 @@ salt \(aq*\(aq pkg.refresh_db .INDENT 0.0 .TP .B salt.modules.aptpkg.remove(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any apt\-get/dpkg commands spawned by Salt when the @@ -67397,7 +68798,7 @@ salt \(aq*\(aq pkg.unhold pkgs=\(aq["foo", "bar"]\(aq .INDENT 0.0 .TP .B salt.modules.aptpkg.upgrade(refresh=True, dist_upgrade=False, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any apt\-get/dpkg commands spawned by Salt when the @@ -67410,7 +68811,7 @@ from killing any apt\-get/dpkg commands spawned by Salt when the Upgrades all packages via \fBapt\-get upgrade\fP or \fBapt\-get dist\-upgrade\fP if \fBdist_upgrade\fP is \fBTrue\fP\&. .sp -Returns a dict containing the changes: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp @@ -67430,6 +68831,19 @@ is to use upgrade. .sp New in version 2014.7.0. +.UNINDENT +.sp +cache_valid_time +.INDENT 7.0 +.INDENT 3.5 +New in version 2016.11.0. + +.sp +Skip refreshing the package database if refresh has already occurred within + seconds +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B force_conf_new Always install the new version of any configuration files. @@ -67559,12 +68973,11 @@ salt \(aq*\(aq archive.cmd_unzip template=jinja /tmp/zipfile.zip /tmp/{{grains.i .UNINDENT .TP .B options -None -Additional command\-line options to pass to the \fBunzip\fP binary. +Optional when using \fBzip\fP archives, ignored when usign other archives +files. This is mostly used to overwrite exsiting files with \fBo\fP\&. +This options are only used when \fBunzip\fP binary is used. .sp -Changed in version 2015.8.0: The mandatory \fI\-\fP prefixing has been removed. An options string -beginning with a \fI\-\-long\-option\fP, would have uncharacteristically -needed its first \fI\-\fP removed under the former scheme. +New in version 2016.3.1. .TP .B runas @@ -67940,7 +69353,7 @@ salt \(aq*\(aq archive.unrar /tmp/rarfile.rar /home/strongbad/ excludes=file_1,f .UNINDENT .INDENT 0.0 .TP -.B salt.modules.archive.unzip(zip_file, dest, excludes=None, template=None, runas=None, trim_output=False, password=None) +.B salt.modules.archive.unzip(zip_file, dest, excludes=None, options=None, template=None, runas=None, trim_output=False, password=None, extract_perms=False) Uses the \fBzipfile\fP Python module to unpack zip files .sp Changed in version 2015.5.0: This function was rewritten to use Python\(aqs native zip file support. @@ -67960,6 +69373,13 @@ The destination directory into which the file should be unpacked None Comma\-separated list of files not to unpack. Can also be passed in a Python list. +.TP +.B options +This options are only used when \fBunzip\fP binary is used. In this +function is ignored. +.sp +New in version 2016.3.1. + .TP .B template None @@ -68005,6 +69425,17 @@ Password to use with password protected zip files .sp New in version 2016.3.0. +.TP +.B extract_perms: False +The python zipfile module does not extract file/directory attributes by default. +Setting this flag will attempt to apply the file permision attributes to the +extracted files/folders. +.sp +On Windows, only the read\-only flag will be extracted as set within the zip file, +other attributes (i.e. user/group permissions) are ignored. +.sp +New in version 2016.11.0. + .UNINDENT .sp CLI Example: @@ -68095,7 +69526,8 @@ salt \(aq*\(aq archive.zip /tmp/zipfile.zip /tmp/sourcefile1,/tmp/sourcefile2 Module for fetching artifacts from Artifactory .INDENT 0.0 .TP -.B exception salt.modules.artifactory.ArtifactoryError(value) +.B salt.modules.artifactory.__virtual__() +Only load if elementtree xml library is available. .UNINDENT .INDENT 0.0 .TP @@ -68259,6 +69691,11 @@ Also, a \(aqtag\(aq feature has been added to more easily tag jobs. .INDENT 0.0 .TP +.B salt.modules.at.__virtual__() +Most everything has the ability to support at(1) +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.at.at(*args, **kwargs) Add a job to the queue. .sp @@ -68390,6 +69827,11 @@ known to resolve the issue. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.augeas_cfg.__virtual__() +Only run this module if the augeas python module is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.augeas_cfg.execute(context=None, lens=None, commands=(), load_path=None) Execute Augeas commands .sp @@ -68864,6 +70306,11 @@ New in version 2015.8.0. Requires a \fBsubdomain\fP and an \fBapikey\fP in \fB/etc/salt/minion\fP: .INDENT 0.0 .TP +.B salt.modules.bamboohr.__virtual__() +Only load the module if apache is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.bamboohr.list_employees(order_by=\(aqid\(aq) Show all employees for this company. .sp @@ -69023,6 +70470,11 @@ 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.__virtual__() +Only work when make\-bcache is installed +.UNINDENT +.INDENT 0.0 +.TP .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. @@ -69564,6 +71016,11 @@ f5_bigip_11.6 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.bigip.__virtual__() +Only return if requests is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.bigip.add_pool_member(hostname, username, password, name, member) A function to connect to a bigip device and add a new member to an existing pool. .INDENT 7.0 @@ -71065,40 +72522,23 @@ Module for managing block devices New in version 2014.7.0. .sp -Deprecated since version Carbon: Merged to \fIdisk\fP module +Deprecated since version 2016.11.0: Merged to \fIdisk\fP module .INDENT 0.0 .TP -.B salt.modules.blockdev.dump(device, args=None) -Return all contents of dumpe2fs for a specified device -.sp -Deprecated since version 2016.3.0: Use \fIdisk.dump\fP - -.INDENT 7.0 -.TP -.B args -a list containing only the desired arguments to return -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq blockdev.dump /dev/sdX1 -.ft P -.fi -.UNINDENT -.UNINDENT +.B salt.modules.blockdev.__virtual__() +Only load this module if the blockdev utility is available .UNINDENT .INDENT 0.0 .TP -.B salt.modules.blockdev.format(device, fs_type=\(aqext4\(aq, inode_size=None, lazy_itable_init=None) +.B salt.modules.blockdev.format(device, fs_type=\(aqext4\(aq, inode_size=None, lazy_itable_init=None, force=False) Format a filesystem onto a block device .sp New in version 2015.8.2. +.sp +Deprecated since version 2016.11.0. + .INDENT 7.0 .TP .B device @@ -71121,6 +72561,16 @@ is first mounted. If the option value is omitted, it defaults to 1 to enable lazy inode table zeroing. .sp This option is only enabled for ext filesystems +.TP +.B force +Force mke2fs to create a filesystem, even if the specified device is +not a partition on a block special device. This option is only enabled +for ext and xfs filesystems +.sp +This option is dangerous, use it with caution. +.sp +New in version 2016.11.0. + .UNINDENT .sp CLI Example: @@ -71142,6 +72592,9 @@ Return the filesystem name of a block device .sp New in version 2015.8.2. +.sp +Deprecated since version 2016.11.0. + .INDENT 7.0 .TP .B device @@ -71160,68 +72613,6 @@ salt \(aq*\(aq blockdev.fstype /dev/sdX1 .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.blockdev.resize2fs(device) -Resizes the filesystem. -.sp -Deprecated since version 2016.3.0: Use \fIdisk.resize2fs\fP - -.sp -CLI Example: -.. code\-block:: bash -.INDENT 7.0 -.INDENT 3.5 -salt \(aq*\(aq blockdev.resize2fs /dev/sdX1 -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.blockdev.tune(device, **kwargs) -Set attributes for the specified device -.sp -Deprecated since version 2016.3.0: Use \fIdisk.tune\fP - -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq blockdev.tune /dev/sdX1 read\-ahead=1024 read\-write=True -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Valid options are: \fBread\-ahead\fP, \fBfilesystem\-read\-ahead\fP, -\fBread\-only\fP, \fBread\-write\fP\&. -.sp -See the \fBblockdev(8)\fP manpage for a more complete description of these -options. -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.blockdev.wipe(device) -Remove the filesystem information -.sp -Deprecated since version 2016.3.0: Use \fIdisk.tune\fP - -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq blockdev.wipe /dev/sdX1 -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT .SS salt.modules.bluez .sp Support for Bluetooth (using BlueZ in Linux). @@ -71237,6 +72628,11 @@ pybluez >= 0.18 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.bluez.__virtual__() +Only load the module if bluetooth is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.bluez.address() Get the many addresses of the Bluetooth adapter .sp @@ -71451,6 +72847,983 @@ salt \(aq*\(aq bluetoothd.version .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_apigateway module +.sp +Connection module for Amazon APIGateway +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit Lambda credentials but can also +utilize IAM roles assigned to the instance trough 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 +apigateway.keyid: GKTADJGHEIQSXMKKRBJ08H +apigateway.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 +apigateway.region: us\-west\-2 +.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\-west\-2 +.ft P +.fi +.UNINDENT +.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_apigateway\fP) return: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +apigateway: + \- {...} + \- {...} +.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 + +.INDENT 0.0 +.TP +.B depends +boto3 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.activate_api_deployment(restApiId, stageName, deploymentId, region=None, key=None, keyid=None, profile=None) +Activates previously deployed deployment for a given stage +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.activate_api_deployent restApiId stagename deploymentId +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.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. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.exists myapi_name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.api_model_exists(restApiId, modelName, region=None, key=None, keyid=None, profile=None) +Check to see if the given modelName exists in the given restApiId +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.api_model_exists restApiId modelName +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.associate_api_key_stagekeys(apiKey, stagekeyslist, region=None, key=None, keyid=None, profile=None) +associate the given stagekeyslist to the given apiKey. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.associate_stagekeys_api_key \e + api_key \(aq["restapi id/stage name", ...]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api(name, description, cloneFrom=None, region=None, key=None, keyid=None, profile=None) +Create a new REST API Service with the given name +.sp +Returns {created: True} if the rest api was created and returns +{created: False} if the rest api was not created. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api myapi_name api_description +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_deployment(restApiId, stageName, stageDescription=\(aq\(aq, description=\(aq\(aq, cacheClusterEnabled=False, cacheClusterSize=\(aq0.5\(aq, variables=None, region=None, key=None, keyid=None, profile=None) +Creates a new API deployment. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_deployent restApiId stagename stageDescription=\(aq\(aq \e +description=\(aq\(aq cacheClusterEnabled=True|False cacheClusterSize=0.5 variables=\(aq{"name": "value"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_integration(restApiId, resourcePath, httpMethod, integrationType, integrationHttpMethod, uri, credentials, requestParameters=None, requestTemplates=None, region=None, key=None, keyid=None, profile=None) +Creates an integration for a given method in a given API. +If integrationType is MOCK, uri and credential parameters will be ignored. +.sp +uri is in the form of (substitute APIGATEWAY_REGION and LAMBDA_FUNC_ARN) +"arn:aws:apigateway:APIGATEWAY_REGION:lambda:path/2015\-03\-31/functions/LAMBDA_FUNC_ARN/invocations" +.sp +credentials is in the form of an iam role name or role arn. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_integration restApiId resourcePath httpMethod \e + integrationType integrationHttpMethod uri credentials [\(aq{}\(aq [\(aq{}\(aq]] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_integration_response(restApiId, resourcePath, httpMethod, statusCode, selectionPattern, responseParameters=None, responseTemplates=None, region=None, key=None, keyid=None, profile=None) +Creates an integration response for a given method in a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_integration_response restApiId resourcePath httpMethod \e + statusCode selectionPattern [\(aq{}\(aq [\(aq{}\(aq]] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_key(name, description, enabled=True, stageKeys=None, region=None, key=None, keyid=None, profile=None) +Create an API key given name and description. +.sp +An optional enabled argument can be provided. If provided, the +valid values are True|False. This argument defaults to True. +.sp +An optional stageKeys argument can be provided in the form of +list of dictionary with \(aqrestApiId\(aq and \(aqstageName\(aq as keys. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_key name description + +salt myminion boto_apigateway.create_api_key name description enabled=False + +salt myminion boto_apigateway.create_api_key name description \e + stageKeys=\(aq[{"restApiId": "id", "stageName": "stagename"}]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_method(restApiId, resourcePath, httpMethod, authorizationType, apiKeyRequired=False, requestParameters=None, requestModels=None, region=None, key=None, keyid=None, profile=None) +Creates API method for a resource in the given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_method restApiId resourcePath, httpMethod, authorizationType, \e + apiKeyRequired=False, requestParameters=\(aq{"name", "value"}\(aq, requestModels=\(aq{"content\-type", "value"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_method_response(restApiId, resourcePath, httpMethod, statusCode, responseParameters=None, responseModels=None, region=None, key=None, keyid=None, profile=None) +Create API method response for a method on a given resource in the given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_method_response restApiId resourcePath httpMethod \e + statusCode responseParameters=\(aq{"name", "True|False"}\(aq responseModels=\(aq{"content\-type", "model"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_model(restApiId, modelName, modelDescription, schema, contentType=\(aqapplication/json\(aq, region=None, key=None, keyid=None, profile=None) +Create a new model in a given API with a given schema, currently only contentType supported is +\(aqapplication/json\(aq +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_model restApiId modelName modelDescription \(aq\(aq \(aqcontent\-type\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_resources(restApiId, path, region=None, key=None, keyid=None, profile=None) +Given rest api id, and an absolute resource path, create all the resources and +return all resources in the resourcepath, returns False on failure. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_resources myapi_id resource_path +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.create_api_stage(restApiId, stageName, deploymentId, description=\(aq\(aq, cacheClusterEnabled=False, cacheClusterSize=\(aq0.5\(aq, variables=None, region=None, key=None, keyid=None, profile=None) +Creates a new API stage for a given restApiId and deploymentId. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.create_api_stage restApiId stagename deploymentId \e + description=\(aq\(aq cacheClusterEnabled=True|False cacheClusterSize=\(aq0.5\(aq variables=\(aq{"name": "value"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api(name, description=None, region=None, key=None, keyid=None, profile=None) +Delete all REST API Service with the given name and an optional API description +.sp +Returns {deleted: True, count: deleted_count} if apis were deleted, and +returns {deleted: False} if error or not found. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api myapi_name + +salt myminion boto_apigateway.delete_api myapi_name description=\(aqapi description\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_deployment(restApiId, deploymentId, region=None, key=None, keyid=None, profile=None) +Deletes API deployment for a given restApiId and deploymentID +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_deployent restApiId deploymentId +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_integration(restApiId, resourcePath, httpMethod, region=None, key=None, keyid=None, profile=None) +Deletes an integration for a given method in a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_integration restApiId resourcePath httpMethod +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_integration_response(restApiId, resourcePath, httpMethod, statusCode, region=None, key=None, keyid=None, profile=None) +Deletes an integration response for a given method in a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_integration_response restApiId resourcePath httpMethod statusCode +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_key(apiKey, region=None, key=None, keyid=None, profile=None) +Deletes a given apiKey +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_key apikeystring +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_method(restApiId, resourcePath, httpMethod, region=None, key=None, keyid=None, profile=None) +Delete API method for a resource in the given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_method restApiId resourcePath httpMethod +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_method_response(restApiId, resourcePath, httpMethod, statusCode, region=None, key=None, keyid=None, profile=None) +Delete API method response for a resource in the given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_method_response restApiId resourcePath httpMethod statusCode +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_model(restApiId, modelName, region=None, key=None, keyid=None, profile=None) +Delete a model identified by name in a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_model restApiId modelName +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.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. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_resources myapi_id, resource_path +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.delete_api_stage(restApiId, stageName, region=None, key=None, keyid=None, profile=None) +Deletes stage identified by stageName from API identified by restApiId +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.delete_api_stage restApiId stageName +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_deployment(restApiId, deploymentId, region=None, key=None, keyid=None, profile=None) +Get API deployment for a given restApiId and deploymentId. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_deployent restApiId deploymentId +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_deployments(restApiId, region=None, key=None, keyid=None, profile=None) +Gets information about the defined API Deployments. Return list of api deployments. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_deployments restApiId +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_integration(restApiId, resourcePath, httpMethod, region=None, key=None, keyid=None, profile=None) +Get an integration for a given method in a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_integration restApiId resourcePath httpMethod +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_integration_response(restApiId, resourcePath, httpMethod, statusCode, region=None, key=None, keyid=None, profile=None) +Get an integration response for a given method in a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_integration_response restApiId resourcePath httpMethod statusCode +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_key(apiKey, region=None, key=None, keyid=None, profile=None) +Gets info about the given api key +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_key apigw_api_key +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_keys(region=None, key=None, keyid=None, profile=None) +Gets information about the defined API Keys. Return list of apiKeys. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_keys +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_method(restApiId, resourcePath, httpMethod, region=None, key=None, keyid=None, profile=None) +Get API method for a resource in the given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_method restApiId resourcePath httpMethod +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_method_response(restApiId, resourcePath, httpMethod, statusCode, region=None, key=None, keyid=None, profile=None) +Get API method response for a resource in the given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_method_response restApiId resourcePath httpMethod statusCode +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_model(restApiId, modelName, flatten=True, region=None, key=None, keyid=None, profile=None) +Get a model by name for a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_model restApiId modelName [True] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_models(restApiId, region=None, key=None, keyid=None, profile=None) +Get all models for a given API +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_models restApiId +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_resource(restApiId, path, region=None, key=None, keyid=None, profile=None) +Given rest api id, and an absolute resource path, returns the resource id for +the given path. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_resource myapi_id resource_path +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_resource_method(restApiId, resourcePath, httpMethod, region=None, key=None, keyid=None, profile=None) +Given rest api id, resource path, and http method (must be one of DELETE, +GET, HEAD, OPTIONS, PATCH, POST, PUT), return the method for the +api/resource path if defined. Return False if method is not defined. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_resource_method myapi_id resource_path httpmethod +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_resources(restApiId, region=None, key=None, keyid=None, profile=None) +Given rest api id, return all resources for this api. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_resources myapi_id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_stage(restApiId, stageName, region=None, key=None, keyid=None, profile=None) +Get API stage for a given apiID and stage name +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_stage restApiId stageName +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_api_stages(restApiId, deploymentId, region=None, key=None, keyid=None, profile=None) +Get all API stages for a given apiID and deploymentID +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_api_stages restApiId deploymentId +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.describe_apis(name=None, description=None, region=None, key=None, keyid=None, profile=None) +Returns all rest apis in the defined region. If optional parameter name is included, +returns all rest apis matching the name in the defined region. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.describe_apis + +salt myminion boto_apigateway.describe_apis name=\(aqapi name\(aq + +salt myminion boto_apigateway.describe_apis name=\(aqapi name\(aq description=\(aqdesc str\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.disable_api_key(apiKey, region=None, key=None, keyid=None, profile=None) +disable the given apiKey. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.enable_api_key api_key +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.disassociate_api_key_stagekeys(apiKey, stagekeyslist, region=None, key=None, keyid=None, profile=None) +disassociate the given stagekeyslist to the given apiKey. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.disassociate_stagekeys_api_key \e + api_key \(aq["restapi id/stage name", ...]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.enable_api_key(apiKey, region=None, key=None, keyid=None, profile=None) +enable the given apiKey. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.enable_api_key api_key +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.flush_api_stage_cache(restApiId, stageName, region=None, key=None, keyid=None, profile=None) +Flushes cache for the stage identified by stageName from API identified by restApiId +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.flush_api_stage_cache restApiId stageName +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.overwrite_api_stage_variables(restApiId, stageName, variables, region=None, key=None, keyid=None, profile=None) +Overwrite the stage variables for the given restApiId and stage name with the given variables, +variables must be in the form of a dictionary. Overwrite will always remove all the existing +stage variables associated with the given restApiId and stage name, follow by the adding of all the +variables specified in the variables dictionary +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.overwrite_api_stage_variables restApiId stageName variables=\(aq{"name": "value"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.update_api_key_description(apiKey, description, region=None, key=None, keyid=None, profile=None) +update the given apiKey with the given description. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.update_api_key_description api_key description +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_apigateway.update_api_model_schema(restApiId, modelName, schema, region=None, key=None, keyid=None, profile=None) +update the schema (in python dictionary format) for the given model in the given restApiId +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_apigateway.update_api_model_schema restApiId modelName schema +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_asg .sp Connection module for Amazon Autoscale Groups @@ -71521,6 +73894,14 @@ myprofile: .TP .B depends boto +.TP +.B depends +boto3 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_asg.__virtual__() +Only load if boto libraries exist. .UNINDENT .INDENT 0.0 .TP @@ -71592,6 +73973,43 @@ salt myminion boto_asg.delete_launch_configuration mylc .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 @@ -71609,6 +74027,64 @@ salt myminion boto_asg.exists myasg region=us\-east\-1 .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 scripts and cloud\-config. @@ -71697,6 +74173,44 @@ salt myminion boto_asg.launch_configuration_exists mylc .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 @@ -71767,6 +74281,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_cfn.__virtual__() +Only load if boto libraries exist. +.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 @@ -71966,6 +74485,12 @@ boto3 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_cloudtrail.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_cloudtrail.add_tags(Name, region=None, key=None, keyid=None, profile=None, **kwargs) Add tags to a trail .sp @@ -71986,7 +74511,7 @@ salt myminion boto_cloudtrail.add_tags my_trail tag_a=tag_value tag_b=tag_value .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_cloudtrail.create(Name, S3BucketName, S3KeyPrefix=None, SnsTopicName=None, IncludeGlobalServiceEvents=None, EnableLogFileValidation=None, CloudWatchLogsLogGroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_cloudtrail.create(Name, S3BucketName, S3KeyPrefix=None, SnsTopicName=None, IncludeGlobalServiceEvents=None, IsMultiRegionTrail=None, EnableLogFileValidation=None, CloudWatchLogsLogGroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None, region=None, key=None, keyid=None, profile=None) Given a valid config, create a trail. .sp Returns {created: true} if the trail was created and returns @@ -72090,17 +74615,17 @@ policies: List tags of a trail .INDENT 7.0 .TP -.B Returns: +.B Returns .INDENT 7.0 +.IP \(bu 2 +{...} +.IP \(bu 2 +{...} +.UNINDENT + .TP -.B tags: -.INDENT 7.0 -.IP \(bu 2 -{...} -.IP \(bu 2 -{...} -.UNINDENT -.UNINDENT +.B Return type +tags .UNINDENT .sp CLI Example: @@ -72196,7 +74721,7 @@ salt myminion boto_cloudtrail.stop_logging my_trail .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_cloudtrail.update(Name, S3BucketName, S3KeyPrefix=None, SnsTopicName=None, IncludeGlobalServiceEvents=None, EnableLogFileValidation=None, CloudWatchLogsLogGroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_cloudtrail.update(Name, S3BucketName, S3KeyPrefix=None, SnsTopicName=None, IncludeGlobalServiceEvents=None, IsMultiRegionTrail=None, EnableLogFileValidation=None, CloudWatchLogsLogGroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None, region=None, key=None, keyid=None, profile=None) Given a valid config, update a trail. .sp Returns {created: true} if the trail was created and returns @@ -72287,6 +74812,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_cloudwatch.__virtual__() +Only load if boto libraries exist. +.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 @@ -72429,6 +74959,278 @@ salt myminion boto_cloudwatch.get_all_alarms region=us\-east\-1 \-\-out=txt .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_cognitoidentity module +.sp +Connection module for Amazon CognitoIdentity +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit CognitoIdentity credentials but can also +utilize IAM roles assigned to the instance trough 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 +cognitoidentity.keyid: GKTADJGHEIQSXMKKRBJ08H +cognitoidentity.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 +cognitoidentity.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 +.UNINDENT +.sp +Changed in version 2015.8.0: All methods now return a dictionary. Create, delete, set, and +update 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_identity_pools\fP) return: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +identity_pools: + \- {...} + \- {...} +.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 + +.INDENT 0.0 +.TP +.B depends +boto3 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.create_identity_pool(IdentityPoolName, AllowUnauthenticatedIdentities=False, SupportedLoginProviders=None, DeveloperProviderName=None, OpenIdConnectProviderARNs=None, region=None, key=None, keyid=None, profile=None) +Creates a new identity pool. All parameters except for IdentityPoolName is optional. +SupportedLoginProviders should be a dictionary mapping provider names to provider app +IDs. OpenIdConnectProviderARNs should be a list of OpenID Connect provider ARNs. +.sp +Returns the created identity pool if successful +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cognitoidentity.create_identity_pool my_id_pool_name DeveloperProviderName=custom_developer_provider +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.delete_identity_pools(IdentityPoolName, IdentityPoolId=None, region=None, key=None, keyid=None, profile=None) +Given an identity pool name, (optionally if an identity pool id is given, +the given name will be ignored) +.sp +Deletes all identity pools matching the given name, or the specific identity pool with +the given identity pool id. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cognitoidentity.delete_identity_pools my_id_pool_name +salt myminion boto_cognitoidentity.delete_identity_pools \(aq\(aq IdentityPoolId=my_id_pool_id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.describe_identity_pools(IdentityPoolName, IdentityPoolId=None, region=None, key=None, keyid=None, profile=None) +Given an identity pool name, (optionally if an identity pool id is given, +the given name will be ignored) +.sp +Returns a list of matched identity pool name\(aqs pool properties +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cognitoidentity.describe_identity_pools my_id_pool_name +salt myminion boto_cognitoidentity.describe_identity_pools \(aq\(aq IdentityPoolId=my_id_pool_id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.get_identity_pool_roles(IdentityPoolName, IdentityPoolId=None, region=None, key=None, keyid=None, profile=None) +Given an identity pool name, (optionally if an identity pool id if given, +the given name will be ignored) +.sp +Returns a list of matched identity pool name\(aqs associated roles +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cognitoidentity.get_identity_pool_roles my_id_pool_name +salt myminion boto_cognitoidentity.get_identity_pool_roles \(aq\(aq IdentityPoolId=my_id_pool_id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.set_identity_pool_roles(IdentityPoolId, AuthenticatedRole=None, UnauthenticatedRole=None, region=None, key=None, keyid=None, profile=None) +Given an identity pool id, set the given AuthenticatedRole and UnauthenticatedRole (the Role +can be an iam arn, or a role name) If AuthenticatedRole or UnauthenticatedRole is not given, +the authenticated and/or the unauthenticated role associated previously with the pool will be +cleared. +.sp +Returns set True if successful, set False if unsuccessful with the associated errors. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_roles # this clears the roles +salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_id AuthenticatedRole=my_auth_role UnauthenticatedRole=my_unauth_role # this set both roles +salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_id AuthenticatedRole=my_auth_role # this will set the auth role and clear the unauth role +salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_id UnauthenticatedRole=my_unauth_role # this will set the unauth role and clear the auth role +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_cognitoidentity.update_identity_pool(IdentityPoolId, IdentityPoolName=None, AllowUnauthenticatedIdentities=False, SupportedLoginProviders=None, DeveloperProviderName=None, OpenIdConnectProviderARNs=None, region=None, key=None, keyid=None, profile=None) +Updates the given IdentityPoolId\(aqs properties. All parameters except for IdentityPoolId, +is optional. SupportedLoginProviders should be a dictionary mapping provider names to +provider app IDs. OpenIdConnectProviderARNs should be a list of OpenID Connect provider +ARNs. +.sp +To clear SupportedLoginProviders pass \(aq{}\(aq +.sp +To clear OpenIdConnectProviderARNs pass \(aq[]\(aq +.sp +boto3 api prevents DeveloperProviderName to be updated after it has been set for the first time. +.sp +Returns the updated identity pool if successful +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cognitoidentity.update_identity_pool my_id_pool_id my_id_pool_name DeveloperProviderName=custom_developer_provider +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_datapipeline module .sp Connection module for Amazon Data Pipeline @@ -72442,6 +75244,11 @@ boto3 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_datapipeline.__virtual__() +Only load if boto3 libraries exists. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_datapipeline.activate_pipeline(pipeline_id, region=None, key=None, keyid=None, profile=None) Start processing pipeline tasks. This function is idempotent. .sp @@ -72650,6 +75457,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_dynamodb.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_dynamodb.create_table(table_name, region=None, key=None, keyid=None, profile=None, read_capacity_units=None, write_capacity_units=None, hash_key=None, hash_key_data_type=None, range_key=None, range_key_data_type=None, local_indexes=None, global_indexes=None) Creates a DynamoDB table. .sp @@ -72813,6 +75625,12 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_ec2.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.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 @@ -72821,8 +75639,10 @@ Allocate a new Elastic IP address and associate it with your account. (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. +.UNINDENT +.INDENT 7.0 .TP -.B returns +.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. @@ -72874,9 +75694,11 @@ on whether you’re associating a VPC address or a plain EC2 address. .TP .B allow_reassociation (bool) – Allow a currently associated EIP to be re\-associated with the new instance or interface. +.UNINDENT +.INDENT 7.0 .TP -.B returns -(bool) \- True on success, False otherwise +.B Returns +(bool) \- True on success, False on failure. .UNINDENT .sp CLI Example: @@ -72916,7 +75738,7 @@ salt myminion boto_ec2.attach_network_interface my_eni instance_name=salt\-maste .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) +.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: @@ -72972,6 +75794,39 @@ salt myminion boto_ec2.create_network_interface my_eni subnet\-12345 description .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. +.UNINDENT +.INDENT 7.0 +.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.delete_key(key_name, region=None, key=None, keyid=None, profile=None) Deletes a key. Always returns True .sp @@ -73009,6 +75864,79 @@ salt myminion boto_ec2.create_network_interface my_eni subnet\-12345 description .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 +.UNINDENT +.INDENT 7.0 +.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. +.UNINDENT +.INDENT 7.0 +.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 @@ -73029,20 +75957,68 @@ salt myminion boto_ec2.detach_network_interface my_eni .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_ec2.detach_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 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 +.UNINDENT +.INDENT 7.0 +.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 associating a VPC address or a plain EC2 address. +on whether you’re dealing with a VPC or EC2 Classic address. .INDENT 7.0 .TP .B public_ip -(string) – Public IP address, for standard EC2 based allocations. +(string) – Public IP address, for EC2 Classic allocations. .TP .B association_id -(string) – Association ID for a VPC\-based EIP. +(string) – Association ID for a VPC\-bound EIP. +.UNINDENT +.INDENT 7.0 .TP -.B returns -(bool) \- True on success, False otherwise +.B Returns +(bool) \- True on success, False on failure. .UNINDENT .sp CLI Example: @@ -73062,7 +76038,7 @@ 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) +.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 a instance id, check to see if the given instance id exists. .sp Returns True if the given an instance with the given id, name, or tags @@ -73091,7 +76067,7 @@ CLI Examples: .sp .nf .ft C -salt myminion boto_ec2.find_instances tags=\(aq{"mytag": "value"}\(aq +salt myminion boto_ec2.find_images tags=\(aq{"mytag": "value"}\(aq .ft P .fi .UNINDENT @@ -73099,7 +76075,7 @@ salt myminion boto_ec2.find_instances tags=\(aq{"mytag": "value"}\(aq .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) +.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: @@ -73111,6 +76087,7 @@ CLI Examples: 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 @@ -73129,8 +76106,10 @@ associated with those in the list will be returned. .B allocation_ids (list) \- Optional list of allocation IDs. If provided, only the addresses associated with the given allocation IDs will be returned. +.UNINDENT +.INDENT 7.0 .TP -.B returns +.B Returns (list) \- A list of the requested EIP addresses .UNINDENT .sp @@ -73151,7 +76130,71 @@ New in version 2016.3.0. .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) +.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 +.INDENT 7.0 +.TP +.B (dict) \- Additional constraints on which volumes to return. Valid filters are: +attachment.attach\-time \- The time stamp when the attachment initiated. +attachment.delete\-on\-termination \- Whether the volume is deleted on instance termination. +attachment.device \- The device name that is exposed to the instance (for example, /dev/sda1). +attachment.instance\-id \- The ID of the instance the volume is attached to. +attachment.status \- The attachment state (attaching | attached | detaching | detached). +availability\-zone \- The Availability Zone in which the volume was created. +create\-time \- The time stamp when the volume was created. +encrypted \- The encryption status of the volume. +size \- The size of the volume, in GiB. +snapshot\-id \- The snapshot from which the volume was created. +status \- The status of the volume (creating | available | in\-use | deleting | deleted | error). +\fI\%tag:key=value\fP \- The key/value combination of a tag assigned to the resource. +volume\-id \- The volume ID. +volume\-type \- The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for +.INDENT 7.0 +.INDENT 3.5 +Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or +standard for Magnetic volumes. +.UNINDENT +.UNINDENT +.UNINDENT +.TP +.B return_objs +(bool) \- Changes the return type from list of volume IDs to list of boto.ec2.volume.Volume objects +.UNINDENT +.INDENT 7.0 +.TP +.B Returns +Either the volume IDs; or, if return_objs is true, +boto.ec2.volume.Volume objects. +.TP +.B Return type +(list) \- A list of the requested values +.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: @@ -73211,8 +76254,10 @@ associated with those in the list will be returned. .B allocation_ids (list) \- Optional list of allocation IDs. If provided, only the addresses associated with the given allocation IDs will be returned. +.UNINDENT +.INDENT 7.0 .TP -.B returns +.B Returns (list of dicts) \- A list of dicts, each containing the info for one of the requested EIPs. .UNINDENT .sp @@ -73233,8 +76278,8 @@ 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) -Given instace properties, return the instance id if it exist. +.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 @@ -73418,8 +76463,8 @@ salt myminion boto_ec2.modify_network_interface_attribute my_eni attr=descriptio .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 a \(aqstandard\(aq -EC2 Elastic IP address, or an AllocationId to release a VPC Elastic IP address. +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 @@ -73427,8 +76472,10 @@ EC2 Elastic IP address, or an AllocationId to release a VPC Elastic IP address. .TP .B allocation_id (string) \- The Allocation ID \- for VPC elastic IPs. +.UNINDENT +.INDENT 7.0 .TP -.B returns +.B Returns (bool) \- True on success, False on failure .UNINDENT .sp @@ -73523,6 +76570,36 @@ assign the instance a specific available IP address from the subnet .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 +YAML example: +.. code\-block:: yaml +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B device\-maps: +.INDENT 7.0 +.TP +.B /dev/sdb: +ephemeral_name: ephemeral0 +.TP +.B /dev/sdc: +ephemeral_name: ephemeral1 +.TP +.B /dev/sdd: +ephemeral_name: ephemeral2 +.TP +.B /dev/sde: +ephemeral_name: ephemeral3 +.TP +.B /dev/sdf: +size: 20 +volume_type: gp2 +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .TP .B disable_api_termination (bool) – If True, the instances will be locked and will not be able to @@ -73586,7 +76663,7 @@ specifications for the instance. .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) +.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 @@ -73636,7 +76713,51 @@ sriovNetSupport .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_ec2.terminate(instance_id=None, name=None, region=None, key=None, keyid=None, profile=None) +.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 +.INDENT 7.0 +.TP +.B (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. +.UNINDENT +.UNINDENT +.sp +YAML example fragment: +.INDENT 7.0 +.TP +.B authoritative +.INDENT 7.0 +.TP +.B (bool) \- If true, any existing tags on the matched volumes, and not explicitly requested +here, will be removed. +.UNINDENT +.TP +.B dry_run +.INDENT 7.0 +.TP +.B (bool) \- If true, don\(aqt change anything, just return a dictionary describing any changes +which would have been applied. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Returns +(dict) \- A dict dsecribing 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: @@ -73725,6 +76846,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_elasticache.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_elasticache.authorize_cache_security_group_ingress(name, ec2_security_group_name, ec2_security_group_owner_id, region=None, key=None, keyid=None, profile=None) Authorize network ingress from an ec2 security group to a cache security group. @@ -73795,7 +76921,7 @@ salt myminion boto_elasticache.create_replication_group myelasticache myprimaryc .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_elasticache.create_subnet_group(name, description, subnet_ids, tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_elasticache.create_subnet_group(name, description, subnet_ids=None, subnet_names=None, tags=None, region=None, key=None, keyid=None, profile=None) Create an ElastiCache subnet group .sp CLI example to create an ElastiCache subnet group: @@ -73804,7 +76930,7 @@ CLI example to create an ElastiCache subnet group: .sp .nf .ft C -salt myminion boto_elasticache.create_subnet_group my\-subnet\-group "group description" \(aq[subnet\-12345678, subnet\-87654321]\(aq region=us\-east\-1 +salt myminion boto_elasticache.create_subnet_group my\-subnet\-group "group description" subnet_ids=\(aq[subnet\-12345678, subnet\-87654321]\(aq region=us\-east\-1 .ft P .fi .UNINDENT @@ -73846,6 +76972,23 @@ salt myminion boto_elasticache.delete_cache_security_group myelasticachesg \(aqM .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_elasticache.delete_replication_group(name, region=None, key=None, keyid=None, profile=None) +Delete an ElastiCache replication group. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticache.delete_replication_group my\-replication\-group region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_elasticache.delete_subnet_group(name, region=None, key=None, keyid=None, profile=None) Delete an ElastiCache subnet group. .sp @@ -73897,6 +77040,23 @@ salt myminion boto_elasticache.exists myelasticache .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_elasticache.get_all_cache_subnet_groups(name=None, region=None, key=None, keyid=None, profile=None) +Return a list of all cache subnet groups with details +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticache.get_all_subnet_groups region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_elasticache.get_cache_subnet_group(name, region=None, key=None, keyid=None, profile=None) Get information about a cache subnet group. .sp @@ -73982,6 +77142,23 @@ salt myminion boto_elasticache.group_exists myelasticache .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_elasticache.list_cache_subnet_groups(name=None, region=None, key=None, keyid=None, profile=None) +Return a list of all cache subnet group names +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticache.list_subnet_groups region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_elasticache.revoke_cache_security_group_ingress(name, ec2_security_group_name, ec2_security_group_owner_id, region=None, key=None, keyid=None, profile=None) Revoke network ingress from an ec2 security group to a cache security group. @@ -74015,6 +77192,343 @@ salt myminion boto_elasticache.subnet_group_exists my\-param\-group .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.boto_elasticsearch_domain module +.sp +Connection module for Amazon Elasticsearch Service +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.TP +.B configuration +This module accepts explicit AWS credentials but can also +utilize IAM roles assigned to the instance trough 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 +lambda.keyid: GKTADJGHEIQSXMKKRBJ08H +lambda.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 +lambda.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 +.sp +Create and delete methods return: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +created: true +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +or +.INDENT 7.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_function\fP) return: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +domain: + \- {...} + \- {...} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +or +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +error: + message: error message +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B depends +boto3 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.add_tags(DomainName=None, ARN=None, region=None, key=None, keyid=None, profile=None, **kwargs) +Add tags to a domain +.sp +Returns {tagged: true} if the domain was tagged and returns +{tagged: False} if the domain was not tagged. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.add_tags mydomain tag_a=tag_value tag_b=tag_value +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.create(DomainName, ElasticsearchClusterConfig=None, EBSOptions=None, AccessPolicies=None, SnapshotOptions=None, AdvancedOptions=None, region=None, key=None, keyid=None, profile=None) +Given a valid config, create a domain. +.sp +Returns {created: true} if the domain was created and returns +{created: False} if the domain was not created. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.create mydomain \e + {\(aqInstanceType\(aq: \(aqt2.micro.elasticsearch\(aq, \(aqInstanceCount\(aq: 1, \e + \(aqDedicatedMasterEnabled\(aq: false, \(aqZoneAwarenessEnabled\(aq: false} \e + {\(aqEBSEnabled\(aq: true, \(aqVolumeType\(aq: \(aqgp2\(aq, \(aqVolumeSize\(aq: 10, \e + \(aqIops\(aq: 0} \e + {"Version": "2012\-10\-17", "Statement": [{"Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \e + "Resource": "arn:aws:es:us\-east\-1:111111111111:domain/mydomain/*", \e + "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]} \e + {"AutomatedSnapshotStartHour": 0} \e + {"rest.action.multi.allow_explicit_index": "true"} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.delete(DomainName, region=None, key=None, keyid=None, profile=None) +Given a domain name, delete it. +.sp +Returns {deleted: true} if the domain was deleted and returns +{deleted: false} if the domain was not deleted. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.delete mydomain +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.describe(DomainName, region=None, key=None, keyid=None, profile=None) +Given a domain name describe its properties. +.sp +Returns a dictionary of interesting properties. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.describe mydomain +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.exists(DomainName, region=None, key=None, keyid=None, profile=None) +Given a domain name, check to see if the given domain exists. +.sp +Returns True if the given domain exists and returns False if the given +function does not exist. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.exists mydomain +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.list_tags(DomainName=None, ARN=None, region=None, key=None, keyid=None, profile=None) +List tags of a trail +.INDENT 7.0 +.TP +.B Returns +.INDENT 7.0 +.IP \(bu 2 +{...} +.IP \(bu 2 +{...} +.UNINDENT + +.TP +.B Return type +tags +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cloudtrail.list_tags my_trail +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.remove_tags(TagKeys, DomainName=None, ARN=None, region=None, key=None, keyid=None, profile=None) +Remove tags from a trail +.sp +Returns {tagged: true} if the trail was tagged and returns +{tagged: False} if the trail was not tagged. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_cloudtrail.remove_tags my_trail tag_a=tag_value tag_b=tag_value +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.status(DomainName, region=None, key=None, keyid=None, profile=None) +Given a domain name describe its status. +.sp +Returns a dictionary of interesting properties. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.status mydomain +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_elasticsearch_domain.update(DomainName, ElasticsearchClusterConfig=None, EBSOptions=None, AccessPolicies=None, SnapshotOptions=None, AdvancedOptions=None, region=None, key=None, keyid=None, profile=None) +Update the named domain to the configuration. +.sp +Returns {updated: true} if the domain was updated and returns +{updated: False} if the domain was not updated. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_elasticsearch_domain.update mydomain \e + {\(aqInstanceType\(aq: \(aqt2.micro.elasticsearch\(aq, \(aqInstanceCount\(aq: 1, \e + \(aqDedicatedMasterEnabled\(aq: false, \(aqZoneAwarenessEnabled\(aq: false} \e + {\(aqEBSEnabled\(aq: true, \(aqVolumeType\(aq: \(aqgp2\(aq, \(aqVolumeSize\(aq: 10, \e + \(aqIops\(aq: 0} \e + {"Version": "2012\-10\-17", "Statement": [{"Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \e + "Resource": "arn:aws:es:us\-east\-1:111111111111:domain/mydomain/*", \e + "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]} \e + {"AutomatedSnapshotStartHour": 0} \e + {"rest.action.multi.allow_explicit_index": "true"} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.boto_elb .sp Connection module for Amazon ELB @@ -74088,6 +77602,11 @@ boto >= 2.33.0 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_elb.__virtual__() +Only load if boto libraries exist. +.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 @@ -74352,6 +77871,23 @@ salt myminion boto_elb.exists myelb region=us\-east\-1 .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 @@ -74421,6 +77957,23 @@ salt myminion boto_elb.get_instance_health myelb region=us\-east\-1 instances="[ .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. @@ -74472,14 +78025,18 @@ Set attributes on an ELB. .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: +.UNINDENT .INDENT 7.0 .TP -.B access_log (dict) +.B A dict of attributes to set. +.UNINDENT +.INDENT 7.0 +.TP +.B Valid attributes are +.UNINDENT +.INDENT 7.0 +.TP +.B salt.modules.boto_elb.access_log(dict) .INDENT 7.0 .TP .B enabled (bool) @@ -74495,8 +78052,10 @@ Prefix for the log file name. Interval for storing logs in S3 in minutes. Valid values are 5 and 60. .UNINDENT +.UNINDENT +.INDENT 7.0 .TP -.B connection_draining (dict) +.B salt.modules.boto_elb.connection_draining(dict) .INDENT 7.0 .TP .B enabled (bool) @@ -74507,15 +78066,16 @@ Maximum allowed time in seconds for sending existing connections to an instance that is deregistering or unhealthy. Default is 300. .UNINDENT +.UNINDENT +.INDENT 7.0 .TP -.B cross_zone_load_balancing (dict) +.B salt.modules.boto_elb.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 @@ -74560,6 +78120,23 @@ salt myminion boto_elb.set_health_check myelb \(aq{"target": "HTTP:80/"}\(aq .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 @@ -74666,6 +78243,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.add_user_to_group(user_name, group_name, region=None, key=None, keyid=None, profile=None) Add user to group. .sp @@ -74703,6 +78285,57 @@ salt myminion boto_iam.associate_profile_to_role myirole myiprofile .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.attach_group_policy(policy_name, group_name, region=None, key=None, keyid=None, profile=None) +Attach a managed policy to a group. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.attach_group_policy mypolicy mygroup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.attach_role_policy(policy_name, role_name, region=None, key=None, keyid=None, profile=None) +Attach a managed policy to a role. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.attach_role_policy mypolicy myrole +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.attach_user_policy(policy_name, user_name, region=None, key=None, keyid=None, profile=None) +Attach a managed policy to a user. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.attach_user_policy mypolicy myuser +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.build_policy(region=None, key=None, keyid=None, profile=None) Build a default assume role policy. .sp @@ -74801,6 +78434,40 @@ salt myminion boto_iam.create_login_profile user_name password .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.create_policy(policy_name, policy_document, path=None, description=None, region=None, key=None, keyid=None, profile=None) +Create a policy. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminios boto_iam.create_policy mypolicy \(aq{"Version": "2012\-10\-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:Get*", "s3:List*"], "Resource": ["arn:aws:s3:::my\-bucket/shared/*"]},]}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.create_policy_version(policy_name, policy_document, set_as_default=None, region=None, key=None, keyid=None, profile=None) +Create a policy version. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminios boto_iam.create_policy_version mypolicy \(aq{"Version": "2012\-10\-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:Get*", "s3:List*"], "Resource": ["arn:aws:s3:::my\-bucket/shared/*"]},]}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.create_role(name, policy_document=None, path=None, region=None, key=None, keyid=None, profile=None) Create an instance role. .sp @@ -74835,6 +78502,23 @@ salt myminion boto_iam.create_role_policy myirole mypolicy \(aq{"MyPolicy": "Sta .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.create_saml_provider(name, saml_metadata_document, region=None, key=None, keyid=None, profile=None) +Create SAML provider +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.create_saml_provider my_saml_provider_name saml_metadata_document +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.create_user(user_name, path=None, region=None, key=None, keyid=None, profile=None) Create a user. .sp @@ -74896,6 +78580,28 @@ salt myminion boto_iam.delete_access_key myuser .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.delete_group(group_name, region=None, key=None, keyid=None, profile=None) +Delete a group policy. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +\&.. code\-block:: bash +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +salt myminion boto_iam.delete_group mygroup +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.delete_group_policy(group_name, policy_name, region=None, key=None, keyid=None, profile=None) Delete a group policy. .sp @@ -74955,6 +78661,40 @@ salt myminion boto_iam.delete_login_profile user_name .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.delete_policy(policy_name, region=None, key=None, keyid=None, profile=None) +Delete a policy. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.delete_policy mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.delete_policy_version(policy_name, version_id, region=None, key=None, keyid=None, profile=None) +Delete a policy version. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.delete_policy_version mypolicy v1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.delete_role(name, region=None, key=None, keyid=None, profile=None) Delete an IAM role. .sp @@ -74989,6 +78729,23 @@ salt myminion boto_iam.delete_role_policy myirole mypolicy .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.delete_saml_provider(name, region=None, key=None, keyid=None, profile=None) +Delete SAML provider +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.delete_saml_provider my_saml_provider_name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.delete_server_cert(cert_name, region=None, key=None, keyid=None, profile=None) Deletes a certificate from Amazon. .sp @@ -75063,6 +78820,57 @@ salt myminion boto_iam.describe_role myirole .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.detach_group_policy(policy_name, group_name, region=None, key=None, keyid=None, profile=None) +Detach a managed policy to a group. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.detach_group_policy mypolicy mygroup +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.detach_role_policy(policy_name, role_name, region=None, key=None, keyid=None, profile=None) +Detach a managed policy to a role. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.detach_role_policy mypolicy myrole +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.detach_user_policy(policy_name, user_name, region=None, key=None, keyid=None, profile=None) +Detach a managed policy to a user. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.detach_user_policy mypolicy myuser +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.disassociate_profile_from_role(profile_name, role_name, region=None, key=None, keyid=None, profile=None) Disassociate an instance profile from an IAM role. .sp @@ -75170,6 +78978,36 @@ salt myminion boto_iam.get_all_group_policies mygroup .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.get_all_groups(path_prefix=\(aq/\(aq, region=None, key=None, keyid=None, profile=None) +Get and return all IAM group details, starting at the optional path. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt\-call boto_iam.get_all_groups +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.get_all_instance_profiles(path_prefix=\(aq/\(aq, region=None, key=None, keyid=None, profile=None) +Get and return all IAM instance profiles, starting at the optional path. +.sp +New in version carbon. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt\-call boto_iam.get_all_instance_profiles +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.get_all_mfa_devices(user_name, region=None, key=None, keyid=None, profile=None) Get all MFA devices associated with an IAM user. .sp @@ -75190,6 +79028,21 @@ salt myminion boto_iam.get_all_mfa_devices user_name .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.get_all_roles(path_prefix=None, region=None, key=None, keyid=None, profile=None) +Get and return all IAM role details, starting at the optional path. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt\-call boto_iam.get_all_roles +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.get_all_user_policies(user_name, marker=None, max_items=None, region=None, key=None, keyid=None, profile=None) Get all user policies. .sp @@ -75210,6 +79063,21 @@ salt myminion boto_iam.get_group mygroup .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.get_all_users(path_prefix=\(aq/\(aq, region=None, key=None, keyid=None, profile=None) +Get and return all IAM user details, starting at the optional path. +.sp +New in version 2016.3.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt\-call boto_iam.get_all_users +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.get_group(group_name, region=None, key=None, keyid=None, profile=None) Get group information. .sp @@ -75270,6 +79138,40 @@ salt myminion boto_iam.get_group_policy mygroup policyname .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.get_policy(policy_name, region=None, key=None, keyid=None, profile=None) +Check to see if policy exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.instance_profile_exists myiprofile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.get_policy_version(policy_name, version_id, region=None, key=None, keyid=None, profile=None) +Check to see if policy exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.instance_profile_exists myiprofile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.get_role_policy(role_name, policy_name, region=None, key=None, keyid=None, profile=None) Get a role policy. .sp @@ -75287,6 +79189,40 @@ salt myminion boto_iam.get_role_policy myirole mypolicy .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.get_saml_provider(name, region=None, key=None, keyid=None, profile=None) +Get SAML provider document. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.get_saml_provider arn +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.get_saml_provider_arn(name, region=None, key=None, keyid=None, profile=None) +Get SAML provider +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.get_saml_provider_arn my_saml_provider_name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.get_server_certificate(cert_name, region=None, key=None, keyid=None, profile=None) Returns certificate information from Amazon .sp @@ -75364,6 +79300,123 @@ salt myminion boto_iam.instance_profile_exists myiprofile .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.list_attached_group_policies(group_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None) +List entities attached to the given group. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_entities_for_policy mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.list_attached_role_policies(role_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None) +List entities attached to the given role. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_entities_for_policy mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.list_attached_user_policies(user_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None) +List entities attached to the given user. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_entities_for_policy mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.list_entities_for_policy(policy_name, path_prefix=None, entity_filter=None, region=None, key=None, keyid=None, profile=None) +List entities that a policy is attached to. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_entities_for_policy mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.list_instance_profiles(path_prefix=\(aq/\(aq, region=None, key=None, keyid=None, profile=None) +List all IAM instance profiles, starting at the optional path. +.sp +New in version carbon. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt\-call boto_iam.list_instance_profiles +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.list_policies(region=None, key=None, keyid=None, profile=None) +List policies. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_policies +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.list_policy_versions(policy_name, region=None, key=None, keyid=None, profile=None) +List versions of a policy. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_policy_versions mypolicy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.list_role_policies(role_name, region=None, key=None, keyid=None, profile=None) Get a list of policy names from a role. .sp @@ -75381,6 +79434,57 @@ salt myminion boto_iam.list_role_policies myirole .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.list_saml_providers(region=None, key=None, keyid=None, profile=None) +List SAML providers. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.list_saml_providers +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.policy_exists(policy_name, region=None, key=None, keyid=None, profile=None) +Check to see if policy exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.instance_profile_exists myiprofile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_iam.policy_version_exists(policy_name, version_id, region=None, key=None, keyid=None, profile=None) +Check to see if policy exists. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.instance_profile_exists myiprofile +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.profile_associated(role_name, profile_name, region, key, keyid, profile) Check to see if an instance profile is associated with an IAM role. .sp @@ -75475,6 +79579,23 @@ salt myminion boto_iam.role_exists myirole .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.set_default_policy_version(policy_name, version_id, region=None, key=None, keyid=None, profile=None) +Set the default version of a policy. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.set_default_policy_version mypolicy v1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.update_account_password_policy(allow_users_to_change_password=None, hard_expiry=None, max_password_age=None, minimum_password_length=None, password_reuse_prevention=None, require_lowercase_characters=None, require_numbers=None, require_symbols=None, require_uppercase_characters=None, region=None, key=None, keyid=None, profile=None) Update the password policy for the AWS account. .sp @@ -75515,6 +79636,23 @@ salt myminion boto_iam.update_assume_role_policy myrole \(aq{"Statement":"..."}\ .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iam.update_saml_provider(name, saml_metadata_document, region=None, key=None, keyid=None, profile=None) +Update SAML provider. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iam.update_saml_provider my_saml_provider_name saml_metadata_document +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iam.upload_server_cert(cert_name, cert_body, private_key, cert_chain=None, path=None, region=None, key=None, keyid=None, profile=None) Upload a certificate to Amazon. .sp @@ -75653,6 +79791,12 @@ boto3 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iot.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iot.attach_principal_policy(policyName, principal, region=None, key=None, keyid=None, profile=None) Attach the specified policy to the specified principal (certificate or other credential.) @@ -75719,6 +79863,30 @@ salt myminion boto_iot.create_policy_version my_policy \e .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iot.create_thing_type(thingTypeName, thingTypeDescription, searchableAttributesList, region=None, key=None, keyid=None, profile=None) +Given a valid config, create a thing type. +.sp +Returns {created: true} if the thing type was created and returns +{created: False} if the thing type 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_iot.create_thing_type mythingtype \e + thingtype_description_string \(aq["searchable_attr_1", "searchable_attr_2"]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iot.create_topic_rule(ruleName, sql, actions, description, ruleDisabled=False, region=None, key=None, keyid=None, profile=None) Given a valid config, create a topic rule. .sp @@ -75781,6 +79949,29 @@ salt myminion boto_iot.delete_policy_version mypolicy version .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iot.delete_thing_type(thingTypeName, region=None, key=None, keyid=None, profile=None) +Given a thing type name, delete it. +.sp +Returns {deleted: true} if the thing type was deleted and returns +{deleted: false} if the thing type was not deleted. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iot.delete_thing_type mythingtype +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iot.delete_topic_rule(ruleName, region=None, key=None, keyid=None, profile=None) Given a rule name, delete it. .sp @@ -75801,6 +79992,30 @@ salt myminion boto_iot.delete_rule myrule .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iot.deprecate_thing_type(thingTypeName, undoDeprecate=False, region=None, key=None, keyid=None, profile=None) +Given a thing type name, deprecate it when undoDeprecate is False +and undeprecate it when undoDeprecate is True. +.sp +Returns {deprecated: true} if the thing type was deprecated and returns +{deprecated: false} if the thing type was not deprecated. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iot.deprecate_thing_type mythingtype +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iot.describe_policy(policyName, region=None, key=None, keyid=None, profile=None) Given a policy name describe its properties. .sp @@ -75839,6 +80054,28 @@ salt myminion boto_iot.describe_policy_version mypolicy version .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iot.describe_thing_type(thingTypeName, region=None, key=None, keyid=None, profile=None) +Given a thing type name describe its properties. +.sp +Returns a dictionary of interesting properties. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iot.describe_thing_type mythingtype +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iot.describe_topic_rule(ruleName, region=None, key=None, keyid=None, profile=None) Given a topic rule name describe its properties. .sp @@ -76091,6 +80328,29 @@ salt myminion boto_iot.set_default_policy_version mypolicy versionid .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_iot.thing_type_exists(thingTypeName, region=None, key=None, keyid=None, profile=None) +Given a thing type name, check to see if the given thing type exists +.sp +Returns True if the given thing type exists and returns False if the +given thing type does not exist. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_iot.thing_type_exists mythingtype +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_iot.topic_rule_exists(ruleName, region=None, key=None, keyid=None, profile=None) Given a rule name, check to see if the given rule exists. .sp @@ -76180,6 +80440,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_kms.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_kms.create_alias(alias_name, target_key_id, region=None, key=None, keyid=None, profile=None) Create a display name for a key. .sp @@ -76682,6 +80947,12 @@ boto3 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_lambda.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_lambda.add_permission(FunctionName, StatementId, Action, Principal, SourceArn=None, SourceAccount=None, Qualifier=None, region=None, key=None, keyid=None, profile=None) Add a permission to a lambda function. .sp @@ -76766,7 +81037,7 @@ salt myminion boto_lamba.create_event_source_mapping arn::::eventsource myfuncti .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_lambda.create_function(FunctionName, Runtime, Role, Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None, Description=\(aq\(aq, Timeout=3, MemorySize=128, Publish=False, WaitForRole=False, RoleRetries=5, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_lambda.create_function(FunctionName, Runtime, Role, Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None, Description=\(aq\(aq, Timeout=3, MemorySize=128, Publish=False, WaitForRole=False, RoleRetries=5, region=None, key=None, keyid=None, profile=None, VpcConfig=None) Given a valid config, create a function. .sp Returns {created: true} if the function was created and returns @@ -77085,7 +81356,7 @@ salt myminion boto_lamba.update_function_code my_function ZipFile=function.zip .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_lambda.update_function_config(FunctionName, Role=None, Handler=None, Description=None, Timeout=None, MemorySize=None, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_lambda.update_function_config(FunctionName, Role=None, Handler=None, Description=None, Timeout=None, MemorySize=None, region=None, key=None, keyid=None, profile=None, VpcConfig=None, WaitForRole=False, RoleRetries=5) Update the named lambda function to the configuration. .sp Returns {updated: true} if the function was updated and returns @@ -77172,11 +81443,17 @@ myprofile: .UNINDENT .TP .B depends -boto +boto3 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_rds.create(name, allocated_storage, db_instance_class, engine, master_username, master_user_password, db_name=None, db_security_groups=None, vpc_security_group_ids=None, availability_zone=None, db_subnet_group_name=None, preferred_maintenance_window=None, db_parameter_group_name=None, backup_retention_period=None, preferred_backup_window=None, port=None, multi_az=None, engine_version=None, auto_minor_version_upgrade=None, license_model=None, iops=None, option_group_name=None, character_set_name=None, publicly_accessible=None, wait_status=None, tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_rds.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_rds.create(name, allocated_storage, db_instance_class, engine, master_username, master_user_password, DBname=None, DBSecurityGroups=None, vpc_security_group_ids=None, availability_zone=None, db_subnet_group_name=None, preferred_maintenance_window=None, db_parameter_group_name=None, backup_retention_period=None, preferred_backup_window=None, Port=None, MultiAZ=None, EngineVersion=None, AutoMinorVersionUpgrade=None, LicenseModel=None, Iops=None, OptionGroupName=None, CharacterSetName=None, PubliclyAccessible=None, wait_status=None, tags=None, DBClusterIdentifier=None, storage_type=None, TdeCredentialArn=None, TdeCredentialPassword=None, StorageEncrypted=None, KmsKeyId=None, Domain=None, CopyTagsToSnapshot=None, MonitoringInterval=None, MonitoringRoleArn=None, DomainIAMRoleName=None, region=None, PromotionTier=None, key=None, keyid=None, profile=None) Create an RDS .sp CLI example to create an RDS: @@ -77227,7 +81504,7 @@ salt myminion boto_rds.create_parameter_group my\-param\-group mysql5.6 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_rds.create_read_replica(name, source_name, db_instance_class=None, availability_zone=None, port=None, auto_minor_version_upgrade=None, iops=None, option_group_name=None, publicly_accessible=None, tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.modules.boto_rds.create_read_replica(name, source_name, db_instance_class=None, availability_zone=None, port=None, auto_minor_version_upgrade=None, iops=None, option_group_name=None, publicly_accessible=None, tags=None, db_subnet_group_name=None, storage_type=None, copy_tags_to_snapshot=None, monitoring_interval=None, monitoring_role_arn=None, region=None, key=None, keyid=None, profile=None) Create an RDS read replica .sp CLI example to create an RDS read replica: @@ -77346,6 +81623,38 @@ salt myminion boto_rds.describe myrds .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_rds.describe_parameter_group(name, Filters=None, MaxRecords=None, Marker=None, region=None, key=None, keyid=None, profile=None) +Returns a list of \fIDBParameterGroup\fP descriptions. +CLI example to description of parameter group: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_rds.describe_parameter_group parametergroupname region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_rds.describe_parameters(name, Source=None, MaxRecords=None, Marker=None, region=None, key=None, keyid=None, profile=None) +Returns a list of \fIDBParameterGroup\fP parameters. +CLI example to description of parameters +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_rds.describe_parameters parametergroupname region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_rds.exists(name, tags=None, region=None, key=None, keyid=None, profile=None) Check to see if an RDS exists. .sp @@ -77364,7 +81673,7 @@ salt myminion boto_rds.exists myrds region=us\-east\-1 .INDENT 0.0 .TP .B salt.modules.boto_rds.get_endpoint(name, tags=None, region=None, key=None, keyid=None, profile=None) -Return the enpoint of an RDS instance. +Return the endpoint of an RDS instance. .sp CLI example: .INDENT 7.0 @@ -77380,6 +81689,22 @@ salt myminion boto_rds.get_endpoint myrds .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_rds.modify_db_instance(name, AllocatedStorage=None, DBInstanceClass=None, DBSecurityGroups=None, VpcSecurityGroupIds=None, ApplyImmediately=None, MasterUserPassword=None, DBParameterGroupName=None, BackupRetentionPeriod=None, PreferredBackupWindow=None, PreferredMaintenanceWindow=None, StorageType=None, DBname=None, MultiAZ=None, LicenseModel=None, EngineVersion=None, AllowMajorVersionUpgrade=None, AutoMinorVersionUpgrade=None, Iops=None, OptionGroupName=None, NewDBInstanceIdentifier=None, TdeCredentialArn=None, TdeCredentialPassword=None, CACertificateIdentifier=None, Domain=None, CopyTagsToSnapshot=None, MonitoringInterval=None, DBPortNumber=None, DBClusterIdentifier=None, PubliclyAccessible=None, MonitoringRoleArn=None, DomainIAMRoleName=None, CharacterSetName=None, KmsKeyId=None, StorageEncrypted=None, PromotionTier=None, region=None, key=None, keyid=None, profile=None) +Modify settings for a DB instance. +CLI example to description of parameters +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_rds.modify_db_instance db_instance_identifier region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_rds.option_group_exists(name, tags=None, region=None, key=None, keyid=None, profile=None) Check to see if an RDS option group exists. .sp @@ -77520,6 +81845,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_route53.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_route53.add_record(name, value, zone, record_type, identifier=None, ttl=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False, retry_on_rate_limit=True, rate_limit_retries=5) Add a record to a zone. .sp @@ -77537,6 +81867,75 @@ salt myminion boto_route53.add_record test.example.org 1.1.1.1 example.org A .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_route53.create_hosted_zone(domain_name, caller_ref=None, comment=\(aq\(aq, private_zone=False, vpc_id=None, vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, profile=None) +Create a new Route53 Hosted Zone. Returns a Python data structure with +information about the newly created Hosted Zone. +.INDENT 7.0 +.TP +.B domain_name +The name of the domain. This should be a fully\-specified domain, and +should terminate with a period. This is the name you have registered +with your DNS registrar. It is also the name you will delegate from your +registrar to the Amazon Route 53 delegation servers returned in response +to this request. +.TP +.B caller_ref +A unique string that identifies the request and that allows +create_hosted_zone() calls to be retried without the risk of executing +the operation twice. You want to provide this where possible, since +additional calls while the first is in PENDING status will be accepted +and can lead to multiple copies of the zone being created in Route53. +.TP +.B comment +Any comments you want to include about the hosted zone. +.TP +.B private_zone +Set True if creating a private hosted zone. +.TP +.B vpc_id +When creating a private hosted zone, either the VPC ID or VPC Name to +associate with is required. Exclusive with vpe_name. Ignored if passed +for a non\-private zone. +.TP +.B vpc_name +When creating a private hosted zone, either the VPC ID or VPC Name to +associate with is required. Exclusive with vpe_id. Ignored if passed +for a non\-private zone. +.TP +.B vpc_region +When creating a private hosted zone, the region of the associated VPC is +required. If not provided, an effort will be made to determine it from +vpc_id or vpc_name, if possible. If this fails, you\(aqll need to provide +an explicit value for this option. Ignored if passed for a non\-private +zone. +.TP +.B region +Region endpoint to connect to +.TP +.B key +AWS key to bind with +.TP +.B keyid +AWS keyid to bind with +.TP +.B profile +Dict, or pillar key pointing to a dict, containing AWS region/key/keyid +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_route53.create_hosted_zone example.org +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_route53.create_zone(zone, private=False, vpc_id=None, vpc_region=None, region=None, key=None, keyid=None, profile=None) Create a Route53 hosted zone. .sp @@ -77545,7 +81944,7 @@ New in version 2015.8.0. .INDENT 7.0 .TP .B zone -DNZ zone to create +DNS zone to create .TP .B private True/False if the zone will be a private zone @@ -77620,7 +82019,48 @@ salt myminion boto_route53.delete_zone example.org .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_route53.get_record(name, zone, record_type, fetch_all=False, region=None, key=None, keyid=None, profile=None, split_dns=False, private_zone=False, retry_on_rate_limit=True, rate_limit_retries=5) +.B salt.modules.boto_route53.describe_hosted_zones(zone_id=None, domain_name=None, region=None, key=None, keyid=None, profile=None) +Return detailed info about one, or all, zones in the bound account. +If neither zone_id nor domain_name is provided, return all zones. +Note that the return format is slightly different between the \(aqall\(aq +and \(aqsingle\(aq description types. +.INDENT 7.0 +.TP +.B zone_id +The unique identifier for the Hosted Zone +.TP +.B domain_name +The FQDN of the Hosted Zone (including final period) +.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_route53.describe_hosted_zones domain_name=foo.bar.com. profile=\(aq{"region": "us\-east\-1", "keyd": "A12345678AB", "key": "xblahblahblah"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_route53.get_record(name, zone, record_type, fetch_all=False, region=None, key=None, keyid=None, profile=None, split_dns=False, private_zone=False, identifier=None, retry_on_rate_limit=True, rate_limit_retries=5) Get a record from a zone. .sp CLI example: @@ -77637,6 +82077,70 @@ salt myminion boto_route53.get_record test.example.org example.org A .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_route53.list_all_zones_by_id(region=None, key=None, keyid=None, profile=None) +List, by their IDs, all hosted zones in the bound account. +.INDENT 7.0 +.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_route53.list_all_zones_by_id +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_route53.list_all_zones_by_name(region=None, key=None, keyid=None, profile=None) +List, by their FQDNs, all hosted zones in the bound account. +.INDENT 7.0 +.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_route53.list_all_zones_by_name +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_route53.update_record(name, value, zone, record_type, identifier=None, ttl=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False, retry_on_rate_limit=True, rate_limit_retries=5) Modify a record in a zone. .sp @@ -77745,6 +82249,12 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_secgroup.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.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 @@ -77762,7 +82272,7 @@ salt myminion boto_secgroup.authorize mysecgroup ip_protocol=tcp from_port=80 to .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_secgroup.convert_to_group_ids(groups, vpc_id, vpc_name=None, region=None, key=None, keyid=None, profile=None) +.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 @@ -77880,6 +82390,46 @@ salt myminion boto_secgroup.exists mysecgroup .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 @@ -78048,6 +82598,11 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_sns.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_sns.create(name, region=None, key=None, keyid=None, profile=None) Create an SNS topic. .sp @@ -78164,6 +82719,26 @@ salt myminion boto_sns.subscribe mytopic https https://www.example.com/sns\-endp .fi .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_sns.unsubscribe(topic, subscription_arn, region=None, key=None, keyid=None, profile=None) +Unsubscribe a specific SubscriptionArn of a topic. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_sns.unsubscribe my_topic my_subscription_arn region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + .UNINDENT .SS salt.modules.boto_sqs .sp @@ -78238,10 +82813,15 @@ boto .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_sqs.__virtual__() +Only load if boto libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_sqs.create(name, region=None, key=None, keyid=None, profile=None) Create an SQS queue. .sp -CLI example to create a queue: +CLI Example: .INDENT 7.0 .INDENT 3.5 .sp @@ -78258,7 +82838,7 @@ salt myminion boto_sqs.create myqueue region=us\-east\-1 .B salt.modules.boto_sqs.delete(name, region=None, key=None, keyid=None, profile=None) Delete an SQS queue. .sp -CLI example to delete a queue: +CLI Example: .INDENT 7.0 .INDENT 3.5 .sp @@ -78275,7 +82855,7 @@ salt myminion boto_sqs.delete myqueue region=us\-east\-1 .B salt.modules.boto_sqs.exists(name, region=None, key=None, keyid=None, profile=None) Check to see if a queue exists. .sp -CLI example: +CLI Example: .INDENT 7.0 .INDENT 3.5 .sp @@ -78289,10 +82869,30 @@ salt myminion boto_sqs.exists myqueue region=us\-east\-1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_sqs.get_attributes(name, region=None, key=None, keyid=None, profile=None) -Check to see if attributes are set on an SQS queue. +.B salt.modules.boto_sqs.get_all_queues(prefix=None, region=None, key=None, keyid=None, profile=None) +Return a list of Queue() objects describing all visible queues. .sp -CLI example: +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_sqs.get_all_queues region=us\-east\-1 \-\-output yaml +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_sqs.get_attributes(name, region=None, key=None, keyid=None, profile=None) +Return attributes currently set on an SQS queue. +.sp +CLI Example: .INDENT 7.0 .INDENT 3.5 .sp @@ -78306,10 +82906,30 @@ salt myminion boto_sqs.get_attributes myqueue .UNINDENT .INDENT 0.0 .TP +.B salt.modules.boto_sqs.list(prefix=None, 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. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion boto_sqs.list region=us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.boto_sqs.set_attributes(name, attributes, region=None, key=None, keyid=None, profile=None) Set attributes on an SQS queue. .sp -CLI example to set attributes on a queue: +CLI Example: .INDENT 7.0 .INDENT 3.5 .sp @@ -78448,6 +83068,130 @@ error: .B depends boto .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.__virtual__() +Only load if boto libraries exist and if boto libraries are greater than +a given version. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.boto_vpc.accept_vpc_peering_connection(conn_id=\(aq\(aq, name=\(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. +.UNINDENT +.UNINDENT +.sp +:param key. The key to use for this connection. Type string. +:param keyid. The key id to use. +:param profile. The profile to use. +:param dry_run. The dry_run flag to set. +:return: dict +.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) @@ -78498,63 +83242,6 @@ salt myminion boto_vpc.associate_network_acl_to_subnet \e .UNINDENT .INDENT 0.0 .TP -.B salt.modules.boto_vpc.associate_new_dhcp_options_to_vpc(vpc_id, domain_name=None, domain_name_servers=None, ntp_servers=None, netbios_name_servers=None, netbios_node_type=None, region=None, key=None, keyid=None, profile=None) -.INDENT 7.0 -.TP -.B \&..deprecated:: Carbon -This function has been deprecated in favor of -\fI\%boto_vpc.create_dhcp_options\fP, -which now takes vpc_id or vpc_name as kwargs. -.sp -This function will be removed in the Salt Carbon release. -.UNINDENT -.sp -Given valid DHCP options and a valid VPC id, create and associate the DHCP options record with the VPC. -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt myminion boto_vpc.associate_new_dhcp_options_to_vpc \(aqvpc\-6b1fe402\(aq domain_name=\(aqexample.com\(aq domain_name_servers=\(aq[1.2.3.4]\(aq ntp_servers=\(aq[5.6.7.8]\(aq netbios_name_servers=\(aq[10.0.0.1]\(aq netbios_node_type=1 -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.boto_vpc.associate_new_network_acl_to_subnet(vpc_id, subnet_id, network_acl_name=None, tags=None, region=None, key=None, keyid=None, profile=None) -.INDENT 7.0 -.TP -.B \&..deprecated:: Carbon -This function has been deprecated in favor of -\fI\%boto_vpc.create_network_acl\fP, -which now takes subnet_id or subnet_name as kwargs. -.sp -This function will be removed in the Salt Carbon release. -.UNINDENT -.sp -Given a vpc ID and a subnet ID, associates a new network act to a subnet. -.sp -Returns a dictionary containing the network acl id and the new association id if successful. If unsuccessful, -returns False. -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt myminion boto_vpc.associate_new_network_acl_to_subnet \(aqvpc\-6b1fe402\(aq \(aqsubnet\-6a1fe403\(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 @@ -78703,6 +83390,33 @@ salt myminion boto_vpc.create_internet_gateway \e .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 @@ -78743,9 +83457,11 @@ salt myminion boto_vpc.create_network_acl_entry \(aqacl\-5fb85d36\(aq \(aq32767\ .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, region=None, key=None, keyid=None, profile=None) +.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 @@ -78916,6 +83632,61 @@ salt myminion boto_vpc.delete_internet_gateway internet_gateway_name=myigw .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 @@ -79019,6 +83790,55 @@ salt myminion boto_vpc.delete_subnet \(aqsubnet\-6a1fe403\(aq .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 @@ -79042,6 +83862,26 @@ salt myminion boto_vpc.describe vpc_name=myvpc .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=(\(aqpending\(aq, \(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 @@ -79062,6 +83902,28 @@ salt myminion boto_vpc.describe_route_table route_table_id=\(aqrtb\-1f382e7d\(aq .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 @@ -79138,6 +84000,52 @@ salt myminion boto_vpc.describe_subnets cidr=10.0.0.0/21 .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 @@ -79327,6 +84235,74 @@ salt myminion boto_vpc.get_subnet_association [\(aqsubnet\-61b47516\(aq,\(aqsubn .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=(\(aqpending\(aq, \(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 @@ -79346,6 +84322,53 @@ salt myminion boto_vpc.network_acl_exists network_acl_id=\(aqacl\-5fb85d36\(aq .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 @@ -79364,7 +84387,7 @@ salt myminion boto_vpc.replace_network_acl_entry \(aqacl\-5fb85d36\(aq \(aq32767 .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) +.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: @@ -79398,6 +84421,71 @@ salt myminion boto_vpc.replace_route_table_association \(aqrtbassoc\-d8ccddba\(a .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 tp crete 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 tp crete 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} @@ -79420,7 +84508,7 @@ salt myminion boto_vpc.resource_exists internet_gateway myigw .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) +.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. @@ -79486,6 +84574,11 @@ Note that npm, git and bower must be installed for this module to be available. .INDENT 0.0 .TP +.B salt.modules.bower.__virtual__() +Only work when Bower is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.bower.install(pkg, dir, pkgs=None, runas=None, env=None) Install a Bower package. .sp @@ -79594,6 +84687,12 @@ salt \(aq*\(aq bower.uninstall underscore /path/to/project Module for gathering and managing bridging information .INDENT 0.0 .TP +.B salt.modules.bridge.__virtual__() +Confirm this module is supported by the OS and the system has +required tools +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.bridge.add(br=None) Creates a bridge .sp @@ -79917,6 +85016,11 @@ salt \(aq*\(aq shadow.set_password someuser \(aq$1$UYCIxa628.9qXjpQCjM4a..\(aq Module for managing BTRFS file systems. .INDENT 0.0 .TP +.B salt.modules.btrfs.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.btrfs.add(mountpoint, *devices, **kwargs) Add a devices to a BTRFS filesystem. .sp @@ -80216,6 +85320,11 @@ salt \(aq*\(aq btrfs.version .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.modules.cabal.__virtual__() +Only work when cabal\-install is installed. +.UNINDENT .INDENT 0.0 .TP .B salt.modules.cabal.install(pkg=None, pkgs=None, user=None, install_global=False, env=None) @@ -80302,11 +85411,44 @@ The user to run ghc\-pkg unregister with Environment variables to set when invoking cabal. Uses the same \fBenv\fP format as the \fBcmd.run\fP execution function .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cabal.uninstall ShellCheck +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.cabal.update(user=None, env=None) Updates list of known packages. +.INDENT 7.0 +.TP +.B user +The user to run cabal update with +.TP +.B env +Environment variables to set when invoking cabal. Uses the +same \fBenv\fP format as the \fBcmd.run\fP execution function. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cabal.update +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.cassandra .sp @@ -80337,6 +85479,11 @@ cassandra.thrift_port: 9160 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.cassandra.__virtual__() +Only load if pycassa is available and the system is configured +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.cassandra.column_families(keyspace=None) Return existing column families for all keyspaces or just the provided one. @@ -80542,16 +85689,18 @@ cassandra: .fi .UNINDENT .UNINDENT -.UNINDENT .sp -Changed in version Carbon: Added support for \fBssl_options\fP and \fBprotocol_version\fP\&. +Changed in version 2016.11.0. + +.sp +Added support for \fBssl_options\fP and \fBprotocol_version\fP\&. .sp Example configuration with \fI\%ssl options\fP: .sp If \fBssl_options\fP are present in cassandra config the cassandra_cql returner will use SSL. SSL isn\(aqt used if \fBssl_options\fP isn\(aqt specified. -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -80577,7 +85726,7 @@ cassandra: .sp Additionally you can also specify the \fBprotocol_version\fP to \fI\%use\fP\&. -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -80596,7 +85745,20 @@ cassandra: .fi .UNINDENT .UNINDENT - +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.cassandra_cql.__virtual__() +Return virtual name of the module only if the python driver can be loaded. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.TP +.B Return type +\fI\%str\fP +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.modules.cassandra_cql.cql_query(query, contact_points=None, port=None, cql_user=None, cql_pass=None) @@ -81139,17 +86301,19 @@ New in version 2015.8.2. .INDENT 0.0 .TP -.B salt.modules.chassis.chassis_credentials() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.chassis.cmd(cmd, *args, **kwargs) +.B salt.modules.chassis.__virtual__() +Only work on proxy .UNINDENT .SS salt.modules.chef .sp Execute chef in server or solo mode .INDENT 0.0 .TP +.B salt.modules.chef.__virtual__() +Only load if chef is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.chef.client(whyrun=False, localmode=False, logfile=None, **kwargs) Execute a chef client run and return a dict with the stderr, stdout, return code, and pid. @@ -81289,6 +86453,16 @@ A dead simple module wrapping calls to the Chocolatey package manager .sp New in version 2014.1.0. +.INDENT 0.0 +.TP +.B salt.modules.chocolatey.__virtual__() +Confirm this module is on a Windows system running Vista or later. +.sp +While it is possible to make Chocolatey run under XP and Server 2003 with +an awful lot of hassle (e.g. SSL is completely broken), the PowerShell shim +for simulating UAC forces a GUI prompt, and is not compatible with +salt\-minion running as SYSTEM. +.UNINDENT .INDENT 0.0 .TP .B salt.modules.chocolatey.add_source(name, source_location, username=None, password=None) @@ -81418,26 +86592,24 @@ salt \(aq*\(aq chocolatey.enable_source .TP .B salt.modules.chocolatey.install(name, version=None, source=None, force=False, pre_versions=False, install_args=None, override_args=False, force_x86=False, package_args=None) Instructs Chocolatey to install a package. -.sp -Args: .INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 .TP -.B name (str): -The name of the package to be installed. Only accepts a single +.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 argument. -.TP -.B version (str): -Install a specific version of the package. Defaults to latest +.IP \(bu 2 +\fBversion\fP (\fI\%str\fP) \-\- Install a specific version of the package. Defaults to latest version. -.TP -.B source (str): +.IP \(bu 2 +\fBsource\fP (\fI\%str\fP) \-\- +.sp Chocolatey repository (directory, share or remote URL feed) the package comes from. Defaults to the official Chocolatey feed. .sp Alternative Sources: -.INDENT 7.0 +.INDENT 2.0 .IP \(bu 2 cygwin .IP \(bu 2 @@ -81449,35 +86621,30 @@ webpi .IP \(bu 2 windowsfeatures .UNINDENT -.TP -.B force (bool): -Reinstall the current version of an existing package. -.TP -.B pre_versions (bool): -Include pre\-release packages. Defaults to False. -.TP -.B install_args (str): -A list of install arguments you want to pass to the installation + +.IP \(bu 2 +\fBforce\fP (\fI\%bool\fP) \-\- Reinstall the current version of an existing package. +.IP \(bu 2 +\fBpre_versions\fP (\fI\%bool\fP) \-\- Include pre\-release packages. Defaults to False. +.IP \(bu 2 +\fBinstall_args\fP (\fI\%str\fP) \-\- A list of install arguments you want to pass to the installation process i.e product key or feature list -.TP -.B override_args (bool): -Set to true if you want to override the original install arguments +.IP \(bu 2 +\fBoverride_args\fP (\fI\%bool\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 -.TP -.B force_x86 (str): -Force x86 (32bit) installation on 64 bit systems. Defaults to false. -.TP -.B package_args (str): -A list of arguments you want to pass to the package +.IP \(bu 2 +\fBforce_x86\fP (\fI\%str\fP) \-\- Force x86 (32bit) installation on 64 bit systems. Defaults to false. +.IP \(bu 2 +\fBpackage_args\fP (\fI\%str\fP) \-\- A list of arguments you want to pass to the package .UNINDENT -.UNINDENT -.UNINDENT -.INDENT 7.0 .TP -.B Returns: -str: The output of the \fBchocolatey\fP command +.B Returns +The output of the \fBchocolatey\fP command +.TP +.B Return type +\fI\%str\fP .UNINDENT .sp CLI Example: @@ -81747,8 +86914,11 @@ Instructs Chocolatey to pull a full package list from the Microsoft Web PI repository. .INDENT 7.0 .TP -.B Returns: -str: List of webpi packages +.B Returns +List of webpi packages +.TP +.B Return type +\fI\%str\fP .UNINDENT .sp CLI Example: @@ -81770,8 +86940,11 @@ Instructs Chocolatey to pull a full package list from the Windows Features list, via the Deployment Image Servicing and Management tool. .INDENT 7.0 .TP -.B Returns: -str: List of Windows Features +.B Returns +List of Windows Features +.TP +.B Return type +\fI\%str\fP .UNINDENT .sp CLI Example: @@ -81862,52 +87035,42 @@ salt "*" chocolatey.update pre_versions=True .B salt.modules.chocolatey.upgrade(name, version=None, source=None, force=False, pre_versions=False, install_args=None, override_args=False, force_x86=False, package_args=None) Instructs Chocolatey to upgrade packages on the system. (update is being deprecated) -.sp -Args: .INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 .TP -.B name (str): -The name of the package to update, or "all" to update everything +.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 installed on the system. -.TP -.B version (str): -Install a specific version of the package. Defaults to latest +.IP \(bu 2 +\fBversion\fP (\fI\%str\fP) \-\- Install a specific version of the package. Defaults to latest version. -.TP -.B source (str): -Chocolatey repository (directory, share or remote URL feed) the +.IP \(bu 2 +\fBsource\fP (\fI\%str\fP) \-\- Chocolatey repository (directory, share or remote URL feed) the package comes from. Defaults to the official Chocolatey feed. -.TP -.B force (bool): -Reinstall the \fBsame\fP version already installed -.TP -.B pre_versions (bool): -Include pre\-release packages in comparison. Defaults to False. -.TP -.B install_args (str): -A list of install arguments you want to pass to the installation +.IP \(bu 2 +\fBforce\fP (\fI\%bool\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. +.IP \(bu 2 +\fBinstall_args\fP (\fI\%str\fP) \-\- A list of install arguments you want to pass to the installation process i.e product key or feature list -.TP -.B override_args (str): -Set to true if you want to override the original install arguments +.IP \(bu 2 +\fBoverride_args\fP (\fI\%str\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 -.TP -.B force_x86 -Force x86 (32bit) installation on 64 bit systems. Defaults to false. -.TP -.B package_args -A list of arguments you want to pass to the package +.IP \(bu 2 +\fBforce_x86\fP \-\- Force x86 (32bit) installation on 64 bit systems. Defaults to false. +.IP \(bu 2 +\fBpackage_args\fP \-\- A list of arguments you want to pass to the package .UNINDENT -.UNINDENT -.UNINDENT -.INDENT 7.0 .TP -.B Returns: -str: Results of the \fBchocolatey\fP command +.B Returns +Results of the \fBchocolatey\fP command +.TP +.B Return type +\fI\%str\fP .UNINDENT .sp CLI Example: @@ -82056,6 +87219,11 @@ salt chronos\-minion\-id chronos.update_job my\-job \(aq\(aq Salt\-specific interface for calling Salt Cloud directly .INDENT 0.0 .TP +.B salt.modules.cloud.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.cloud.action(fun=None, cloudmap=None, names=None, provider=None, instance=None, **kwargs) Execute a single action on the given provider/instance .sp @@ -82075,7 +87243,7 @@ salt \(aq*\(aq cloud.action show_image provider=my\-ec2\-config image=ami\-16249 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cloud.create(provider, names, **kwargs) +.B salt.modules.cloud.create(provider, names, opts=None, **kwargs) Create an instance using Salt Cloud .sp CLI Example: @@ -82260,7 +87428,7 @@ salt minionname cloud.network_list my\-nova .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cloud.profile(profile, names, vm_overrides=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: @@ -82438,6 +87606,12 @@ Keep in mind that this module is insecure, in that it can give whomever has access to the master root execution access to all salt minions. .INDENT 0.0 .TP +.B salt.modules.cmdmod.__virtual__() +Overwriting the cmd python module makes debugging modules +with pdb a bit harder so lets do it this way instead. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.cmdmod.exec_code(lang, code, cwd=None) Pass in two strings, the first naming the executable language, aka \- python2, python3, ruby, perl, lua, etc. the second string containing @@ -82494,7 +87668,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_loglevel=\(aqdebug\(aq, quiet=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=\(aqbase\(aq, use_vt=False, password=None, depth=None, **kwargs) +.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_loglevel=\(aqdebug\(aq, quiet=False, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=\(aqbase\(aq, use_vt=False, password=None, depth=None, encode_cmd=False, **kwargs) Execute the passed PowerShell command and return the output as a dictionary. .sp Other \fBcmd.*\fP functions return the raw text output of the command. This @@ -82681,15 +87855,17 @@ it takes for the command to complete for some commands. eg: \fBdir\fP New in version 2016.3.4. +.IP \(bu 2 +\fBencode_cmd\fP (\fI\%bool\fP) \-\- Encode the command before executing. Use in cases +where characters may be dropped or incorrectly converted when executed. +Default is False. .UNINDENT .TP .B Returns -.INDENT 7.0 -.TP -.B dict A dictionary of data returned by the powershell command. -.UNINDENT - +.TP +.B Return type +:dict .UNINDENT .sp CLI Example: @@ -82893,7 +88069,7 @@ 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_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=\(aqbase\(aq, use_vt=False, bg=False, password=None, **kwargs) +.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_loglevel=\(aqdebug\(aq, log_callback=None, timeout=None, reset_system_locale=True, ignore_retcode=False, saltenv=\(aqbase\(aq, use_vt=False, bg=False, password=None, encoded_cmd=False, **kwargs) Execute the passed command and return the output as a string .sp Note that \fBenv\fP represents the environment variables for the command, and @@ -83021,6 +88197,9 @@ the command is logged. Note that the command being run will still be logged .IP \(bu 2 \fBuse_vt\fP (\fI\%bool\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. +Only applies to shell \(aqpowershell\(aq. .UNINDENT .UNINDENT .sp @@ -83985,7 +89164,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_loglevel=\(aqdebug\(aq, log_callback=None, quiet=False, timeout=None, reset_system_locale=True, __env__=None, saltenv=\(aqbase\(aq, use_vt=False, bg=False, password=None, **kwargs) +.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_loglevel=\(aqdebug\(aq, log_callback=None, quiet=False, timeout=None, reset_system_locale=True, saltenv=\(aqbase\(aq, use_vt=False, bg=False, password=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. @@ -84150,7 +89329,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=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, __env__=None, saltenv=\(aqbase\(aq, output_loglevel=\(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, shell=\(aq/bin/bash\(aq, python_shell=None, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, saltenv=\(aqbase\(aq, output_loglevel=\(aqdebug\(aq, log_callback=None, use_vt=False, password=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. @@ -84538,6 +89717,85 @@ salt \(aq*\(aq cmd.shell cmd=\(aqsed \-e s/=/:/g\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.cmdmod.shell_info(shell, list_modules=False) +New in version 2016.11.0. + +.sp +Provides information about a shell or script languages which often use +\fB#!\fP\&. The values returned are dependant on the shell or scripting +languages all return the \fBinstalled\fP, \fBpath\fP, \fBversion\fP, +\fBversion_raw\fP +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBshell\fP (\fI\%str\fP) \-\- Name of the shell. Support shells/script languages include +.IP \(bu 2 +\fBcmd, perl, php, powershell, python, ruby and zsh\fP (\fIbash,\fP) \-\- +.IP \(bu 2 +\fBlist_modules\fP (\fI\%bool\fP) \-\- True to list modules available to the shell. +.IP \(bu 2 +\fBonly lists powershell modules.\fP (\fICurrently\fP) \-\- +.UNINDENT +.TP +.B Returns +A dictionary of information about the shell +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aqversion\(aq: \(aq<2 or 3 numeric components dot\-separated>\(aq, + \(aqversion_raw\(aq: \(aq\(aq, + \(aqpath\(aq: \(aq\(aq, + \(aqinstalled\(aq: , + \(aq\(aq: \(aq\(aq} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +\fBinstalled\fP is always returned, if \fBNone\fP or \fBFalse\fP also +returns error and may also return \fBstdout\fP for diagnostics. +.IP \(bu 2 +\fBversion\fP is for use in determine if a shell/script language has a +particular feature set, not for package management. +.IP \(bu 2 +The shell must be within the executable search path. +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cmd.shell_info bash +salt \(aq*\(aq cmd.shell_info powershell +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Codeauthor +Damon Atkins <\fI\%https://github.com/damon\-atkins\fP> +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.cmdmod.shells() Lists the valid shells on this system via the /etc/shells file .sp @@ -84613,6 +89871,11 @@ salt \(aq*\(aq cmd.which_bin \(aq[pip2, pip, pip\-python]\(aq Use composer to install PHP dependencies for a directory .INDENT 0.0 .TP +.B salt.modules.composer.__virtual__() +Always load +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.composer.did_composer_install(dir) Test to see if the vendor directory exists in this directory .INDENT 7.0 @@ -86756,7 +92019,7 @@ salt myminion container_resource.run mycontainer \(aqps aux\(aq container_type=d Minion side functions for salt\-cp .INDENT 0.0 .TP -.B salt.modules.cp.cache_dir(path, saltenv=\(aqbase\(aq, include_empty=False, include_pat=None, exclude_pat=None, env=None) +.B salt.modules.cp.cache_dir(path, saltenv=\(aqbase\(aq, include_empty=False, include_pat=None, exclude_pat=None) Download and cache everything under a directory from the master .INDENT 7.0 .TP @@ -86802,7 +92065,7 @@ salt \(aq*\(aq cp.cache_dir salt://path/to/dir include_pat=\(aqE@*.py$\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.cache_file(path, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.cache_file(path, saltenv=\(aqbase\(aq) Used to cache a single file on the salt\-minion Returns the location of the new cached file on the minion .sp @@ -86844,7 +92107,7 @@ depending on the shell being used to run the command. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.cache_files(paths, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.cache_files(paths, saltenv=\(aqbase\(aq) Used to gather many files from the master, the gathered files will be saved in the minion cachedir reflective to the paths retrieved from the master. @@ -86920,7 +92183,7 @@ salt \(aq*\(aq cp.cache_local_file /etc/hosts .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.cache_master(saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.cache_master(saltenv=\(aqbase\(aq) Retrieve all of the files on the master and cache them locally .sp CLI Example: @@ -86937,7 +92200,7 @@ salt \(aq*\(aq cp.cache_master .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.get_dir(path, dest, saltenv=\(aqbase\(aq, template=None, gzip=None, env=None, **kwargs) +.B salt.modules.cp.get_dir(path, dest, saltenv=\(aqbase\(aq, template=None, gzip=None, **kwargs) Used to recursively copy a directory from the salt master .sp CLI Example: @@ -86956,7 +92219,7 @@ get_dir supports the same template and gzip arguments as get_file. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.get_file(path, dest, saltenv=\(aqbase\(aq, makedirs=False, template=None, gzip=None, env=None, **kwargs) +.B salt.modules.cp.get_file(path, dest, saltenv=\(aqbase\(aq, makedirs=False, template=None, gzip=None, **kwargs) Used to get a single file from the salt master .sp CLI Example: @@ -87022,7 +92285,7 @@ depending on the shell being used to run the command. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.get_file_str(path, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.get_file_str(path, saltenv=\(aqbase\(aq) Return the contents of a file from a URL .sp Returns \fBFalse\fP if Salt was unable to cache a file from a URL. @@ -87041,7 +92304,7 @@ salt \(aq*\(aq cp.get_file_str salt://my/file .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.get_template(path, dest, template=\(aqjinja\(aq, saltenv=\(aqbase\(aq, env=None, makedirs=False, **kwargs) +.B salt.modules.cp.get_template(path, dest, template=\(aqjinja\(aq, saltenv=\(aqbase\(aq, makedirs=False, **kwargs) Render a file as a template before setting it down. Warning, order is not the same as in fileclient.cp for non breaking old API. @@ -87060,8 +92323,8 @@ salt \(aq*\(aq cp.get_template salt://path/to/template /minion/dest .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.get_url(path, dest=\(aq\(aq, saltenv=\(aqbase\(aq, env=None) -Used to get a single file from a URL +.B salt.modules.cp.get_url(path, dest=\(aq\(aq, saltenv=\(aqbase\(aq, makedirs=False) +Used to get a single file from a URL. .INDENT 7.0 .TP .B path @@ -87111,7 +92374,7 @@ salt \(aq*\(aq cp.get_url http://www.slashdot.org /tmp/index.html .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.hash_file(path, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.hash_file(path, saltenv=\(aqbase\(aq) Return the hash of a file, to get the hash of a file on the salt master file server prepend the path with salt:// otherwise, prepend the file with / for a local file. @@ -87130,7 +92393,7 @@ salt \(aq*\(aq cp.hash_file salt://path/to/file .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.is_cached(path, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.is_cached(path, saltenv=\(aqbase\(aq) Return a boolean if the given path on the master has been cached on the minion .sp @@ -87148,7 +92411,7 @@ salt \(aq*\(aq cp.is_cached salt://path/to/file .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.list_master(saltenv=\(aqbase\(aq, prefix=\(aq\(aq, env=None) +.B salt.modules.cp.list_master(saltenv=\(aqbase\(aq, prefix=\(aq\(aq) List all of the files stored on the master .sp CLI Example: @@ -87165,7 +92428,7 @@ salt \(aq*\(aq cp.list_master .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.list_master_dirs(saltenv=\(aqbase\(aq, prefix=\(aq\(aq, env=None) +.B salt.modules.cp.list_master_dirs(saltenv=\(aqbase\(aq, prefix=\(aq\(aq) List all of the directories stored on the master .sp CLI Example: @@ -87182,7 +92445,7 @@ salt \(aq*\(aq cp.list_master_dirs .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.list_master_symlinks(saltenv=\(aqbase\(aq, prefix=\(aq\(aq, env=None) +.B salt.modules.cp.list_master_symlinks(saltenv=\(aqbase\(aq, prefix=\(aq\(aq) List all of the symlinks stored on the master .sp CLI Example: @@ -87199,7 +92462,7 @@ salt \(aq*\(aq cp.list_master_symlinks .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.list_minion(saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.list_minion(saltenv=\(aqbase\(aq) List all of the files cached on the minion .sp CLI Example: @@ -87216,7 +92479,7 @@ salt \(aq*\(aq cp.list_minion .UNINDENT .INDENT 0.0 .TP -.B salt.modules.cp.list_states(saltenv=\(aqbase\(aq, env=None) +.B salt.modules.cp.list_states(saltenv=\(aqbase\(aq) List all of the available state modules in an environment .sp CLI Example: @@ -87234,6 +92497,8 @@ salt \(aq*\(aq cp.list_states .INDENT 0.0 .TP .B salt.modules.cp.push(path, keep_symlinks=False, upload_path=None, remove_source=False) +WARNING Files pushed to the master will have global read permissions.. +.sp Push a file from the minion up to the master, the file will be saved to the salt master in the master\(aqs minion files cachedir (defaults to \fB/var/cache/salt/master/minions/minion\-id/files\fP) @@ -87321,6 +92586,11 @@ Manage Perl modules using CPAN .sp New in version 2015.5.0. +.INDENT 0.0 +.TP +.B salt.modules.cpan.__virtual__() +Only work on supported POSIX\-like systems +.UNINDENT .INDENT 0.0 .TP .B salt.modules.cpan.install(module) @@ -87660,6 +92930,273 @@ Solaris and AIX require that \fIpath\fP is readable by \fIuser\fP .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.csf +.SS Support for Config Server Firewall (CSF) +.INDENT 0.0 +.TP +.B maintainer +Mostafa Hussein <\fI\%mostafa.hussein91@gmail.com\fP> +.TP +.B maturity +new +.TP +.B platform +Linux +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.__virtual__() +Only load if csf exists on the system +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.allow(ip, port=None, proto=\(aqtcp\(aq, direction=\(aqin\(aq, port_origin=\(aqd\(aq, ip_origin=\(aqs\(aq, ttl=None, comment=\(aq\(aq) +Add an rule to csf allowed hosts +See \fB_access_rule()\fP\&. +1\- Add an IP: +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.allow 127.0.0.1 +salt \(aq*\(aq csf.allow 127.0.0.1 comment="Allow localhost" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.allow_port(port, proto=\(aqtcp\(aq, direction=\(aqboth\(aq) +Like allow_ports, but it will append to the +existing entry instead of replacing it. +Takes a single port instead of a list of ports. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.allow_port 22 proto=\(aqtcp\(aq direction=\(aqin\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.allow_ports(ports, proto=\(aqtcp\(aq, direction=\(aqin\(aq) +Fully replace the incoming or outgoing ports +line in the csf.conf file \- e.g. TCP_IN, TCP_OUT, +UDP_IN, UDP_OUT, etc. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.allow_ports ports="[22,80,443,4505,4506]" proto=\(aqtcp\(aq direction=\(aqin\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.deny(ip, port=None, proto=\(aqtcp\(aq, direction=\(aqin\(aq, port_origin=\(aqd\(aq, ip_origin=\(aqd\(aq, ttl=None, comment=\(aq\(aq) +Add an rule to csf denied hosts +See \fB_access_rule()\fP\&. +1\- Deny an IP: +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.deny 127.0.0.1 +salt \(aq*\(aq csf.deny 127.0.0.1 comment="Too localhosty" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.disable() +Disable csf permanently +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.disable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.enable() +Activate csf if not running +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.enable +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.exists(method, ip, port=None, proto=\(aqtcp\(aq, direction=\(aqin\(aq, port_origin=\(aqd\(aq, ip_origin=\(aqd\(aq, ttl=None, comment=\(aq\(aq) +Returns true a rule for the ip already exists +based on the method supplied. Returns false if +not found. +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.exists allow 1.2.3.4 +salt \(aq*\(aq csf.exists tempdeny 1.2.3.4 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.get_ports(proto=\(aqtcp\(aq, direction=\(aqin\(aq) +Lists ports from csf.conf based on direction and protocol. +e.g. \- TCP_IN, TCP_OUT, UDP_IN, UDP_OUT, etc.. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.allow_port 22 proto=\(aqtcp\(aq direction=\(aqin\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.reload() +Restart csf +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.reload +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.running() +Check csf status +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.running +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.tempallow(ip=None, ttl=None, port=None, direction=None, comment=\(aq\(aq) +Add an rule to the temporary ip allow list. +See \fB_access_rule()\fP\&. +1\- Add an IP: +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.tempallow 127.0.0.1 3600 port=22 direction=\(aqin\(aq comment=\(aq# Temp dev ssh access\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.tempdeny(ip=None, ttl=None, port=None, direction=None, comment=\(aq\(aq) +Add a rule to the temporary ip deny list. +See \fB_access_rule()\fP\&. +1\- Add an IP: +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.tempdeny 127.0.0.1 300 port=22 direction=\(aqin\(aq comment=\(aq# Brute force attempt\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.unallow(ip) +Remove a rule from the csf denied hosts +See \fB_access_rule()\fP\&. +1\- Deny an IP: +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.unallow 127.0.0.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.csf.undeny(ip) +Remove a rule from the csf denied hosts +See \fB_access_rule()\fP\&. +1\- Deny an IP: +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq csf.undeny 127.0.0.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.cyg .sp Manage cygwin packages. @@ -87667,8 +93204,39 @@ Manage cygwin packages. Module file to accompany the cyg state. .INDENT 0.0 .TP +.B salt.modules.cyg.__virtual__() +Only works on Windows systems. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.cyg.check_valid_package(package, cyg_arch=\(aqx86_64\(aq, mirrors=None) Check if the package is valid on the given mirrors. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpackage\fP \-\- The name of the package +.IP \(bu 2 +\fBcyg_arch\fP \-\- The cygwin architecture +.IP \(bu 2 +\fBmirrors\fP \-\- any mirrors to check +.UNINDENT +.UNINDENT +.sp +Returns (bool): True if Valid, otherwise False +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq cyg.check_valid_package +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -88089,47 +93657,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq data.get -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.data.getval(key) -Get a value from the minion datastore -.sp -Deprecated since version Carbon: Use \fBget\fP instead - -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq data.getval -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.data.getvals(*keylist) -Get values from the minion datastore -.sp -Deprecated since version Carbon: Use \fBget\fP instead - -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq data.getvals [ ...] +salt \(aq*\(aq data.get key +salt \(aq*\(aq data.get \(aq["key1", "key2"]\(aq .ft P .fi .UNINDENT @@ -88316,6 +93845,11 @@ with an extra period in the file, similar to this: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ddns.__virtual__() +Confirm dnspython is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ddns.add_host(zone, name, ttl, ip, nameserver=\(aq127.0.0.1\(aq, replace=True, timeout=5, port=53, **kwargs) Add, replace, or update the A and PTR (reverse) records for a host. .sp @@ -88396,6 +93930,11 @@ separate file will allow them to load only on Debian\-based systems, while still loading under the \fBapache\fP namespace. .INDENT 0.0 .TP +.B salt.modules.deb_apache.__virtual__() +Only load the module if apache is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.deb_apache.a2disconf(conf) New in version 2016.3.0. @@ -88592,6 +94131,11 @@ salt \(aq*\(aq apache.check_site_enabled example.com.conf Module to provide Postgres compatibility to salt for debian family specific tools. .INDENT 0.0 .TP +.B salt.modules.deb_postgres.__virtual__() +Only load this module if the pg_createcluster bin exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.deb_postgres.cluster_create(version, name=\(aqmain\(aq, port=None, locale=None, encoding=None, datadir=None) Adds a cluster to the Postgres server. .sp @@ -88684,6 +94228,11 @@ environments. This also provides a function to generate debian repositories This module implements the pkgbuild interface .INDENT 0.0 .TP +.B salt.modules.debbuild.__virtual__() +Confirm this module is on a Debian based system, and has required utilities +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.debbuild.build(runas, tgt, dest_dir, spec, sources, deps, env, template, saltenv=\(aqbase\(aq, log_dir=\(aq/var/log/salt/pkgbuild\(aq) Given the package destination directory, the tarball containing debian files (e.g. control) and package sources, use pbuilder to safely build the platform package @@ -88864,6 +94413,12 @@ This example command should build the libnacl SOURCE package and place it in Support for Debconf .INDENT 0.0 .TP +.B salt.modules.debconfmod.__virtual__() +Confirm this module is on a Debian based system and that debconf\-utils +is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.debconfmod.get_selections(fetchempty=True) Answers to debconf questions for all packages in the following format: .INDENT 7.0 @@ -88994,6 +94549,11 @@ References: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.debian_ip.__virtual__() +Confine this module to Debian based distros +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.debian_ip.apply_network_settings(**settings) Apply global network configuration. .sp @@ -89194,6 +94754,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.debian_service.__virtual__() +Only work on Debian and when systemd isn\(aqt running +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.debian_service.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. @@ -89657,6 +95222,11 @@ salt ns1 dig.TXT google.com .UNINDENT .INDENT 0.0 .TP +.B salt.modules.dig.__virtual__() +Only load module if dig binary is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.dig.check_ip(addr) Check if address is a valid IP. returns True if valid, otherwise False. .sp @@ -89678,6 +95248,11 @@ salt ns1 dig.check_ip 1111:2222:3333:4444:5555:6666:7777:8888 Module for managing disks and blockdevices .INDENT 0.0 .TP +.B salt.modules.disk.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.disk.blkid(device=None) Return block device attributes: UUID, LABEL, etc. This function only works on systems where blkid is available. @@ -89710,6 +95285,81 @@ salt \(aq*\(aq disk.dump /dev/sda1 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.disk.format_(device, fs_type=\(aqext4\(aq, inode_size=None, lazy_itable_init=None, force=False) +Format a filesystem onto a device +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B device +The device in which to create the new filesystem +.TP +.B fs_type +The type of filesystem to create +.TP +.B inode_size +Size of the inodes +.sp +This option is only enabled for ext and xfs filesystems +.TP +.B lazy_itable_init +If enabled and the uninit_bg feature is enabled, the inode table will +not be fully initialized by mke2fs. This speeds up filesystem +initialization noticeably, but it requires the kernel to finish +initializing the filesystem in the background when the filesystem +is first mounted. If the option value is omitted, it defaults to 1 to +enable lazy inode table zeroing. +.sp +This option is only enabled for ext filesystems +.TP +.B force +Force mke2fs to create a filesystem, even if the specified device is +not a partition on a block special device. This option is only enabled +for ext and xfs filesystems +.sp +This option is dangerous, use it with caution. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq disk.format /dev/sdX1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.disk.fstype(device) +Return the filesystem name of the specified device +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B device +The name of the device +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq disk.fstype /dev/sdX1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.disk.hdparms(disks, args=None) Retrieve all info\(aqs for all disks parse \(aqem into a nice dict @@ -90017,6 +95667,11 @@ salt \(aq*\(aq django.syncdb Module for managing dnsmasq .INDENT 0.0 .TP +.B salt.modules.dnsmasq.__virtual__() +Only work on POSIX\-like systems. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.dnsmasq.fullversion() Shows installed version of dnsmasq and compile options. .sp @@ -90026,7 +95681,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq dnsmasq.version +salt \(aq*\(aq dnsmasq.fullversion .ft P .fi .UNINDENT @@ -90225,6 +95880,12 @@ salt ns1 dig.SPF google.com .UNINDENT .INDENT 0.0 .TP +.B salt.modules.dnsutil.__virtual__() +Generic, should work on any platform (including Windows). Functionality +which requires dependencies outside of Python do not belong in this module. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.dnsutil.check_ip(ip_addr) Check that string ip_addr is a valid IP .sp @@ -90981,12 +96642,9 @@ docker\-registries: .UNINDENT .UNINDENT .UNINDENT -.SS Methods .INDENT 0.0 -.IP \(bu 2 -.INDENT 2.0 .TP -.B Registry Dialog +.B \- Registry Dialog .INDENT 7.0 .IP \(bu 2 \fI\%login\fP @@ -90996,10 +96654,9 @@ docker\-registries: \fI\%pull\fP .UNINDENT .UNINDENT -.IP \(bu 2 -.INDENT 2.0 +.INDENT 0.0 .TP -.B Docker Management +.B \- Docker Management .INDENT 7.0 .IP \(bu 2 \fI\%version\fP @@ -91007,10 +96664,9 @@ docker\-registries: \fI\%info\fP .UNINDENT .UNINDENT -.IP \(bu 2 -.INDENT 2.0 +.INDENT 0.0 .TP -.B Image Management +.B \- Image Management .INDENT 7.0 .IP \(bu 2 \fI\%search\fP @@ -91032,10 +96688,9 @@ docker\-registries: \fI\%load\fP .UNINDENT .UNINDENT -.IP \(bu 2 -.INDENT 2.0 +.INDENT 0.0 .TP -.B Container Management +.B \- Container Management .INDENT 7.0 .IP \(bu 2 \fI\%start\fP @@ -91073,30 +96728,66 @@ docker\-registries: \fI\%get_container_root\fP .UNINDENT .UNINDENT -.UNINDENT -.SS Runtime Execution within a specific, already existing/running container -.sp -Idea is to use \fI\%lxc\-attach\fP to execute -inside the container context. -We do not want to use \fBdocker run\fP but want to execute something inside a -running container. -.sp -These are the available methods: .INDENT 0.0 -.IP \(bu 2 -\fI\%retcode\fP -.IP \(bu 2 -\fI\%run\fP -.IP \(bu 2 -\fI\%run_all\fP -.IP \(bu 2 -\fI\%run_stderr\fP -.IP \(bu 2 -\fI\%run_stdout\fP -.IP \(bu 2 -\fI\%script\fP -.IP \(bu 2 -\fI\%script_retcode\fP +.TP +.B Runtime Execution within a specific, already existing/running container +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +.UNINDENT +.INDENT 0.0 +.TP +.B Idea is to use \(galxc\-attach \(ga_ to execute +.UNINDENT +.INDENT 0.0 +.TP +.B inside the container context. +.UNINDENT +.INDENT 0.0 +.TP +.B We do not want to use \(ga\(gadocker run\(ga\(ga but want to execute something inside a +.UNINDENT +.INDENT 0.0 +.TP +.B running container. +.UNINDENT +.INDENT 0.0 +.TP +.B These are the available methods: +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(garetcode\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(garun\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(garun_all\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(garun_stderr\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(garun_stdout\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(gascript\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B \- :py:func:\(gascript_retcode\(ga +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.dockerio.__virtual__() +Only load if docker libs are present .UNINDENT .INDENT 0.0 .TP @@ -92046,7 +97737,7 @@ salt \(aq*\(aq docker.save arch_image /path/to/save/image .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dockerio.script(container, source, args=None, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, no_clean=False, saltenv=\(aqbase\(aq) +.B salt.modules.dockerio.script(container, source, args=None, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, no_clean=False, saltenv=\(aqbase\(aq) Wrapper for \fBcmdmod.script\fP inside a container context .INDENT 7.0 .TP @@ -92107,7 +97798,7 @@ salt \(aq*\(aq docker.script salt://scripts/runme.sh stdin=\(aqon .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dockerio.script_retcode(container, source, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, env=None, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, no_clean=False, saltenv=\(aqbase\(aq) +.B salt.modules.dockerio.script_retcode(container, source, cwd=None, stdin=None, runas=None, shell=\(aq/bin/bash\(aq, template=\(aqjinja\(aq, umask=None, timeout=None, reset_system_locale=True, no_clean=False, saltenv=\(aqbase\(aq) Wrapper for \fBcmdmod.script_retcode\fP inside a container context .INDENT 7.0 .TP @@ -92339,8 +98030,14 @@ salt myminion pip.install docker\-py>=1.4.0 .UNINDENT .SS Authentication .sp -To push or pull images, credentials must be configured. Because a password must -be used, it is recommended to place this configuration in Pillar data. The configuration schema is as follows: +To push or pull images, credentials must be configured. By default dockerng will +try to get the credentials from the default docker auth file, located under the +home directory of the user running the salt\-minion (HOME/.docker/config.json). +Because a password must be used, it is recommended to place this configuration +in Pillar data. If pillar data specifies a registry already +present in the default docker auth file, it will override. +.sp +The configuration schema is as follows: .INDENT 0.0 .INDENT 3.5 .sp @@ -92626,7 +98323,12 @@ This execution module provides functions that shadow those from the \fBcmd\fP mo .SS Detailed Function Documentation .INDENT 0.0 .TP -.B salt.modules.dockerng.build(path=None, image=None, cache=True, rm=True, api_response=False, fileobj=None) +.B salt.modules.dockerng.__virtual__() +Only load if docker libs are present +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.dockerng.build(path=None, image=None, cache=True, rm=True, api_response=False, fileobj=None, dockerfile=None) Builds a docker image from a Dockerfile or a URL .INDENT 7.0 .TP @@ -92656,6 +98358,13 @@ data, containing the raw output from the Docker API. Allows for a file\-like object containing the contents of the Dockerfile to be passed in place of a file \fBpath\fP argument. This argument should not be used from the CLI, only from other Salt code. +.TP +.B dockerfile +Allows for an alternative Dockerfile to be specified. Path to alternative +Dockefile is relative to the build path for the Docker container. +.sp +New in version develop. + .UNINDENT .sp \fBRETURN DATA\fP @@ -92702,10 +98411,39 @@ CLI Example: .ft C salt myminion dockerng.build /path/to/docker/build/dir image=myimage:dev salt myminion dockerng.build https://github.com/myuser/myrepo.git image=myimage:latest + +\&.. versionadded:: develop + +salt myminion dockerng.build /path/to/docker/build/dir dockerfile=Dockefile.different image=myimage:dev .ft P .fi .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.dockerng.call(name, function, *args, **kwargs) +Executes a salt function inside a container +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion dockerng.call test.ping + +salt myminion test.arg arg1 arg2 key1=val1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The container does not need to have Salt installed, but Python +is required. +.sp +New in version 2016.11.0. + .UNINDENT .INDENT 0.0 .TP @@ -93095,6 +98833,14 @@ has not been the default for some time. .UNINDENT .UNINDENT .TP +.B security_opt +Security configuration for MLS systems such as SELinux and AppArmor. +.sp +Example 1: \fBsecurity_opt="apparmor:unconfined"\fP +.sp +Example 2: \fBsecurity_opt=["apparmor:unconfined"]\fP +\fBsecurity_opt=["apparmor:unconfined", "param2:value2"]\fP +.TP .B publish_all_ports False Allocates a random host port for each port exposed using the \fBports\fP @@ -93212,6 +98958,24 @@ Set to \fBhost\fP to use the host container\(aqs PID namespace within the container. Requires Docker 1.5.0 or newer. .sp Example: \fBpid_mode=host\fP +.TP +.B log_config +Set container\(aqs log driver and options +.INDENT 7.0 +.TP +.B Example: +.nf +\(ga\(ga +.fi +log_conf: +Type: json\-file +Config: +.INDENT 7.0 +.INDENT 3.5 +max\-file: \(aq10\(aq\(ga\(ga +.UNINDENT +.UNINDENT +.UNINDENT .UNINDENT .sp \fBRETURN DATA\fP @@ -94941,10 +100705,18 @@ Container name or ID .B source Path to the script. Can be a local path on the Minion or a remote file from the Salt fileserver. +.UNINDENT +.INDENT 7.0 .TP -.B args -A string containing additional command\-line options to pass to the -script. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBstring containing additional command\-line options to pass to the\fP (\fIA\fP) \-\- +.IP \(bu 2 +\fBscript.\fP \-\- +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B template None @@ -95004,10 +100776,18 @@ Container name or ID .B source Path to the script. Can be a local path on the Minion or a remote file from the Salt fileserver. +.UNINDENT +.INDENT 7.0 .TP -.B args -A string containing additional command\-line options to pass to the -script. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBstring containing additional command\-line options to pass to the\fP (\fIA\fP) \-\- +.IP \(bu 2 +\fBscript.\fP \-\- +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B template None @@ -95132,6 +100912,60 @@ salt myminion dockerng.signal mycontainer SIGHUP .fi .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.dockerng.sls(name, mods=None, saltenv=\(aqbase\(aq, **kwargs) +Apply the highstate defined by the specified modules. +.sp +For example, if your master defines the states \fBweb\fP and \fBrails\fP, you +can apply them to a container: +states by doing: +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion dockerng.sls compassionate_mirzakhani mods=rails,web +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The container does not need to have Salt installed, but Python +is required. +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.dockerng.sls_build(name, base=\(aqopensuse/python\(aq, mods=None, saltenv=\(aqbase\(aq, **kwargs) +Build a docker image using the specified sls modules and base image. +.sp +For example, if your master defines the states \fBweb\fP and \fBrails\fP, you +can build a docker image inside myminion that results of applying those +states by doing: +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion dockerng.sls_build imgname base=mybase mods=rails,web +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The base image does not need to have Salt installed, but Python +is required. +.sp +New in version 2016.11.0. + .UNINDENT .INDENT 0.0 .TP @@ -95436,6 +101270,11 @@ salt myminion dockerng.wait mycontainer Support for DEB packages .INDENT 0.0 .TP +.B salt.modules.dpkg.__virtual__() +Confirm this module is on a Debian based system +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.dpkg.bin_pkg_info(path, saltenv=\(aqbase\(aq) New in version 2015.8.0. @@ -95955,10 +101794,6 @@ Manage Dell DRAC. .sp New in version 2015.8.2. -.INDENT 0.0 -.TP -.B salt.modules.dracr.bare_rac_cmd(cmd, host=None, admin_username=None, admin_password=None) -.UNINDENT .INDENT 0.0 .TP .B salt.modules.dracr.change_password(username, password, uid=None, host=None, admin_username=None, admin_password=None, module=None) @@ -96199,14 +102034,6 @@ salt \(aq*\(aq dracr.get_chassis_name host=111.222.333.444 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dracr.get_dns_dracname(host=None, admin_username=None, admin_password=None) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.dracr.get_general(cfg_sec, cfg_var, host=None, admin_username=None, admin_password=None) -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.dracr.get_slotname(slot, host=None, admin_username=None, admin_password=None) Get the name of a slot number in the chassis. .INDENT 7.0 @@ -96281,10 +102108,6 @@ salt fx2 chassis.cmd idrac_general server\-1 \(aqget BIOS.SysProfileSettings\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dracr.inventory(host=None, admin_username=None, admin_password=None) -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.dracr.list_slotnames(host=None, admin_username=None, admin_password=None) List the names of all slots in the chassis. .INDENT 7.0 @@ -96668,14 +102491,6 @@ salt \(aq*\(aq dracr.set_chassis_name my\-chassis host=111.222.333.444 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dracr.set_dns_dracname(name, host=None, admin_username=None, admin_password=None) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.dracr.set_general(cfg_sec, cfg_var, val, host=None, admin_username=None, admin_password=None) -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.dracr.set_network(ip, netmask, gateway, host=None, admin_username=None, admin_password=None) Configure Network on the CMC or individual iDRAC. Use \fBset_niccfg\fP for blade and switch addresses. @@ -96696,14 +102511,6 @@ salt dell dracr.set_network 192.168.0.2 255.255.255.0 192.168.0.1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.dracr.set_niccfg(ip=None, netmask=None, gateway=None, dhcp=False, host=None, admin_username=None, admin_password=None, module=None) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.dracr.set_nicvlan(vlan=None, host=None, admin_username=None, admin_password=None, module=None) -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.dracr.set_permissions(username, permissions, uid=None, host=None, admin_username=None, admin_password=None) Configure users permissions .sp @@ -96962,6 +102769,11 @@ For now all package names \fIMUST\fP include the package category, i.e. \fB\(aqvim\(aq\fP will not work, \fB\(aqapp\-editors/vim\(aq\fP will. .INDENT 0.0 .TP +.B salt.modules.ebuild.__virtual__() +Confirm this module is on a Gentoo based system +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ebuild.check_db(*names, **kwargs) New in version 0.17.0. @@ -97087,7 +102899,7 @@ salt \(aq*\(aq pkg.ex_mod_init .INDENT 0.0 .TP .B salt.modules.ebuild.install(name=None, refresh=False, pkgs=None, sources=None, slot=None, fromrepo=None, uses=None, binhost=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any emerge commands spawned by Salt when the @@ -97319,7 +103131,7 @@ rather the name of the package (i.e. "dev\-python/paramiko"). .INDENT 0.0 .TP .B salt.modules.ebuild.purge(name=None, slot=None, fromrepo=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any emerge commands spawned by Salt when the @@ -97391,7 +103203,7 @@ salt \(aq*\(aq pkg.refresh_db .INDENT 0.0 .TP .B salt.modules.ebuild.remove(name=None, slot=None, fromrepo=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any emerge commands spawned by Salt when the @@ -97445,7 +103257,7 @@ salt \(aq*\(aq pkg.remove pkgs=\(aq["foo", "bar"]\(aq .INDENT 0.0 .TP .B salt.modules.ebuild.update(pkg, slot=None, fromrepo=None, refresh=False, binhost=None) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any emerge commands spawned by Salt when the @@ -97500,7 +103312,7 @@ salt \(aq*\(aq pkg.update .INDENT 0.0 .TP .B salt.modules.ebuild.upgrade(refresh=True, binhost=None, backtrack=3) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any emerge commands spawned by Salt when the @@ -97524,14 +103336,14 @@ calculation fails due to a conflict or an unsatisfied dependency (default: \'3\'). .UNINDENT .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -97627,6 +103439,11 @@ salt \(aq*\(aq pkg.version_cmp \(aq0.2.4\-0\(aq \(aq0.2.4.1\-0\(aq Support for Eix .INDENT 0.0 .TP +.B salt.modules.eix.__virtual__() +Only work on Gentoo systems with eix installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.eix.sync() Sync portage/overlay trees and update the eix database .sp @@ -97710,6 +103527,11 @@ overwrite options passed into pillar. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.elasticsearch.__virtual__() +Only load if elasticsearch libraries exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.elasticsearch.alias_create(indices, alias, hosts=None, body=None, profile=None) Create an alias for a specific index/indices .sp @@ -98037,6 +103859,11 @@ Support for getting and setting the environment variables of the current salt process. .INDENT 0.0 .TP +.B salt.modules.environ.__virtual__() +No dependency checks, and not renaming, just return True +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.environ.get(key, default=\(aq\(aq) Get a single salt process environment variable. .INDENT 7.0 @@ -98241,6 +104068,11 @@ salt \(aq*\(aq environ.setval baz bar permanent=HKLM Support for eselect, Gentoo\(aqs configuration and management tool. .INDENT 0.0 .TP +.B salt.modules.eselect.__virtual__() +Only work on Gentoo systems with eselect installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.eselect.exec_action(module, action, module_parameter=None, action_parameter=None, state_only=False) Execute an arbitrary action on a module. .INDENT 7.0 @@ -98332,12 +104164,18 @@ salt \(aq*\(aq eselect.get_modules .UNINDENT .INDENT 0.0 .TP -.B salt.modules.eselect.get_target_list(module) +.B salt.modules.eselect.get_target_list(module, action_parameter=None) List available targets for the given module. .INDENT 7.0 .TP .B module name of the module to be queried for its targets +.TP +.B action_parameter +additional params passed to the defined action +.sp +New in version 2016.11.0. + .UNINDENT .sp CLI Example: @@ -98431,7 +104269,8 @@ salt \(aqexsi\-proxy\(aq esxi.cmd get_service_policy service_name=\(aqssh\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.esxi.cmd(command, *args, **kwargs) +.B salt.modules.esxi.__virtual__() +Only work on proxy .UNINDENT .SS salt.modules.etcd_mod .sp @@ -98490,6 +104329,11 @@ pillars. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.etcd_mod.__virtual__() +Only return if python\-etcd is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.etcd_mod.get(key, recurse=False, profile=None) New in version 2014.7.0. @@ -98719,6 +104563,11 @@ linux .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ethtool.__virtual__() +Only load this module if python\-ethtool is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ethtool.set_coalesce(devname, **kwargs) Changes the coalescing settings of the specified network device .sp @@ -98749,7 +104598,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq ethtool.show_offload +salt \(aq*\(aq ethtool.set_offload tcp_segmentation_offload=on .ft P .fi .UNINDENT @@ -98766,7 +104615,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq ethtool.set_ring [ring=N] [rx_mini=N] [rx_jumbo=N] [tx=N] +salt \(aq*\(aq ethtool.set_ring [rx=N] [rx_mini=N] [rx_jumbo=N] [tx=N] .ft P .fi .UNINDENT @@ -98880,7 +104729,7 @@ salt \(aq*\(aq event.fire_master \(aq{"data":"my event data"}\(aq \(aqtag\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.event.send(tag, data=None, preload=None, with_env=False, with_grains=False, with_pillar=False, **kwargs) +.B salt.modules.event.send(tag, data=None, preload=None, with_env=False, with_grains=False, with_pillar=False, with_env_opts=False, **kwargs) Send an event to the Salt Master .sp New in version 2014.7.0. @@ -98919,6 +104768,10 @@ through an event. Such as passing the \fBpillar={}\fP kwarg in \fBstate.sls\fP from the Master, through an event on the Minion, then back to the Master. .IP \(bu 2 +\fBwith_env_opts\fP (Specify \fBTrue\fP to include \fBsaltenv\fP and +\fBpillarenv\fP values or \fBFalse\fP to omit them.) \-\- Include \fBsaltenv\fP and \fBpillarenv\fP set on minion +at the moment when event is send into event data. +.IP \(bu 2 \fBkwargs\fP \-\- Any additional keyword arguments passed to this function will be interpreted as key\-value pairs and included in the event data. This provides a convenient alternative to YAML for simple values. @@ -98971,6 +104824,11 @@ sudo \-E salt\-call event.send myco/jenkins/build/success with_env=[BUILD_ID, BU Module for managing ext2/3/4 file systems .INDENT 0.0 .TP +.B salt.modules.extfs.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.extfs.attributes(device, args=None) Return attributes from dumpe2fs for a specified device .sp @@ -99166,6 +105024,11 @@ and special files on the minion, set/read user, group, mode, and data .INDENT 0.0 .TP +.B salt.modules.file.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.file.access(path, mode) New in version 2014.1.0. @@ -99498,7 +105361,7 @@ salt \(aq*\(aq file.check_managed /etc/httpd/conf.d/httpd.conf salt://http/httpd .UNINDENT .INDENT 0.0 .TP -.B salt.modules.file.check_managed_changes(name, source, source_hash, user, group, mode, template, context, defaults, saltenv, contents=None, skip_verify=False, **kwargs) +.B salt.modules.file.check_managed_changes(name, source, source_hash, user, group, mode, template, context, defaults, saltenv, contents=None, skip_verify=False, keep_mode=False, **kwargs) Return a dictionary of what changes need to be made for a file .sp CLI Example: @@ -99766,30 +105629,6 @@ salt \(aq*\(aq file.contains_regex /etc/crontab .UNINDENT .INDENT 0.0 .TP -.B salt.modules.file.contains_regex_multiline(path, regex) -Deprecated since version 0.17.0: Use \fI\%search()\fP instead. - -.sp -Return True if the given regular expression matches anything in the text -of a given file -.sp -Traverses multiple lines at a time, via the salt BufferedReader (reads in -chunks) -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq file.contains_regex_multiline /etc/crontab \(aq^maint\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.file.copy(src, dst, recurse=False, remove_existing=False) Copy a file or directory from source to dst .sp @@ -100162,7 +106001,7 @@ salt \(aq*\(aq file.get_devmm /dev/chr .UNINDENT .INDENT 0.0 .TP -.B salt.modules.file.get_diff(minionfile, masterfile, env=None, saltenv=\(aqbase\(aq) +.B salt.modules.file.get_diff(minionfile, masterfile, saltenv=\(aqbase\(aq) Return unified diff of file compared to file on master .sp CLI Example: @@ -100952,7 +106791,7 @@ salt \(aq*\(aq file.makedirs_perms /opt/code .UNINDENT .INDENT 0.0 .TP -.B salt.modules.file.manage_file(name, sfn, ret, source, source_sum, user, group, mode, saltenv, backup, makedirs=False, template=None, show_diff=True, contents=None, dir_mode=None, follow_symlinks=True, skip_verify=False) +.B salt.modules.file.manage_file(name, sfn, ret, source, source_sum, user, group, mode, saltenv, backup, makedirs=False, template=None, show_changes=True, contents=None, dir_mode=None, follow_symlinks=True, skip_verify=False, keep_mode=False) Checks the destination against what was retrieved with get_managed and makes the appropriate modifications (if necessary). .INDENT 7.0 @@ -100997,7 +106836,7 @@ make directories if they do not exist .B template format of templating .TP -.B show_diff +.B show_changes Include diff in state return .TP .B contents: @@ -101014,6 +106853,12 @@ argument will be ignored. .sp New in version 2016.3.0. +.TP +.B keep_mode +False +If \fBTrue\fP, and the \fBsource\fP is a file from the Salt fileserver (or +a local file on the minion), the mode of the destination file will be +set to the mode of the source file. .UNINDENT .sp CLI Example: @@ -102236,7 +108081,12 @@ New in version 2015.2.0. .INDENT 0.0 .TP -.B salt.modules.firewalld.add_interface(zone, interface) +.B salt.modules.firewalld.__virtual__() +Check to see if firewall\-cmd exists +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.add_interface(zone, interface, permanent=True) Bind an interface to a zone .sp New in version 2016.3.0. @@ -102256,8 +108106,9 @@ salt \(aq*\(aq firewalld.add_interface zone eth0 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.add_masquerade(zone) +.B salt.modules.firewalld.add_masquerade(zone=None, permanent=True) Enable masquerade on a zone. +If zone is omitted, default zone will be used. .sp New in version 2015.8.0. @@ -102273,6 +108124,18 @@ salt \(aq*\(aq firewalld.add_masquerade .fi .UNINDENT .UNINDENT +.sp +To enable masquerade on a specific zone +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.add_masquerade dmz +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -102296,7 +108159,7 @@ salt \(aq*\(aq firewalld.add_port internal 443/tcp .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.add_port_fwd(zone, src, dest, proto=\(aqtcp\(aq, dstaddr=\(aq\(aq) +.B salt.modules.firewalld.add_port_fwd(zone, src, dest, proto=\(aqtcp\(aq, dstaddr=\(aq\(aq, permanent=True) Add port forwarding. .sp New in version 2015.8.0. @@ -102316,7 +108179,27 @@ salt \(aq*\(aq firewalld.add_port_fwd public 80 443 tcp .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.add_service(name, zone=None, permanent=True) +.B salt.modules.firewalld.add_rich_rule(zone, rule, permanent=True) +Add a rich rule to a zone +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.add_rich_rule zone \(aqrule\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.add_service(service, zone=None, permanent=True) Add a service for zone. If zone is omitted, default zone will be used. .sp CLI Example: @@ -102345,7 +108228,47 @@ salt \(aq*\(aq firewalld.add_service ssh my_zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.add_source(zone, source) +.B salt.modules.firewalld.add_service_port(service, port) +Add a new port to the specified service. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.add_service_port zone 80 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.add_service_protocol(service, protocol) +Add a new protocol to the specified service. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.add_service_protocol zone ssh +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.add_source(zone, source, permanent=True) Bind a source to a zone .sp New in version 2016.3.0. @@ -102365,7 +108288,7 @@ salt \(aq*\(aq firewalld.add_source zone 192.168.1.0/24 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.allow_icmp(zone, icmp) +.B salt.modules.firewalld.allow_icmp(zone, icmp, permanent=True) Allow a specific ICMP type on a zone .sp New in version 2015.8.0. @@ -102385,7 +108308,7 @@ salt \(aq*\(aq firewalld.allow_icmp zone echo\-reply .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.block_icmp(zone, icmp) +.B salt.modules.firewalld.block_icmp(zone, icmp, permanent=True) Block a specific ICMP type on a zone .sp New in version 2015.8.0. @@ -102482,7 +108405,7 @@ salt \(aq*\(aq firewalld.delete_zone my_zone False .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.get_icmp_types() +.B salt.modules.firewalld.get_icmp_types(permanent=True) Print predefined icmptypes .sp CLI Example: @@ -102499,7 +108422,7 @@ salt \(aq*\(aq firewalld.get_icmp_types .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.get_interfaces(zone) +.B salt.modules.firewalld.get_interfaces(zone, permanent=True) List interfaces bound to a zone .sp New in version 2016.3.0. @@ -102519,8 +108442,9 @@ salt \(aq*\(aq firewalld.get_interfaces zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.get_masquerade(zone) -Show if masquerading is enabled on a zone +.B salt.modules.firewalld.get_masquerade(zone=None, permanent=True) +Show if masquerading is enabled on a zone. +If zone is omitted, default zone will be used. .sp CLI Example: .INDENT 7.0 @@ -102536,7 +108460,67 @@ salt \(aq*\(aq firewalld.get_masquerade zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.get_services() +.B salt.modules.firewalld.get_rich_rules(zone, permanent=True) +List rich rules bound to a zone +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.get_rich_rules zone +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.get_service_ports(service) +List ports of a service. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.get_service_ports zone +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.get_service_protocols(service) +List protocols of a service. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.get_service_protocols zone +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.get_services(permanent=True) Print predefined services .sp CLI Example: @@ -102553,7 +108537,7 @@ salt \(aq*\(aq firewalld.get_services .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.get_sources(zone) +.B salt.modules.firewalld.get_sources(zone, permanent=True) List sources bound to a zone .sp New in version 2016.3.0. @@ -102573,7 +108557,7 @@ salt \(aq*\(aq firewalld.get_sources zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.get_zones() +.B salt.modules.firewalld.get_zones(permanent=True) Print predefined zones .sp CLI Example: @@ -102590,7 +108574,7 @@ salt \(aq*\(aq firewalld.get_zones .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.list_all(zone=None) +.B salt.modules.firewalld.list_all(zone=None, permanent=True) List everything added for or enabled in a zone .sp CLI Example: @@ -102619,7 +108603,7 @@ salt \(aq*\(aq firewalld.list_all my_zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.list_icmp_block(zone) +.B salt.modules.firewalld.list_icmp_block(zone, permanent=True) List ICMP blocks on a zone .sp New in version 2015.8.0. @@ -102639,7 +108623,7 @@ salt \(aq*\(aq firewlld.list_icmp_block zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.list_port_fwd(zone) +.B salt.modules.firewalld.list_port_fwd(zone, permanent=True) List port forwarding .sp New in version 2015.8.0. @@ -102659,7 +108643,7 @@ salt \(aq*\(aq firewalld.list_port_fwd public .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.list_ports(zone) +.B salt.modules.firewalld.list_ports(zone, permanent=True) List all ports in a zone. .sp New in version 2015.8.0. @@ -102679,7 +108663,7 @@ salt \(aq*\(aq firewalld.list_ports .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.list_services(zone=None) +.B salt.modules.firewalld.list_services(zone=None, permanent=True) List services added for zone as a space separated list. If zone is omitted, default zone will be used. .sp @@ -102709,7 +108693,7 @@ salt \(aq*\(aq firewalld.list_services my_zone .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.list_zones() +.B salt.modules.firewalld.list_zones(permanent=True) List everything added for or enabled in all zones .sp CLI Example: @@ -102806,7 +108790,28 @@ salt \(aq*\(aq firewalld.new_zone my_zone False .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.remove_interface(zone, interface) +.B salt.modules.firewalld.reload_rules() +Reload the firewall rules, which makes the permanent configuration the new +runtime configuration without losing state information. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.reload +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.remove_interface(zone, interface, permanent=True) Remove an interface bound to a zone .sp New in version 2016.3.0. @@ -102826,8 +108831,9 @@ salt \(aq*\(aq firewalld.remove_interface zone eth0 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.remove_masquerade(zone) +.B salt.modules.firewalld.remove_masquerade(zone=None, permanent=True) Remove masquerade on a zone. +If zone is omitted, default zone will be used. .sp New in version 2015.8.0. @@ -102843,6 +108849,18 @@ salt \(aq*\(aq firewalld.remove_masquerade .fi .UNINDENT .UNINDENT +.sp +To remove masquerade on a specific zone +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.remove_masquerade dmz +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -102866,7 +108884,7 @@ salt \(aq*\(aq firewalld.remove_port internal 443/tcp .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.remove_port_fwd(zone, src, dest, proto=\(aqtcp\(aq) +.B salt.modules.firewalld.remove_port_fwd(zone, src, dest, proto=\(aqtcp\(aq, dstaddr=\(aq\(aq, permanent=True) Remove Port Forwarding. .sp New in version 2015.8.0. @@ -102886,7 +108904,27 @@ salt \(aq*\(aq firewalld.remove_port_fwd public 80 443 tcp .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.remove_service(name, zone=None, permanent=True) +.B salt.modules.firewalld.remove_rich_rule(zone, rule, permanent=True) +Add a rich rule to a zone +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.remove_rich_rule zone \(aqrule\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.remove_service(service, zone=None, permanent=True) Remove a service from zone. This option can be specified multiple times. If zone is omitted, default zone will be used. .sp @@ -102916,7 +108954,47 @@ salt \(aq*\(aq firewalld.remove_service ssh dmz .UNINDENT .INDENT 0.0 .TP -.B salt.modules.firewalld.remove_source(zone, source) +.B salt.modules.firewalld.remove_service_port(service, port) +Remove a port from the specified service. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.remove_service_port zone 80 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.remove_service_protocol(service, protocol) +Remove a protocol from the specified service. +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq firewalld.remove_service_protocol zone ssh +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.firewalld.remove_source(zone, source, permanent=True) Remove a source bound to a zone .sp New in version 2016.3.0. @@ -102973,6 +109051,11 @@ salt \(aq*\(aq firewalld.version Module for viewing and modifying sysctl parameters .INDENT 0.0 .TP +.B salt.modules.freebsd_sysctl.__virtual__() +Only runs on FreeBSD systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.freebsd_sysctl.assign(name, value) Assign a single sysctl parameter for this minion .sp @@ -103045,6 +109128,11 @@ salt \(aq*\(aq sysctl.show The jail module for FreeBSD .INDENT 0.0 .TP +.B salt.modules.freebsdjail.__virtual__() +Only runs on FreeBSD systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.freebsdjail.fstab(jail) Display contents of a fstab(5) file defined in specified jail\(aqs configuration. If no file is defined, return False. @@ -103202,6 +109290,11 @@ salt \(aq*\(aq jail.sysctl Module to manage FreeBSD kernel modules .INDENT 0.0 .TP +.B salt.modules.freebsdkmod.__virtual__() +Only runs on FreeBSD systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.freebsdkmod.available() Return a list of all available kernel modules .sp @@ -103431,6 +109524,13 @@ recognized, and override their config counterparts from section 1 above. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.freebsdpkg.__virtual__() +Load as \(aqpkg\(aq on FreeBSD versions less than 10. +Don\(aqt load on FreeBSD 9 when the config option +\fBproviders:pkg\fP is set to \(aqpkgng\(aq. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.freebsdpkg.file_dict(*packages) List the files that belong to a package, grouped by package. Not specifying any packages will return a list of _every_ file on the @@ -103668,24 +109768,6 @@ salt \(aq*\(aq pkg.remove pkgs=\(aq["foo", "bar"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.freebsdpkg.upgrade() -Upgrades are not supported with \fBpkg_add(1)\fP\&. This function is included -for API compatibility only and always returns an empty dict. -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq pkg.upgrade -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.freebsdpkg.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 @@ -103737,6 +109819,11 @@ salt minion\-id ports.install security/nmap .UNINDENT .INDENT 0.0 .TP +.B salt.modules.freebsdports.__virtual__() +Only runs on FreeBSD systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.freebsdports.config(name, reset=False, **kwargs) Modify configuration options for a given port. Multiple options can be specified. To see the available options for a port, use @@ -103957,6 +110044,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.freebsdservice.__virtual__() +Only work on FreeBSD +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.freebsdservice.available(name) Check that the given service is available. .sp @@ -104575,6 +110667,12 @@ Module for managing container and VM images .sp New in version 2014.7.0. +.INDENT 0.0 +.TP +.B salt.modules.genesis.__virtual__() +By default, this will be available on all platforms; but not all distros +will necessarily be supported +.UNINDENT .INDENT 0.0 .TP .B salt.modules.genesis.avail_platforms() @@ -104766,6 +110864,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.gentoo_service.__virtual__() +Only work on systems which default to OpenRC +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.gentoo_service.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. @@ -104793,7 +110896,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq service.disable +salt \(aq*\(aq service.disable +salt \(aq*\(aq service.disable .ft P .fi .UNINDENT @@ -104810,7 +110914,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq service.disabled +salt \(aq*\(aq service.disabled .ft P .fi .UNINDENT @@ -104827,7 +110931,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq service.enable +salt \(aq*\(aq service.enable +salt \(aq*\(aq service.enable .ft P .fi .UNINDENT @@ -104844,7 +110949,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq service.enabled +salt \(aq*\(aq service.enabled +salt \(aq*\(aq service.enabled .ft P .fi .UNINDENT @@ -104922,6 +111028,23 @@ salt \(aq*\(aq service.missing sshd .UNINDENT .INDENT 0.0 .TP +.B salt.modules.gentoo_service.reload_(name) +Reload the named service +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.reload +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.gentoo_service.restart(name) Restart the named service .sp @@ -104990,11 +111113,33 @@ salt \(aq*\(aq service.stop .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.gentoo_service.zap(name) +Resets service state +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.zap +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.gentoolkitmod .sp Support for Gentoolkit .INDENT 0.0 .TP +.B salt.modules.gentoolkitmod.__virtual__() +Only work on Gentoo systems with gentoolkit installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.gentoolkitmod.eclean_dist(destructive=False, package_names=False, size_limit=0, time_limit=0, fetch_restricted=False, exclude_file=\(aq/etc/eclean/distfiles.exclude\(aq) Clean obsolete portage sources .INDENT 7.0 @@ -105170,6 +111315,11 @@ salt \(aq*\(aq gentoolkit.revdep_rebuild Support for the Git SCM .INDENT 0.0 .TP +.B salt.modules.git.__virtual__() +Only load if git exists on the system +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.git.add(cwd, filename, opts=\(aq\(aq, user=None, password=None, ignore_retcode=False) Changed in version 2015.8.0: The \fB\-\-verbose\fP command line argument is now implied @@ -106091,7 +112241,7 @@ salt myminion git.describe /path/to/repo develop .INDENT 0.0 .TP .B salt.modules.git.diff(cwd, item1=None, item2=None, opts=\(aq\(aq, user=None, password=None, no_index=False, cached=False, paths=None) -New in version 2015.8.12,2016.3.3,Carbon. +New in version 2015.8.12,2016.3.3,2016.11.0. .sp Interface to \fI\%git\-diff(1)\fP @@ -108352,7 +114502,7 @@ salt myminion git.worktree_rm /path/to/worktree .sp Module for interacting with the GitHub v3 API. .sp -New in version 2016.3.0.. +New in version 2016.3.0. .INDENT 0.0 .TP @@ -108374,12 +114524,177 @@ For example: github: token: abc1234 org_name: my_organization - # optional: only some functions, such as \(aqadd_user\(aq, - # require a dev_team_id - dev_team_id: 1234 + + # optional: some functions require a repo_name, which + # can be set in the config file, or passed in at the CLI. + repo_name: my_repo .ft P .fi .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.__virtual__() +Only load this module if PyGithub is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.add_repo(name, description=None, homepage=None, private=None, has_issues=None, has_wiki=None, has_downloads=None, auto_init=None, gitignore_template=None, license_template=None, profile=\(aqgithub\(aq) +Create a new github repository. +.INDENT 7.0 +.TP +.B name +The name of the team to be created. +.TP +.B description +The description of the repository. +.TP +.B homepage +The URL with more information about the repository. +.TP +.B private +The visiblity of the repository. Note that private repositories require +a paid GitHub account. +.TP +.B has_issues +Whether to enable issues for this repository. +.TP +.B has_wiki +Whether to enable the wiki for this repository. +.TP +.B has_downloads +Whether to enable downloads for this repository. +.TP +.B auto_init +Whether to create an initial commit with an empty README. +.TP +.B gitignore_template +The desired language or platform for a .gitignore, e.g "Haskell". +.TP +.B license_template +The desired LICENSE template to apply, e.g "mit" or "mozilla". +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.add_repo \(aqrepo_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.add_team(name, description=None, repo_names=None, privacy=None, permission=None, profile=\(aqgithub\(aq) +Create a new Github team within an organization. +.INDENT 7.0 +.TP +.B name +The name of the team to be created. +.TP +.B description +The description of the team. +.TP +.B repo_names +The names of repositories to add the team to. +.TP +.B privacy +The level of privacy for the team, can be \(aqsecret\(aq or \(aqclosed\(aq. +.TP +.B permission +The default permission for new repositories added to the team, can be +\(aqpull\(aq, \(aqpush\(aq or \(aqadmin\(aq. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.add_team \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.add_team_member(name, team_name, profile=\(aqgithub\(aq) +Adds a team member to a team with team_name. +.INDENT 7.0 +.TP +.B name +The name of the team member to add. +.TP +.B team_name +The name of the team of which to add the user. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.add_team_member \(aquser_name\(aq \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.add_team_repo(repo_name, team_name, profile=\(aqgithub\(aq) +Adds a repository to a team with team_name. +.INDENT 7.0 +.TP +.B repo_name +The name of the repository to add. +.TP +.B team_name +The name of the team of which to add the repository. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.add_team_repo \(aqmy_repo\(aq \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + .UNINDENT .INDENT 0.0 .TP @@ -108408,6 +114723,403 @@ salt myminion github.add_user github\-handle .UNINDENT .INDENT 0.0 .TP +.B salt.modules.github.edit_repo(name, description=None, homepage=None, private=None, has_issues=None, has_wiki=None, has_downloads=None, profile=\(aqgithub\(aq) +Updates an existing Github repository. +.INDENT 7.0 +.TP +.B name +The name of the team to be created. +.TP +.B description +The description of the repository. +.TP +.B homepage +The URL with more information about the repository. +.TP +.B private +The visiblity of the repository. Note that private repositories require +a paid GitHub account. +.TP +.B has_issues +Whether to enable issues for this repository. +.TP +.B has_wiki +Whether to enable the wiki for this repository. +.TP +.B has_downloads +Whether to enable downloads for this repository. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.add_repo \(aqrepo_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.edit_team(name, description=None, privacy=None, permission=None, profile=\(aqgithub\(aq) +Updates an existing Github team. +.INDENT 7.0 +.TP +.B name +The name of the team to be edited. +.TP +.B description +The description of the team. +.TP +.B privacy +The level of privacy for the team, can be \(aqsecret\(aq or \(aqclosed\(aq. +.TP +.B permission +The default permission for new repositories added to the team, can be +\(aqpull\(aq, \(aqpush\(aq or \(aqadmin\(aq. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.edit_team \(aqteam_name\(aq description=\(aqTeam description\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_issue(issue_number, repo_name=None, profile=\(aqgithub\(aq, output=\(aqmin\(aq) +Return information about a single issue in a named repository. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B issue_number +The number of the issue to retrieve. +.TP +.B repo_name +The name of the repository from which to get the issue. This argument is +required, either passed via the CLI, or defined in the configured +profile. A \fBrepo_name\fP passed as a CLI argument will override the +repo_name defined in the configured profile, if provided. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B output +The amount of data returned by each issue. Defaults to \fBmin\fP\&. Change +to \fBfull\fP to see all issue output. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_issue 514 +salt myminion github.get_issue 514 repo_name=salt +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_issue_comments(issue_number, repo_name=None, profile=\(aqgithub\(aq, since=None, output=\(aqmin\(aq) +Return information about the comments for a given issue in a named repository. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B issue_number +The number of the issue for which to retrieve comments. +.TP +.B repo_name +The name of the repository to which the issue belongs. This argument is +required, either passed via the CLI, or defined in the configured +profile. A \fBrepo_name\fP passed as a CLI argument will override the +repo_name defined in the configured profile, if provided. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B since +Only comments updated at or after this time are returned. This is a +timestamp in ISO 8601 format: \fBYYYY\-MM\-DDTHH:MM:SSZ\fP\&. +.TP +.B output +The amount of data returned by each issue. Defaults to \fBmin\fP\&. Change +to \fBfull\fP to see all issue output. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_issue_comments 514 +salt myminion github.get_issue 514 repo_name=salt +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_issues(repo_name=None, profile=\(aqgithub\(aq, milestone=None, state=\(aqopen\(aq, assignee=None, creator=None, mentioned=None, labels=None, sort=\(aqcreated\(aq, direction=\(aqdesc\(aq, since=None, output=\(aqmin\(aq, per_page=None) +Returns information for all issues in a given repository, based on the search options. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B repo_name +The name of the repository for which to list issues. This argument is +required, either passed via the CLI, or defined in the configured +profile. A \fBrepo_name\fP passed as a CLI argument will override the +repo_name defined in the configured profile, if provided. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B milestone +The number of a GitHub milestone, or a string of either \fB*\fP or +\fBnone\fP\&. +.sp +If a number is passed, it should refer to a milestone by its number +field. Use the \fBgithub.get_milestone\fP function to obtain a milestone\(aqs +number. +.sp +If the string \fB*\fP is passed, issues with any milestone are +accepted. If the string \fBnone\fP is passed, issues without milestones +are returned. +.TP +.B state +Indicates the state of the issues to return. Can be either \fBopen\fP, +\fBclosed\fP, or \fBall\fP\&. Default is \fBopen\fP\&. +.TP +.B assignee +Can be the name of a user. Pass in \fBnone\fP (as a string) for issues +with no assigned user or \fB*\fP for issues assigned to any user. +.TP +.B creator +The user that created the issue. +.TP +.B mentioned +A user that\(aqs mentioned in the issue. +.TP +.B labels +A string of comma separated label names. For example, \fBbug,ui,@high\fP\&. +.TP +.B sort +What to sort results by. Can be either \fBcreated\fP, \fBupdated\fP, or +\fBcomments\fP\&. Default is \fBcreated\fP\&. +.TP +.B direction +The direction of the sort. Can be either \fBasc\fP or \fBdesc\fP\&. Default +is \fBdesc\fP\&. +.TP +.B since +Only issues updated at or after this time are returned. This is a +timestamp in ISO 8601 format: \fBYYYY\-MM\-DDTHH:MM:SSZ\fP\&. +.TP +.B output +The amount of data returned by each issue. Defaults to \fBmin\fP\&. Change +to \fBfull\fP to see all issue output. +.TP +.B per_page +GitHub paginates data in their API calls. Use this value to increase or +decrease the number of issues gathered from GitHub, per page. If not set, +GitHub defaults are used. Maximum is 100. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_issues my\-github\-repo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_milestone(number=None, name=None, repo_name=None, profile=\(aqgithub\(aq, output=\(aqmin\(aq) +Return information about a single milestone in a named repository. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B number +The number of the milestone to retrieve. If provided, this option +will be favored over \fBname\fP\&. +.TP +.B name +The name of the milestone to retrieve. +.TP +.B repo_name +The name of the repository for which to list issues. This argument is +required, either passed via the CLI, or defined in the configured +profile. A \fBrepo_name\fP passed as a CLI argument will override the +repo_name defined in the configured profile, if provided. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B output +The amount of data returned by each issue. Defaults to \fBmin\fP\&. Change +to \fBfull\fP to see all issue output. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_milestone 72 +salt myminion github.get_milestone name=my_milestone +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_milestones(repo_name=None, profile=\(aqgithub\(aq, state=\(aqopen\(aq, sort=\(aqdue_on\(aq, direction=\(aqasc\(aq, output=\(aqmin\(aq, per_page=None) +Return information about milestones for a given repository. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B repo_name +The name of the repository for which to list issues. This argument is +required, either passed via the CLI, or defined in the configured +profile. A \fBrepo_name\fP passed as a CLI argument will override the +repo_name defined in the configured profile, if provided. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B state +The state of the milestone. Either \fBopen\fP, \fBclosed\fP, or \fBall\fP\&. +Default is \fBopen\fP\&. +.TP +.B sort +What to sort results by. Either \fBdue_on\fP or \fBcompleteness\fP\&. Default +is \fBdue_on\fP\&. +.TP +.B direction +The direction of the sort. Either \fBasc\fP or \fBdesc\fP\&. Default is \fBasc\fP\&. +.TP +.B output +The amount of data returned by each issue. Defaults to \fBmin\fP\&. Change +to \fBfull\fP to see all issue output. +.TP +.B per_page +GitHub paginates data in their API calls. Use this value to increase or +decrease the number of issues gathered from GitHub, per page. If not set, +GitHub defaults are used. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_milestones +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_repo_info(repo_name, profile=\(aqgithub\(aq) +Return information for a given repo. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B repo_name +The name of the repository. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_repo_info salt +salt myminion github.get_repo_info salt profile=\(aqmy\-github\-profile\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.get_team(name, profile=\(aqgithub\(aq) +Returns the team details if a team with the given name exists, or None +otherwise. +.INDENT 7.0 +.TP +.B name +The team name for which to obtain information. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.get_team \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.github.get_user(name, profile=\(aqgithub\(aq, user_details=False) Get a GitHub user by name. .INDENT 7.0 @@ -108440,12 +115152,249 @@ salt myminion github.get_user github\-handle user_details=true .UNINDENT .INDENT 0.0 .TP -.B salt.modules.github.list_users(profile=\(aqgithub\(aq) +.B salt.modules.github.is_team_member(name, team_name, profile=\(aqgithub\(aq) +Returns True if the github user is in the team with team_name, or False +otherwise. +.INDENT 7.0 +.TP +.B name +The name of the user whose membership to check. +.TP +.B team_name +The name of the team to check membership in. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.is_team_member \(aquser_name\(aq \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_members_without_mfa(profile=\(aqgithub\(aq, ignore_cache=False) +List all members (in lower case) without MFA turned on. +.INDENT 7.0 +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B ignore_cache +Bypasses the use of cached team repos. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_members_without_mfa +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_private_repos(profile=\(aqgithub\(aq) +List private repositories within the organization. Dependent upon the access +rights of the profile token. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_private_repos +salt myminion github.list_private_repos profile=\(aqmy\-github\-profile\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_public_repos(profile=\(aqgithub\(aq) +List public repositories within the organization. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_public_repos +salt myminion github.list_public_repos profile=\(aqmy\-github\-profile\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_repos(profile=\(aqgithub\(aq) +List all repositories within the organization. Includes public and private +repositories within the organization Dependent upon the access rights of +the profile token. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_repos +salt myminion github.list_repos profile=\(aqmy\-github\-profile\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_team_members(team_name, profile=\(aqgithub\(aq, ignore_cache=False) +Gets the names of team members in lower case. +.INDENT 7.0 +.TP +.B team_name +The name of the team from which to list members. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B ignore_cache +Bypasses the use of cached team members. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_team_members \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_team_repos(team_name, profile=\(aqgithub\(aq, ignore_cache=False) +Gets the names of team repos in lower case. +.INDENT 7.0 +.TP +.B team_name +The name of the team from which to list repos. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B ignore_cache +Bypasses the use of cached team repos. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_team_repos \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_teams(profile=\(aqgithub\(aq, ignore_cache=False) +Lists all teams with the organization. +.INDENT 7.0 +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B ignore_cache +Bypasses the use of cached teams. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.list_teams +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.list_users(profile=\(aqgithub\(aq, ignore_cache=False) List all users within the organization. .INDENT 7.0 .TP .B profile The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.TP +.B ignore_cache +Bypasses the use of cached users. +.sp +New in version 2016.11.0. + .UNINDENT .sp CLI Example: @@ -108460,6 +115409,124 @@ salt myminion github.list_users profile=\(aqmy\-github\-profile\(aq .fi .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.remove_repo(name, profile=\(aqgithub\(aq) +Remove a Github repository. +.INDENT 7.0 +.TP +.B name +The name of the repository to be removed. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.remove_repo \(aqmy\-repo\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.remove_team(name, profile=\(aqgithub\(aq) +Remove a github team. +.INDENT 7.0 +.TP +.B name +The name of the team to be removed. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.remove_team \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.remove_team_member(name, team_name, profile=\(aqgithub\(aq) +Removes a team member from a team with team_name. +.INDENT 7.0 +.TP +.B name +The name of the team member to remove. +.TP +.B team_name +The name of the team from which to remove the user. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.remove_team_member \(aquser_name\(aq \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.github.remove_team_repo(repo_name, team_name, profile=\(aqgithub\(aq) +Removes a repository from a team with team_name. +.INDENT 7.0 +.TP +.B repo_name +The name of the repository to remove. +.TP +.B team_name +The name of the team of which to remove the repository. +.TP +.B profile +The name of the profile configuration to use. Defaults to \fBgithub\fP\&. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt myminion github.remove_team_repo \(aqmy_repo\(aq \(aqteam_name\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + .UNINDENT .INDENT 0.0 .TP @@ -108555,6 +115622,12 @@ salt \(aq*\(aq glance.image_list profile=openstack1 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.glance.__virtual__() +Only load this module if glance +is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.glance.image_create(name, location=None, profile=None, visibility=None, container_format=\(aqbare\(aq, disk_format=\(aqraw\(aq, protected=None, copy_from=None, is_public=None) Create an image (glance image\-create) .sp @@ -108717,6 +115790,11 @@ salt \(aq*\(aq glance.schema_get name=f16\-jeos Manage a glusterfs pool .INDENT 0.0 .TP +.B salt.modules.glusterfs.__virtual__() +Only load this module if the gluster command exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.glusterfs.add_volume_bricks(name, bricks) Add brick(s) to an existing volume .INDENT 7.0 @@ -108730,7 +115808,12 @@ List of bricks to add to the volume .UNINDENT .INDENT 0.0 .TP -.B salt.modules.glusterfs.create(name, bricks, stripe=False, replica=False, device_vg=False, transport=\(aqtcp\(aq, start=False, force=False) +.B salt.modules.glusterfs.create(*args, **kwargs) +Deprecated version of more consistently named create_volume +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.glusterfs.create_volume(name, bricks, stripe=False, replica=False, device_vg=False, transport=\(aqtcp\(aq, start=False, force=False) Create a glusterfs volume. .INDENT 7.0 .TP @@ -108775,7 +115858,12 @@ salt gluster1 glusterfs.create vol2 \(aq["gluster1:/export/vol2/brick", .UNINDENT .INDENT 0.0 .TP -.B salt.modules.glusterfs.delete(target, stop=True) +.B salt.modules.glusterfs.delete(*args, **kwargs) +Deprecated version of more consistently named delete_volume +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.glusterfs.delete_volume(target, stop=True) Deletes a gluster volume .INDENT 7.0 .TP @@ -108788,15 +115876,15 @@ Stop volume before delete if it is started, True by default .UNINDENT .INDENT 0.0 .TP -.B salt.modules.glusterfs.info(name) +.B salt.modules.glusterfs.info(name=None) New in version 2015.8.4. .sp -Return the gluster volume info. +Return gluster volume info. .INDENT 7.0 .TP .B name -Volume name +Optional name to retrieve only information of one volume .UNINDENT .sp CLI Example: @@ -108805,7 +115893,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq glusterfs.info myvolume +salt \(aq*\(aq glusterfs.info .ft P .fi .UNINDENT @@ -108814,7 +115902,8 @@ salt \(aq*\(aq glusterfs.info myvolume .INDENT 0.0 .TP .B salt.modules.glusterfs.list_peers() -Return a list of gluster peers +Deprecated version of peer_status(), which returns the peered hostnames +and some additional information. .sp CLI Example: .INDENT 7.0 @@ -108827,29 +115916,6 @@ salt \(aq*\(aq glusterfs.list_peers .fi .UNINDENT .UNINDENT -.sp -GLUSTER direct CLI example (to show what salt is sending to gluster): -.INDENT 7.0 -.INDENT 3.5 -$ gluster peer status -.UNINDENT -.UNINDENT -.sp -GLUSTER CLI 3.4.4 return example (so we know what we are parsing): -.INDENT 7.0 -.INDENT 3.5 -Number of Peers: 2 -.sp -Hostname: ftp2 -Port: 24007 -Uuid: cbcb256b\-e66e\-4ec7\-a718\-21082d396c24 -State: Peer in Cluster (Connected) -.sp -Hostname: ftp3 -Uuid: 5ea10457\-6cb2\-427b\-a770\-7897509625e9 -State: Peer in Cluster (Connected) -.UNINDENT -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -108911,6 +115977,51 @@ peer probe: success: host ftp2 port 24007 already in peer list .UNINDENT .INDENT 0.0 .TP +.B salt.modules.glusterfs.peer_status() +Return peer status information +.sp +The return value is a dictionary with peer UUIDs as keys and dicts of peer +information as values. Hostnames are listed in one list. GlusterFS separates +one of the hostnames but the only reason for this seems to be which hostname +happens to be used firts in peering. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq glusterfs.peer_status +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +GLUSTER direct CLI example (to show what salt is sending to gluster): +.INDENT 7.0 +.INDENT 3.5 +$ gluster peer status +.UNINDENT +.UNINDENT +.sp +GLUSTER CLI 3.4.4 return example (so we know what we are parsing): +.INDENT 7.0 +.INDENT 3.5 +Number of Peers: 2 +.sp +Hostname: ftp2 +Port: 24007 +Uuid: cbcb256b\-e66e\-4ec7\-a718\-21082d396c24 +State: Peer in Cluster (Connected) +.sp +Hostname: ftp3 +Uuid: 5ea10457\-6cb2\-427b\-a770\-7897509625e9 +State: Peer in Cluster (Connected) +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.glusterfs.start_volume(name, force=False) Start a gluster volume. .INDENT 7.0 @@ -108988,6 +116099,11 @@ salt \(aq*\(aq glusterfs.stop_volume mycluster GNOME implementations .INDENT 0.0 .TP +.B salt.modules.gnomedesktop.__virtual__() +Only load if the Gio and Glib modules are available +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.gnomedesktop.get(schema=None, key=None, user=None, **kwargs) Get key in a particular GNOME schema .sp @@ -109190,6 +116306,11 @@ installed. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.gpg.__virtual__() +Makes sure that python\-gnupg and gpg are available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.gpg.create_key(*args, **kwargs) Create a key in the GPG keychain .sp @@ -109878,7 +116999,7 @@ salt \(aq*\(aq grains.delval key .UNINDENT .INDENT 0.0 .TP -.B salt.modules.grains.fetch(key, default=\(aq\(aq, delimiter=\(aq:\(aq) +.B salt.modules.grains.fetch(key, default=\(aq\(aq, delimiter=\(aq:\(aq, ordered=True) Attempt to retrieve the named value from grains, if the named value is not available return the passed default. The default return is an empty string. .sp @@ -109910,6 +117031,8 @@ pkg:apache .INDENT 7.0 .TP .B Parameters +.INDENT 7.0 +.IP \(bu 2 \fBdelimiter\fP \-\- .sp Specify an alternate delimiter to use when traversing a nested dict @@ -109917,6 +117040,15 @@ Specify an alternate delimiter to use when traversing a nested dict New in version 2014.7.0. +.IP \(bu 2 +\fBordered\fP \-\- +.sp +Outputs an ordered dict if applicable (default: True) +.sp +New in version 2016.11.0. + + +.UNINDENT .UNINDENT .sp CLI Example: @@ -109998,15 +117130,42 @@ Pillar values: .B Parameters .INDENT 7.0 .IP \(bu 2 -\fBlookup_dict\fP \-\- A dictionary, keyed by a grain, containing a value or +\fBlookup_dict\fP \-\- +.sp +A dictionary, keyed by a grain, containing a value or values relevant to systems matching that grain. For example, a key could be the grain for an OS and the value could the name of a package on that particular OS. +.sp +Changed in version 2016.11.0: The dictionary key could be a globbing pattern. The function will +return the corresponding \fBlookup_dict\fP value where grain value +matches the pattern. For example: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +# this will render \(aqgot some salt\(aq if Minion ID begins from \(aqsalt\(aq +salt \(aq*\(aq grains.filter_by \(aq{salt*: got some salt, default: salt is not here}\(aq id +.ft P +.fi +.UNINDENT +.UNINDENT + + .IP \(bu 2 -\fBgrain\fP \-\- The name of a grain to match with the current system\(aqs +\fBgrain\fP \-\- +.sp +The name of a grain to match with the current system\(aqs grains. For example, the value of the "os_family" grain for the current system could be used to pull values from the \fBlookup_dict\fP dictionary. +.sp +Changed in version 2016.11.0: The grain value could be a list. The function will return the +\fBlookup_dict\fP value for a first found item in the list matching +one of the \fBlookup_dict\fP keys. + + .IP \(bu 2 \fBmerge\fP \-\- A dictionary to merge with the results of the grain selection from \fBlookup_dict\fP\&. This allows Pillar to override the values in the @@ -110047,7 +117206,7 @@ CLI Example: .ft C salt \(aq*\(aq grains.filter_by \(aq{Debian: Debheads rule, RedHat: I love my hat}\(aq # this one will render {D: {E: I, G: H}, J: K} -salt \(aq*\(aq grains.filter_by \(aq{A: B, C: {D: {E: F,G: H}}}\(aq \(aqxxx\(aq \(aq{D: {E: I},J: K}\(aq \(aqC\(aq +salt \(aq*\(aq grains.filter_by \(aq{A: B, C: {D: {E: F, G: H}}}\(aq \(aqxxx\(aq \(aq{D: {E: I}, J: K}\(aq \(aqC\(aq # next one renders {A: {B: G}, D: J} salt \(aq*\(aq grains.filter_by \(aq{default: {A: {B: C}, D: E}, F: {A: {B: G}}, H: {D: I}}\(aq \(aqxxx\(aq \(aq{D: J}\(aq \(aqF\(aq \(aqdefault\(aq # next same as above when default=\(aqH\(aq instead of \(aqF\(aq renders {A: {B: C}, D: J} @@ -110058,7 +117217,7 @@ salt \(aq*\(aq grains.filter_by \(aq{default: {A: {B: C}, D: E}, F: {A: {B: G}}, .UNINDENT .INDENT 0.0 .TP -.B salt.modules.grains.get(key, default=\(aq\(aq, delimiter=\(aq:\(aq) +.B salt.modules.grains.get(key, default=\(aq\(aq, delimiter=\(aq:\(aq, ordered=True) Attempt to retrieve the named value from grains, if the named value is not available return the passed default. The default return is an empty string. .sp @@ -110090,6 +117249,8 @@ pkg:apache .INDENT 7.0 .TP .B Parameters +.INDENT 7.0 +.IP \(bu 2 \fBdelimiter\fP \-\- .sp Specify an alternate delimiter to use when traversing a nested dict @@ -110097,6 +117258,15 @@ Specify an alternate delimiter to use when traversing a nested dict New in version 2014.7.0. +.IP \(bu 2 +\fBordered\fP \-\- +.sp +Outputs an ordered dict if applicable (default: True) +.sp +New in version 2016.11.0. + + +.UNINDENT .UNINDENT .sp CLI Example: @@ -110420,6 +117590,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.groupadd.__virtual__() +Set the user module if the kernel is Linux or OpenBSD +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.groupadd.add(name, gid=None, system=False, root=None) Add the specified group .sp @@ -110565,6 +117740,11 @@ foo:x:1234:user1,user2,user3,... Support for GRUB Legacy .INDENT 0.0 .TP +.B salt.modules.grub_legacy.__virtual__() +Only load the module if grub is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.grub_legacy.conf() Parse GRUB conf file .sp @@ -110610,6 +117790,11 @@ libguestfs .UNINDENT .INDENT 0.0 .TP +.B salt.modules.guestfs.__virtual__() +Only load if libguestfs python bindings are installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.guestfs.mount(location, access=\(aqrw\(aq, root=None) Mount an image .sp @@ -110643,6 +117828,11 @@ linux .UNINDENT .INDENT 0.0 .TP +.B salt.modules.hadoop.__virtual__() +Check if hadoop is present, then load the module +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.hadoop.dfs(command=None, *args) Execute a command on DFS .sp @@ -110734,6 +117924,11 @@ Support for haproxy .sp New in version 2014.7.0. +.INDENT 0.0 +.TP +.B salt.modules.haproxyconn.__virtual__() +Only load the module if haproxyctl is installed +.UNINDENT .INDENT 0.0 .TP .B salt.modules.haproxyconn.disable_server(name, backend, socket=\(aq/var/run/haproxy.sock\(aq) @@ -110792,6 +117987,37 @@ salt \(aq*\(aq haproxy.enable_server web1.example.com www .UNINDENT .INDENT 0.0 .TP +.B salt.modules.haproxyconn.get_sessions(name, backend, socket=\(aq/var/run/haproxy.sock\(aq) +New in version 2016.11.0. + +.sp +Get number of current sessions on server in backend (scur) +.INDENT 7.0 +.TP +.B name +Server name +.TP +.B backend +haproxy backend +.TP +.B socket +haproxy stats socket +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq haproxy.get_sessions web1.example.com www +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.haproxyconn.get_weight(name, backend, socket=\(aq/var/run/haproxy.sock\(aq) Get server weight .INDENT 7.0 @@ -110845,6 +118071,41 @@ salt \(aq*\(aq haproxy.list_servers mysql .UNINDENT .INDENT 0.0 .TP +.B salt.modules.haproxyconn.set_state(name, backend, state, socket=\(aq/var/run/haproxy.sock\(aq) +Force a server\(aqs administrative state to a new state. This can be useful to +disable load balancing and/or any traffic to a server. Setting the state to +"ready" puts the server in normal mode, and the command is the equivalent of +the "enable server" command. Setting the state to "maint" disables any traffic +to the server as well as any health checks. This is the equivalent of the +"disable server" command. Setting the mode to "drain" only removes the server +from load balancing but still allows it to be checked and to accept new +persistent connections. Changes are propagated to tracking servers if any. +.INDENT 7.0 +.TP +.B name +Server name +.TP +.B backend +haproxy backend +.TP +.B state +A string of the state to set. Must be \(aqready\(aq, \(aqdrain\(aq, or \(aqmaint\(aq +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq haproxy.set_state my_proxy_server my_backend ready +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.haproxyconn.set_weight(name, backend, weight=0, socket=\(aq/var/run/haproxy.sock\(aq) Set server weight .INDENT 7.0 @@ -111208,6 +118469,11 @@ salt \(aq*\(aq hashutil.sha512_digest \(aqget salted\(aq Support for the Mercurial SCM .INDENT 0.0 .TP +.B salt.modules.hg.__virtual__() +Only load if hg is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.hg.archive(cwd, output, rev=\(aqtip\(aq, fmt=None, prefix=None, user=None) Export a tarball from the repository .INDENT 7.0 @@ -111467,6 +118733,9 @@ This module can be used by either passing an api key and version directly or by specifying both in a configuration profile in the salt master/minion config. .sp +It is possible to use a different API than \fI\%http://api.hipchat.com\fP, +by specifying the API URL in config as api_url, or by passing the value directly. +.sp For example: .INDENT 7.0 .INDENT 3.5 @@ -111480,15 +118749,53 @@ hipchat: .fi .UNINDENT .UNINDENT +.sp +Custom API Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +hipchat: + api_url: http://api.hipchat.myteam.com + api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15 + api_version: v2 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.modules.hipchat.find_room(name, api_key=None, api_version=None) +.B salt.modules.hipchat.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.hipchat.find_room(name, api_url=None, api_key=None, api_version=None) Find a room by name and return it. -:param name: The room name. -:param api_key: The HipChat admin api key. -:param api_version: The HipChat api version, if not specified in the configuration. -:return: The room object. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The room name. +.IP \(bu 2 +\fBapi_url\fP \-\- The HipChat API URL, if not specified in the configuration. +.IP \(bu 2 +\fBapi_key\fP \-\- The HipChat admin api key. +.IP \(bu 2 +\fBapi_version\fP \-\- The HipChat api version, if not specified in the configuration. +.UNINDENT +.TP +.B Returns +The room object. +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -111506,12 +118813,25 @@ salt \(aq*\(aq hipchat.find_room name="Development Room" api_key=peWcBiMOS9HrZG1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.hipchat.find_user(name, api_key=None, api_version=None) +.B salt.modules.hipchat.find_user(name, api_url=None, api_key=None, api_version=None) Find a user by name and return it. -:param name: The user name. -:param api_key: The HipChat admin api key. -:param api_version: The HipChat api version, if not specified in the configuration. -:return: The user object. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The user name. +.IP \(bu 2 +\fBapi_url\fP \-\- The HipChat API URL, if not specified in the configuration. +.IP \(bu 2 +\fBapi_key\fP \-\- The HipChat admin api key. +.IP \(bu 2 +\fBapi_version\fP \-\- The HipChat api version, if not specified in the configuration. +.UNINDENT +.TP +.B Returns +The user object. +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -111529,13 +118849,15 @@ salt \(aq*\(aq hipchat.find_user name="Thomas Hatch" api_key=peWcBiMOS9HrZG15peW .UNINDENT .INDENT 0.0 .TP -.B salt.modules.hipchat.list_rooms(api_key=None, api_version=None) +.B salt.modules.hipchat.list_rooms(api_url=None, api_key=None, api_version=None) List all HipChat rooms. .INDENT 7.0 .TP .B Parameters .INDENT 7.0 .IP \(bu 2 +\fBapi_url\fP \-\- The HipChat API URL, if not specified in the configuration. +.IP \(bu 2 \fBapi_key\fP \-\- The HipChat admin api key. .IP \(bu 2 \fBapi_version\fP \-\- The HipChat api version, if not specified in the configuration. @@ -111561,11 +118883,23 @@ salt \(aq*\(aq hipchat.list_rooms api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_v .UNINDENT .INDENT 0.0 .TP -.B salt.modules.hipchat.list_users(api_key=None, api_version=None) +.B salt.modules.hipchat.list_users(api_url=None, api_key=None, api_version=None) List all HipChat users. -:param api_key: The HipChat admin api key. -:param api_version: The HipChat api version, if not specified in the configuration. -:return: The user list. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBapi_url\fP \-\- The HipChat API URL, if not specified in the configuration. +.IP \(bu 2 +\fBapi_key\fP \-\- The HipChat admin api key. +.IP \(bu 2 +\fBapi_version\fP \-\- The HipChat api version, if not specified in the configuration. +.UNINDENT +.TP +.B Returns +The user list. +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -111583,16 +118917,33 @@ salt \(aq*\(aq hipchat.list_users api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_v .UNINDENT .INDENT 0.0 .TP -.B salt.modules.hipchat.send_message(room_id, message, from_name, api_key=None, api_version=None, color=\(aqyellow\(aq, notify=False) +.B salt.modules.hipchat.send_message(room_id, message, from_name, api_url=None, api_key=None, api_version=None, color=\(aqyellow\(aq, notify=False) Send a message to a HipChat room. -:param room_id: The room id or room name, either will work. -:param message: The message to send to the HipChat room. -:param from_name: Specify who the message is from. -:param api_key: The HipChat api key, if not specified in the configuration. -:param api_version: The HipChat api version, if not specified in the configuration. -:param color: The color for the message, default: yellow. -:param notify: Whether to notify the room, default: False. -:return: Boolean if message was sent successfully. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBroom_id\fP \-\- The room id or room name, either will work. +.IP \(bu 2 +\fBmessage\fP \-\- The message to send to the HipChat room. +.IP \(bu 2 +\fBfrom_name\fP \-\- Specify who the message is from. +.IP \(bu 2 +\fBapi_url\fP \-\- The HipChat api URL, if not specified in the configuration. +.IP \(bu 2 +\fBapi_key\fP \-\- The HipChat api key, if not specified in the configuration. +.IP \(bu 2 +\fBapi_version\fP \-\- The HipChat api version, if not specified in the configuration. +.IP \(bu 2 +\fBcolor\fP \-\- The color for the message, default: yellow. +.IP \(bu 2 +\fBnotify\fP \-\- Whether to notify the room, default: False. +.UNINDENT +.TP +.B Returns +Boolean if message was sent successfully. +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -111762,6 +119113,11 @@ The functions here will load inside the webutil module. This allows other functions that don\(aqt use htpasswd to use the webutil module name. .INDENT 0.0 .TP +.B salt.modules.htpasswd.__virtual__() +Only load the module if htpasswd is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.htpasswd.useradd(pwfile, user, password, opts=\(aq\(aq, runas=None) Add a user to htpasswd file using the htpasswd command. If the htpasswd file does not exist, it will be created. @@ -111971,6 +119327,23 @@ salt \(aq*\(aq http.update_ca_bundle merge_files=/path/to/mycert.pem .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.http.wait_for_successful_query(url, wait_for=300, **kwargs) +Query a resource until a successful response, and decode the return data +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq http.wait_for_successful_query http://somelink.com/ wait_for=160 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.ifttt .sp Support for IFTTT @@ -111981,6 +119354,11 @@ New in version 2015.8.0. Requires an \fBapi_key\fP in \fB/etc/salt/minion\fP: .INDENT 0.0 .TP +.B salt.modules.ifttt.__virtual__() +Only load the module if apache is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ifttt.trigger_event(event=None, **kwargs) Trigger a configured event in IFTTT. .INDENT 7.0 @@ -112002,6 +119380,11 @@ hponcfg (SmartStart Scripting Toolkit Linux Edition) .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ilo.__virtual__() +Make sure hponcfg tool is accessible +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ilo.change_password(username, password) Reset a users password .sp @@ -112603,16 +119986,13 @@ salt \(aq*\(aq incron.write_incron_file_verbose root /tmp/new_incron InfluxDB \- A distributed time series database .sp Module to provide InfluxDB compatibility to Salt (compatible with InfluxDB -version 0.5+) -.sp -New in version 2014.7.0. - +version 0.9+) .INDENT 0.0 .TP .B depends .INDENT 7.0 .IP \(bu 2 -influxdb Python module +influxdb Python module (>= 3.0.0) .UNINDENT .TP .B configuration @@ -112635,27 +120015,58 @@ influxdb.password: \(aqroot\(aq .sp This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar. +.sp +Most functions in this module allow you to override or provide some or all +of these settings via keyword arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq influxdb.foo_function user=\(aqinfluxadmin\(aq password=\(aqs3cr1t\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +would override \fBuser\fP and \fBpassword\fP while still using the defaults for +\fBhost\fP and \fBport\fP\&. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.db_create(name, user=None, password=None, host=None, port=None) -Create a database +.B salt.modules.influx.__virtual__() +Only load if influxdb lib is present +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.influx.alter_retention_policy(database, name, duration, replication, default=False, **client_args) +Modify an existing retention policy. .INDENT 7.0 .TP .B name -Database name to create +Name of the retention policy to modify. .TP -.B user -The user to connect as +.B database +Name of the database for which the retention policy was defined. .TP -.B password -The password of the user +.B duration +New duration of given retention policy. +.sp +Durations such as 1h, 90m, 12h, 7d, and 4w, are all supported +and mean 1 hour, 90 minutes, 12 hours, 7 day, and 4 weeks, +respectively. For infinite retention – meaning the data will +never be deleted – use \(aqINF\(aq for duration. +The minimum retention period is 1 hour. .TP -.B host -The host to connect to +.B replication +New replication of given retention policy. +.sp +This determines how many independent copies of each data point are +stored in a cluster. .TP -.B port -The port to connect to +.B default +False +Whether or not to set the modified policy as default. .UNINDENT .sp CLI Example: @@ -112664,8 +120075,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq influxdb.db_create -salt \(aq*\(aq influxdb.db_create +salt \(aq*\(aq influxdb.alter_retention_policy metrics default 1d 1 .ft P .fi .UNINDENT @@ -112673,24 +120083,108 @@ salt \(aq*\(aq influxdb.db_create .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.db_exists(name, user=None, password=None, host=None, port=None) -Checks if a database exists in InfluxDB +.B salt.modules.influx.create_db(name, **client_args) +Create a database. .INDENT 7.0 .TP .B name -Database name to create +Name of the database to create. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq influxdb.create_db +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B user -The user to connect as +.B salt.modules.influx.create_retention_policy(database, name, duration, replication, default=False, **client_args) +Create a retention policy. +.INDENT 7.0 +.TP +.B database +Name of the database for which the retention policy will be created. +.TP +.B name +Name of the new retention policy. +.TP +.B duration +Duration of the new retention policy. +.sp +Durations such as 1h, 90m, 12h, 7d, and 4w, are all supported and mean +1 hour, 90 minutes, 12 hours, 7 day, and 4 weeks, respectively. For +infinite retention – meaning the data will never be deleted – use \(aqINF\(aq +for duration. The minimum retention period is 1 hour. +.TP +.B replication +Replication factor of the retention policy. +.sp +This determines how many independent copies of each data point are +stored in a cluster. +.TP +.B default +False +Whether or not the policy as default will be set as default. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq influxdb.create_retention_policy metrics default 1d 1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.influx.create_user(name, password, admin=False, **client_args) +Create a user. +.INDENT 7.0 +.TP +.B name +Name of the user to create. .TP .B password -The password of the user +Password of the new user. .TP -.B host -The host to connect to +.B admin +False +Whether the user should have cluster administration +privileges or not. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq influxdb.create_user +salt \(aq*\(aq influxdb.create_user admin=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B port -The port to connect to +.B salt.modules.influx.db_exists(name, **client_args) +Checks if a database exists in InfluxDB. +.INDENT 7.0 +.TP +.B name +Name of the database to check. .UNINDENT .sp CLI Example: @@ -112700,7 +120194,6 @@ CLI Example: .nf .ft C salt \(aq*\(aq influxdb.db_exists -salt \(aq*\(aq influxdb.db_exists .ft P .fi .UNINDENT @@ -112708,56 +120201,12 @@ salt \(aq*\(aq influxdb.db_exists .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.db_list(user=None, password=None, host=None, port=None) -List all InfluxDB databases -.INDENT 7.0 -.TP -.B user -The user to connect as -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq influxdb.db_list -salt \(aq*\(aq influxdb.db_list -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.influx.db_remove(name, user=None, password=None, host=None, port=None) -Remove a database +.B salt.modules.influx.drop_db(name, **client_args) +Drop a database. .INDENT 7.0 .TP .B name -Database name to remove -.TP -.B user -The user to connect as -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +Name of the database to drop. .UNINDENT .sp CLI Example: @@ -112766,8 +120215,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq influxdb.db_remove -salt \(aq*\(aq influxdb.db_remove +salt \(aq*\(aq influxdb.drop_db .ft P .fi .UNINDENT @@ -112775,27 +120223,38 @@ salt \(aq*\(aq influxdb.db_remove .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.login_test(name, password, database=None, host=None, port=None) -Checks if a credential pair can log in at all. +.B salt.modules.influx.get_retention_policy(database, name, **client_args) +Get an existing retention policy. +.INDENT 7.0 +.TP +.B database +Name of the database for which the retention policy was +defined. +.TP +.B name +Name of the retention policy. +.UNINDENT .sp -If a database is specified: it will check for database user existence. -If a database is not specified: it will check for cluster admin existence. +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq influxdb.get_retention_policy metrics default +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.influx.grant_admin_privileges(name, **client_args) +Grant cluster administration privileges to a user. .INDENT 7.0 .TP .B name -The user to connect as -.TP -.B password -The password of the user -.TP -.B database -The database to try to log in to -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +Name of the user to whom admin privileges will be granted. .UNINDENT .sp CLI Example: @@ -112804,9 +120263,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq influxdb.login_test -salt \(aq*\(aq influxdb.login_test -salt \(aq*\(aq influxdb.login_test +salt \(aq*\(aq influxdb.grant_admin_privileges .ft P .fi .UNINDENT @@ -112814,34 +120271,24 @@ salt \(aq*\(aq influxdb.login_test

-salt \(aq*\(aq influxdb.query +salt \(aq*\(aq influxdb.list_dbs .ft P .fi .UNINDENT @@ -112858,24 +120304,29 @@ salt \(aq*\(aq influxdb.query .ft P .fi .UNINDENT @@ -112892,49 +120343,16 @@ salt \(aq*\(aq influxdb.retention_policy_add metrics default 1d 1 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.retention_policy_alter(database, name, duration, replication, default=False, user=None, password=None, host=None, port=None) -Modify an existing retention policy. +.B salt.modules.influx.retention_policy_exists(database, name, **client_args) +Check if retention policy with given name exists. .INDENT 7.0 .TP .B database -The database to operate on. +Name of the database for which the retention policy was +defined. .TP .B name -Name of the policy to modify. -.TP -.B duration -How long InfluxDB keeps the data. -.TP -.B replication -How many copies of the data are stored in the cluster. -.TP -.B default -Whether this policy should be the default or not. Default is False. -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq influxdb.retention_policy_modify metrics default 1d 1 -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.influx.retention_policy_exists(database, name, user=None, password=None, host=None, port=None) -Check if a retention policy exists. -.INDENT 7.0 -.TP -.B database -The database to operate on. -.TP -.B name -Name of the policy to modify. +Name of the retention policy to check. .UNINDENT .sp CLI Example: @@ -112951,15 +120369,12 @@ salt \(aq*\(aq influxdb.retention_policy_exists metrics default .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.retention_policy_get(database, name, user=None, password=None, host=None, port=None) -Get an existing retention policy. +.B salt.modules.influx.revoke_admin_privileges(name, **client_args) +Revoke cluster administration privileges from a user. .INDENT 7.0 .TP -.B database -The database to operate on. -.TP .B name -Name of the policy to modify. +Name of the user from whom admin privileges will be revoked. .UNINDENT .sp CLI Example: @@ -112968,7 +120383,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq influxdb.retention_policy_get metrics default +salt \(aq*\(aq influxdb.revoke_admin_privileges .ft P .fi .UNINDENT @@ -112976,33 +120391,31 @@ salt \(aq*\(aq influxdb.retention_policy_get metrics default .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.user_chpass(name, passwd, database=None, user=None, password=None, host=None, port=None) -Change password for a cluster admin or a database user. -.sp -If a database is specified: it will update database user password. -If a database is not specified: it will update cluster admin password. +.B salt.modules.influx.revoke_privilege(database, privilege, username, **client_args) +Revoke a privilege on a database from a user. +.INDENT 7.0 +.TP +.B database +Name of the database to grant the privilege on. +.TP +.B privilege +Privilege to grant. Can be one of \(aqread\(aq, \(aqwrite\(aq or \(aqall\(aq. +.TP +.B username +Name of the user to grant the privilege to. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.influx.set_user_password(name, password, **client_args) +Change password of a user. .INDENT 7.0 .TP .B name -User name for whom to change the password -.TP -.B passwd -New password -.TP -.B database -The database on which to operate -.TP -.B user -The user to connect as +Name of the user for whom to set the password. .TP .B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +New password of the user. .UNINDENT .sp CLI Example: @@ -113011,9 +120424,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq influxdb.user_chpass -salt \(aq*\(aq influxdb.user_chpass -salt \(aq*\(aq influxdb.user_chpass +salt \(aq*\(aq influxdb.set_user_password .ft P .fi .UNINDENT @@ -113021,75 +120432,12 @@ salt \(aq*\(aq influxdb.user_chpass .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.user_create(name, passwd, database=None, user=None, password=None, host=None, port=None) -Create a cluster admin or a database user. -.sp -If a database is specified: it will create database user. -If a database is not specified: it will create a cluster admin. +.B salt.modules.influx.user_exists(name, **client_args) +Check if a user exists. .INDENT 7.0 .TP .B name -User name for the new user to create -.TP -.B passwd -Password for the new user to create -.TP -.B database -The database to create the user in -.TP -.B user -The user to connect as -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq influxdb.user_create -salt \(aq*\(aq influxdb.user_create -salt \(aq*\(aq influxdb.user_create -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.influx.user_exists(name, database=None, user=None, password=None, host=None, port=None) -Checks if a cluster admin or database user exists. -.sp -If a database is specified: it will check for database user existence. -If a database is not specified: it will check for cluster admin existence. -.INDENT 7.0 -.TP -.B name -User name -.TP -.B database -The database to check for the user to exist -.TP -.B user -The user to connect as -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +Name of the user to check. .UNINDENT .sp CLI Example: @@ -113099,8 +120447,6 @@ CLI Example: .nf .ft C salt \(aq*\(aq influxdb.user_exists -salt \(aq*\(aq influxdb.user_exists -salt \(aq*\(aq influxdb.user_exists .ft P .fi .UNINDENT @@ -113108,72 +120454,12 @@ salt \(aq*\(aq influxdb.user_exists < .UNINDENT .INDENT 0.0 .TP -.B salt.modules.influx.user_list(database=None, user=None, password=None, host=None, port=None) -List cluster admins or database users. -.sp -If a database is specified: it will return database users list. -If a database is not specified: it will return cluster admins list. -.INDENT 7.0 -.TP -.B database -The database to list the users from -.TP -.B user -The user to connect as -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq influxdb.user_list -salt \(aq*\(aq influxdb.user_list -salt \(aq*\(aq influxdb.user_list -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.influx.user_remove(name, database=None, user=None, password=None, host=None, port=None) -Remove a cluster admin or a database user. -.sp -If a database is specified: it will remove the database user. -If a database is not specified: it will remove the cluster admin. +.B salt.modules.influx.user_info(name, **client_args) +Get information about given user. .INDENT 7.0 .TP .B name -User name to remove -.TP -.B database -The database to remove the user from -.TP -.B user -User name for the new user to delete -.TP -.B user -The user to connect as -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +Name of the user for which to get information. .UNINDENT .sp CLI Example: @@ -113182,9 +120468,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq influxdb.user_remove -salt \(aq*\(aq influxdb.user_remove -salt \(aq*\(aq influxdb.user_remove +salt \(aq*\(aq influxdb.user_info .ft P .fi .UNINDENT @@ -113449,7 +120733,12 @@ all (for example /etc/sysctl.conf) .INDENT 0.0 .TP -.B salt.modules.ini_manage.get_option(file_name, section, option) +.B salt.modules.ini_manage.__virtual__() +Rename to ini +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ini_manage.get_option(file_name, section, option, separator=\(aq=\(aq) Get value of a key from a section in an ini file. Returns \fBNone\fP if no matching key was found. .sp @@ -113482,7 +120771,7 @@ salt \(aq*\(aq ini.get_option /path/to/ini section_name option_name .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ini_manage.get_section(file_name, section) +.B salt.modules.ini_manage.get_section(file_name, section, separator=\(aq=\(aq) Retrieve a section from an ini file. Returns the section as dictionary. If the section is not found, an empty dictionary is returned. .sp @@ -113515,7 +120804,7 @@ salt \(aq*\(aq ini.get_section /path/to/ini section_name .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ini_manage.remove_option(file_name, section, option) +.B salt.modules.ini_manage.remove_option(file_name, section, option, separator=\(aq=\(aq) Remove a key/value pair from a section in an ini file. Returns the value of the removed key, or \fBNone\fP if nothing was removed. .sp @@ -113548,7 +120837,7 @@ salt \(aq*\(aq ini.remove_option /path/to/ini section_name option_name .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ini_manage.remove_section(file_name, section) +.B salt.modules.ini_manage.remove_section(file_name, section, separator=\(aq=\(aq) Remove a section in an ini file. Returns the removed section as dictionary, or \fBNone\fP if nothing was removed. .sp @@ -113581,7 +120870,7 @@ salt \(aq*\(aq ini.remove_section /path/to/ini section_name .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ini_manage.set_option(file_name, sections=None) +.B salt.modules.ini_manage.set_option(file_name, sections=None, separator=\(aq=\(aq) Edit an ini file, replacing one or more sections. Returns a dictionary containing the changes made. .INDENT 7.0 @@ -113596,6 +120885,14 @@ The keys are the section names and the values are the dictionary containing the options If the ini file does not contain sections the keys and values represent the options +.TP +.B separator += +A character used to separate keys and values. Standard ini files use +the "=" character. +.sp +New in version 2016.11.0. + .UNINDENT .sp API Example: @@ -113630,76 +120927,6 @@ salt \(aq*\(aq ini.set_option /path/to/ini \(aq{section_foo: {key: value}}\(aq .SS salt.modules.inspectlib.collector module .INDENT 0.0 .TP -.B class salt.modules.inspectlib.collector.Inspector(cachedir=None, piddir=None, pidfilename=None) -.INDENT 7.0 -.TP -.B DEFAULT_MINION_CONFIG_PATH = \(aq/etc/salt/minion\(aq -.UNINDENT -.INDENT 7.0 -.TP -.B IGNORE_FS_TYPES = [\(aqautofs\(aq, \(aqcifs\(aq, \(aqnfs\(aq, \(aqnfs4\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B IGNORE_MOUNTS = [\(aqproc\(aq, \(aqsysfs\(aq, \(aqdevtmpfs\(aq, \(aqtmpfs\(aq, \(aqfuse.gvfs\-fuse\-daemon\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B IGNORE_PATHS = [\(aq/tmp\(aq, \(aq/var/tmp\(aq, \(aq/lost+found\(aq, \(aq/var/run\(aq, \(aq/var/lib/rpm\(aq, \(aq/.snapshots\(aq, \(aq/.zfs\(aq, \(aq/etc/ssh\(aq, \(aq/root\(aq, \(aq/home\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B MODE = [\(aqconfiguration\(aq, \(aqpayload\(aq, \(aqall\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B build(format=\(aqqcow2\(aq, path=\(aq/tmp\(aq) -Build an image using Kiwi. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBformat\fP \-\- -.IP \(bu 2 -\fBpath\fP \-\- -.UNINDENT -.TP -.B Returns - -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B export(description, local=False, path=\(aq/tmp\(aq, format=\(aqqcow2\(aq) -Export description for Kiwi. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBlocal\fP \-\- -.IP \(bu 2 -\fBpath\fP \-\- -.UNINDENT -.TP -.B Returns - -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B request_snapshot(mode, priority=19, **kwargs) -Take a snapshot of the system. -.UNINDENT -.INDENT 7.0 -.TP -.B snapshot(mode) -Take a snapshot of the system. -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.inspectlib.collector.is_alive(pidfile) Check if PID is still alive. .UNINDENT @@ -113711,16 +120938,25 @@ Main analyzer routine. .SS salt.modules.inspectlib.dbhandle module .INDENT 0.0 .TP -.B class salt.modules.inspectlib.dbhandle.DBHandle(path) -.UNINDENT -.INDENT 0.0 -.TP .B class salt.modules.inspectlib.dbhandle.DBHandleBase(path) Handle for the \fIvolatile\fP database, which serves the purpose of caching the inspected data. This database can be destroyed or corrupted, so it should be simply re\-created from scratch. .INDENT 7.0 .TP +.B __getattr__(item) +Proxy methods from the Database instance. +.INDENT 7.0 +.TP +.B Parameters +\fBitem\fP \-\- +.TP +.B Returns + +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP .B close() Close the database connection. .UNINDENT @@ -113770,7 +121006,21 @@ This class is actually puts all Salt features together, so there would be no need to pick it from various places. .INDENT 7.0 .TP -.B SCOPES = [\(aqchanges\(aq, \(aqconfiguration\(aq, \(aqidentity\(aq, \(aqsystem\(aq, \(aqsoftware\(aq, \(aqservices\(aq, \(aqpayload\(aq, \(aqall\(aq] +.B __call__(*args, **kwargs) +Call the query with the defined scope. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBargs\fP \-\- +.IP \(bu 2 +\fBkwargs\fP \-\- +.UNINDENT +.TP +.B Returns + +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -113783,96 +121033,10 @@ System information. .TP .B class salt.modules.inspectlib.EnvLoader(cachedir=None, piddir=None, pidfilename=None) Load environment. -.INDENT 7.0 -.TP -.B DB_FILE = \(aq_minion_collector.db\(aq -.UNINDENT -.INDENT 7.0 -.TP -.B DEFAULT_CACHE_PATH = \(aq/var/cache/salt\(aq -.UNINDENT -.INDENT 7.0 -.TP -.B DEFAULT_PID_PATH = \(aq/var/run\(aq -.UNINDENT -.INDENT 7.0 -.TP -.B PID_FILE = \(aq_minion_collector.pid\(aq -.UNINDENT .UNINDENT .SS salt.modules.inspectlib.collector module .INDENT 0.0 .TP -.B class salt.modules.inspectlib.collector.Inspector(cachedir=None, piddir=None, pidfilename=None) -.INDENT 7.0 -.TP -.B DEFAULT_MINION_CONFIG_PATH = \(aq/etc/salt/minion\(aq -.UNINDENT -.INDENT 7.0 -.TP -.B IGNORE_FS_TYPES = [\(aqautofs\(aq, \(aqcifs\(aq, \(aqnfs\(aq, \(aqnfs4\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B IGNORE_MOUNTS = [\(aqproc\(aq, \(aqsysfs\(aq, \(aqdevtmpfs\(aq, \(aqtmpfs\(aq, \(aqfuse.gvfs\-fuse\-daemon\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B IGNORE_PATHS = [\(aq/tmp\(aq, \(aq/var/tmp\(aq, \(aq/lost+found\(aq, \(aq/var/run\(aq, \(aq/var/lib/rpm\(aq, \(aq/.snapshots\(aq, \(aq/.zfs\(aq, \(aq/etc/ssh\(aq, \(aq/root\(aq, \(aq/home\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B MODE = [\(aqconfiguration\(aq, \(aqpayload\(aq, \(aqall\(aq] -.UNINDENT -.INDENT 7.0 -.TP -.B build(format=\(aqqcow2\(aq, path=\(aq/tmp\(aq) -Build an image using Kiwi. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBformat\fP \-\- -.IP \(bu 2 -\fBpath\fP \-\- -.UNINDENT -.TP -.B Returns - -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B export(description, local=False, path=\(aq/tmp\(aq, format=\(aqqcow2\(aq) -Export description for Kiwi. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBlocal\fP \-\- -.IP \(bu 2 -\fBpath\fP \-\- -.UNINDENT -.TP -.B Returns - -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B request_snapshot(mode, priority=19, **kwargs) -Take a snapshot of the system. -.UNINDENT -.INDENT 7.0 -.TP -.B snapshot(mode) -Take a snapshot of the system. -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.inspectlib.collector.is_alive(pidfile) Check if PID is still alive. .UNINDENT @@ -113884,16 +121048,25 @@ Main analyzer routine. .SS salt.modules.inspectlib.dbhandle module .INDENT 0.0 .TP -.B class salt.modules.inspectlib.dbhandle.DBHandle(path) -.UNINDENT -.INDENT 0.0 -.TP .B class salt.modules.inspectlib.dbhandle.DBHandleBase(path) Handle for the \fIvolatile\fP database, which serves the purpose of caching the inspected data. This database can be destroyed or corrupted, so it should be simply re\-created from scratch. .INDENT 7.0 .TP +.B __getattr__(item) +Proxy methods from the Database instance. +.INDENT 7.0 +.TP +.B Parameters +\fBitem\fP \-\- +.TP +.B Returns + +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP .B close() Close the database connection. .UNINDENT @@ -113943,7 +121116,21 @@ This class is actually puts all Salt features together, so there would be no need to pick it from various places. .INDENT 7.0 .TP -.B SCOPES = [\(aqchanges\(aq, \(aqconfiguration\(aq, \(aqidentity\(aq, \(aqsystem\(aq, \(aqsoftware\(aq, \(aqservices\(aq, \(aqpayload\(aq, \(aqall\(aq] +.B __call__(*args, **kwargs) +Call the query with the defined scope. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBargs\fP \-\- +.IP \(bu 2 +\fBkwargs\fP \-\- +.UNINDENT +.TP +.B Returns + +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -114204,11 +121391,8 @@ api_kg=None .UNINDENT .UNINDENT -.UNINDENT -.INDENT 7.0 .TP -.B return -A Python dict with the following keys/values: +.B Returns .INDENT 7.0 .INDENT 3.5 .sp @@ -114236,6 +121420,10 @@ A Python dict with the following keys/values: .fi .UNINDENT .UNINDENT + +.TP +.B Return type +A Python dict with the following keys/values .UNINDENT .sp CLI Examples: @@ -114275,11 +121463,8 @@ api_kg=None .UNINDENT .UNINDENT -.UNINDENT -.INDENT 7.0 .TP -.B return -channel session supports: +.B Returns .INDENT 7.0 .INDENT 3.5 .sp @@ -114295,6 +121480,10 @@ channel session supports: .fi .UNINDENT .UNINDENT + +.TP +.B Return type +channel session supports .UNINDENT .sp CLI Examples: @@ -114491,30 +121680,36 @@ api_kg=None .UNINDENT .UNINDENT -.UNINDENT +.TP +.B Returns +: none .sp -return -.INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C name: (str) uid: (int) channel: (int) access: - \- callback (bool) - \- link_auth (bool) - \- ipmi_msg (bool) - \- privilege_level: (str)[callback, user, operatorm administrator, - proprietary, no_access] -.ft P -.fi +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +callback (bool) +.IP \(bu 2 +link_auth (bool) +.IP \(bu 2 +ipmi_msg (bool) +.IP \(bu 2 +.INDENT 2.0 +.TP +.B privilege_level: (str)[callback, user, operatorm administrator, +proprietary, no_access] .UNINDENT .UNINDENT .UNINDENT +.UNINDENT + +.TP +.B Return type + .UNINDENT .sp CLI Examples: @@ -114556,31 +121751,41 @@ api_kg=None .UNINDENT .UNINDENT -.UNINDENT -.sp -return +.TP +.B Returns +: none .INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -channel_info: - \- max_user_count = maximum number of user IDs on this channel - \- enabled_users = count of User ID slots presently in use - \- users_with_fixed_names = count of user IDs with fixed names -access: - \- callback - \- link_auth - \- ipmi_msg - \- privilege_level: [reserved, callback, user, operator - administrator, proprietary, no_access] -.ft P -.fi +.TP +.B channel_info: +.INDENT 7.0 +.IP \(bu 2 +max_user_count = maximum number of user IDs on this channel +.IP \(bu 2 +enabled_users = count of User ID slots presently in use +.IP \(bu 2 +users_with_fixed_names = count of user IDs with fixed names +.UNINDENT +.TP +.B access: +.INDENT 7.0 +.IP \(bu 2 +callback +.IP \(bu 2 +link_auth +.IP \(bu 2 +ipmi_msg +.IP \(bu 2 +.INDENT 2.0 +.TP +.B privilege_level: [reserved, callback, user, operator +administrator, proprietary, no_access] .UNINDENT .UNINDENT .UNINDENT + +.TP +.B Return type + .UNINDENT .sp CLI Examples: @@ -114663,18 +121868,13 @@ api_kg=None .UNINDENT .TP .B Returns +(str) +\- uid: (int) +\- channel: (int) +\- access: .INDENT 7.0 -.IP \(bu 2 -name: (str) -.IP \(bu 2 -uid: (int) -.IP \(bu 2 -channel: (int) -.IP \(bu 2 -.INDENT 2.0 -.TP -.B access: -.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 .IP \(bu 2 callback (bool) .IP \(bu 2 @@ -114688,6 +121888,13 @@ proprietary, no_access] .UNINDENT .UNINDENT +.TP +.B Return type +.INDENT 7.0 +.IP \(bu 2 +name +.UNINDENT + .UNINDENT .sp CLI Examples: @@ -115334,6 +122541,11 @@ salt\-call ipmi.user_delete uid=2 Support for ipset .INDENT 0.0 .TP +.B salt.modules.ipset.__virtual__() +Only load the module if ipset is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ipset.add(set=None, entry=None, family=\(aqipv4\(aq, **kwargs) Append an entry to the specified set. .sp @@ -115499,10 +122711,6 @@ salt \(aq*\(aq ipset.list_sets .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ipset.long_range(start, end) -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.ipset.new_set(set=None, set_type=None, family=\(aqipv4\(aq, comment=False, **kwargs) New in version 2014.7.0. @@ -115591,6 +122799,11 @@ salt \(aq*\(aq ipset.version Support for iptables .INDENT 0.0 .TP +.B salt.modules.iptables.__virtual__() +Only load the module if iptables is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.iptables.append(table=\(aqfilter\(aq, chain=None, rule=None, family=\(aqipv4\(aq) Append a rule to the specified table/chain. .INDENT 7.0 @@ -116013,6 +123226,11 @@ salt \(aq*\(aq iptables.version family=ipv6 Support for Wireless Tools for Linux .INDENT 0.0 .TP +.B salt.modules.iwtools.__virtual__() +Only load the module if iwconfig is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.iwtools.list_interfaces(style=None) List all of the wireless interfaces .sp @@ -116641,6 +123859,16 @@ jenkins: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.jenkins.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.jenkins.build_job(name=None, parameters=None) Initiate a build for the provided job. .INDENT 7.0 @@ -116924,6 +124152,34 @@ salt \(aq*\(aq jenkins.job_status jobname .UNINDENT .INDENT 0.0 .TP +.B salt.modules.jenkins.plugin_installed(name) +New in version 2016.11.0. + +.sp +Return if the plugin is installed for the provided plugin name. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP \-\- The name of the parameter to confirm installation. +.TP +.B Returns +True if plugin exists, False if plugin does not exist. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq jenkins.plugin_installed pluginName +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.jenkins.update_job(name=None, config_xml=None, saltenv=\(aqbase\(aq) Return the updated configuration file. .INDENT 7.0 @@ -116958,42 +124214,835 @@ salt \(aq*\(aq jenkins.update_job jobname config_xml=\(aqsalt://jenkins/config.x .UNINDENT .SS salt.modules.junos .sp -Module for interfacing to Junos devices -.sp -ALPHA QUALITY code. +Module for interfacing to Junos devices. .INDENT 0.0 .TP -.B salt.modules.junos.call_rpc() +.B salt.modules.junos.__virtual__() +We need the Junos adapter libraries for this +module to work. We also need a proxymodule entry in __opts__ +in the opts dictionary .UNINDENT .INDENT 0.0 .TP -.B salt.modules.junos.cli(command) +.B salt.modules.junos.cli(command=None) +Executes the CLI commands and reuturns the text output. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.cli \(aqshow version\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options: +.INDENT 7.0 +.IP \(bu 2 +command: The command that need to be executed on Junos CLI. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.junos.commit() +To commit the changes loaded in the candidate configuration. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.commit +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.junos.diff() +Gives the difference between the candidate and the current configuration. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.diff +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.facts() +Displays the facts gathered during the connection. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.facts +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.junos.facts_refresh() Reload the facts dictionary from the device. Usually only needed if the device configuration is changed by some other actor. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.facts_refresh +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.file_copy(src=None, dest=None) +Copies the file from the local device to the junos device. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.file_copy /home/m2/info.txt info_copy.txt +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options +.INDENT 7.0 +.IP \(bu 2 +src: The sorce path where the file is kept. +.IP \(bu 2 +dest: The destination path where the file will be copied. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.install_config(path=None, **kwargs) +Installs the given configuration file into the candidate configuration. +Commits the changes if the commit checks or throws an error. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.install_config \(aq/home/user/config.set\(aq timeout=300 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options: +.INDENT 7.0 +.IP \(bu 2 +path: Path where the configuration file is present. +.IP \(bu 2 +kwargs: keyworded arguments taken by load fucntion of PyEZ +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.install_os(path=None, **kwargs) +Installs the given image on the device. After the installation is complete the device is rebooted, +if reboot=True is given as a keyworded argument. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.install_os \(aq/home/user/junos_image.tgz\(aq reboot=True +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options +.INDENT 7.0 +.IP \(bu 2 +path: Path where the image file is present. +.IP \(bu 2 +kwargs: keyworded arguments to be given such as timeout, reboot etc +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.junos.ping() +To check the connection with the device +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.ping +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.junos.rollback() +To rollback the last committed configuration changes +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.rollback +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.rpc(cmd=None, dest=None, format=\(aqxml\(aq, *args, **kwargs) +This function executes the rpc provided as arguments on the junos device. +The returned data can be stored in a file whose destination can be +specified with \(aqdest\(aq keyword in the arguments. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice\(aq junos.rpc \(aqget_config\(aq \(aqtext\(aq filter=\(aq\(aq + +salt \(aqdevice\(aq junos.rpc \(aqget\-interface\-information\(aq \(aq/home/user/interface.log\(aq interface_name=\(aqlo0\(aq terse=True +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options: +.INDENT 7.0 +.IP \(bu 2 +cmd: the rpc to be executed +.IP \(bu 2 +dest: destination file where the rpc ouput is dumped +.IP \(bu 2 +format: the format in which the rpc reply must be stored in file specified in the dest (used only when dest is specified) +.IP \(bu 2 +args: other arguments as taken by rpc call of PyEZ +.IP \(bu 2 +kwargs: keyworded arguments taken by rpc call of PyEZ +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.junos.set_hostname(hostname=None, commit_change=True) +To set the name of the device. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.set_hostname hostname=salt\-device +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options: +.INDENT 7.0 +.IP \(bu 2 +hostname: The name to be set. +.IP \(bu 2 +commit_change: Whether to commit the changes.(default=True) +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.shutdown(time=0) +Shuts down the device after the given time. +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.shutdown 10 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Options: +.INDENT 7.0 +.IP \(bu 2 +time: Time in seconds after which the device should shutdown (default=0) +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.junos.zeroize() +Resets the device to default factory settings +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqdevice_name\(aq junos.zeroize +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.k8s +.sp +Salt module to manage Kubernetes cluster +.sp +New in version 2016.3.0. + +.sp +Roadmap: +.INDENT 0.0 +.IP \(bu 2 +Add creation of K8S objects (pod, rc, service, ...) +.IP \(bu 2 +Add replace of K8S objects (pod, rc, service, ...) +.IP \(bu 2 +Add deletion of K8S objects (pod, rc, service, ...) +.IP \(bu 2 +Add rolling update +.IP \(bu 2 +Add (auto)scalling +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.__virtual__() +Load load if python\-requests is installed. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.create_namespace(name, apiserver_url=None) +New in version 2016.3.0. + +.sp +Create kubernetes namespace from the name, similar to the functionality added to kubectl since v.1.2.0: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +kubectl create namespaces namespace\-name +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.create_namespace namespace_name + +salt \(aq*\(aq k8s.create_namespace namespace_name http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.create_secret(namespace, name, sources, apiserver_url=None, force=False, update=False, saltenv=\(aqbase\(aq) +New in version 2016.3.0. + +.sp +Create k8s secrets in the defined namespace from the list of files +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.create_secret namespace_name secret_name sources + +salt \(aq*\(aq k8s.create_secret namespace_name secret_name sources +http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +sources are either dictionary of {name: path, name1: path} pairs or array of strings defining paths. +.sp +Example of paths array: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C + +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +[\(aq/full/path/filename\(aq, "\fI\%file:///full/path/filename\fP", "salt://secret/storage/file.txt", "http://user:password@securesite.com/secret\-file.json"] +.sp +Example of dictionaries: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C + +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +{"nameit": \(aq/full/path/fiename\(aq, name2: "salt://secret/storage/file.txt"} +.sp +optional parameters accepted: +.sp +update=[false] default value is false +if set to false, and secret is already present on the cluster \- warning will be returned and no changes to the secret will be done. +In case it is set to "true" and secret is present but data is differ \- secret will be updated. +.sp +force=[true] default value is true +if the to False, secret will not be created in case one of the files is not +valid kubernetes secret. e.g. capital letters in secret name or _ +in case force is set to True, wrong files will be skipped but secret will be created any way. +.sp +saltenv=[\(aqbase\(aq] default value is base +in case \(aqsalt://\(aq path is used, this parameter can change the visibility of files +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.delete_secret(namespace, name, apiserver_url=None, force=True) +New in version 2016.3.0. + +.sp +Delete kubernetes secret in the defined namespace. Namespace is the mandatory parameter as well as name. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.delete_secret namespace_name secret_name + +salt \(aq*\(aq k8s.delete_secret namespace_name secret_name http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.get_labels(node=None, apiserver_url=None) +New in version 2016.3.0. + +.sp +Get labels from the current node +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.get_labels +salt \(aq*\(aq k8s.get_labels kube\-node.cluster.local http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.get_namespaces(namespace=\(aq\(aq, apiserver_url=None) +New in version 2016.3.0. + +.sp +Get one or all kubernetes namespaces. +.sp +If namespace parameter is omitted, all namespaces will be returned back to user, similar to following kubectl example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +kubectl get namespaces \-o json +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In case namespace is set by user, the output will be similar to the one from kubectl: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +kubectl get namespaces namespace_name \-o json +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.get_namespaces +salt \(aq*\(aq k8s.get_namespaces namespace_name http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.get_secrets(namespace, name=\(aq\(aq, apiserver_url=None, decode=False, brief=False) +Get k8s namespaces +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.get_secrets namespace_name +salt \(aq*\(aq k8s.get_secrets namespace_name secret_name http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.label_absent(name, node=None, apiserver_url=None) +New in version 2016.3.0. + +.sp +Delete label to the current node +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.label_absent hw/disktype +salt \(aq*\(aq k8s.label_absent hw/disktype kube\-node.cluster.local http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.label_folder_absent(name, node=None, apiserver_url=None) +New in version 2016.3.0. + +.sp +Delete label folder to the current node +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.label_folder_absent hw +salt \(aq*\(aq k8s.label_folder_absent hw/ kube\-node.cluster.local http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.label_present(name, value, node=None, apiserver_url=None) +New in version 2016.3.0. + +.sp +Set label to the current node +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.label_present hw/disktype ssd + +salt \(aq*\(aq k8s.label_present hw/disktype ssd kube\-node.cluster.local http://kube\-master.cluster.local +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.k8s.update_secret(namespace, name, sources, apiserver_url=None, force=True, saltenv=\(aqbase\(aq) +New in version 2016.3.0. + +.sp +alias to k8s.create_secret with update=true +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq k8s.update_secret namespace_name secret_name sources [apiserver_url] [force=true] [update=false] [saltenv=\(aqbase\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +sources are either dictionary of {name: path, name1: path} pairs or array of strings defining paths. +.sp +Example of paths array: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C + +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +[\(aq/full/path/filename\(aq, "\fI\%file:///full/path/filename\fP", "salt://secret/storage/file.txt", "http://user:password@securesite.com/secret\-file.json"] +.sp +Example of dictionaries: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C + +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +{"nameit": \(aq/full/path/fiename\(aq, name2: "salt://secret/storage/file.txt"} +.sp +optional parameters accepted: +.sp +force=[true] default value is true +if the to False, secret will not be created in case one of the files is not +valid kubernetes secret. e.g. capital letters in secret name or _ +in case force is set to True, wrong files will be skipped but secret will be created any way. +.sp +saltenv=[\(aqbase\(aq] default value is base +in case \(aqsalt://\(aq path is used, this parameter can change the visibility of files +.UNINDENT +.SS salt.modules.kapacitor module +.sp +Kapacitor execution module. +.INDENT 0.0 +.TP +.B configuration +This module accepts connection configuration details either as +parameters or as configuration settings in /etc/salt/minion on the relevant +minions: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +kapacitor.host: \(aqlocalhost\(aq +kapacitor.port: 9092 +.ft P +.fi +.UNINDENT +.UNINDENT +.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=\(aqstream\(aq, database=None, retention_policy=\(aqdefault\(aq) +Define a task. Serves as both create/update. +.INDENT 7.0 +.TP +.B name +Name of the task. +.TP +.B tick_script +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 database +Which database to fetch data from. Defaults to None, which will use the +default database in InfluxDB. +.TP +.B retention_policy +Which retention policy to fetch data from. Defaults to \(aqdefault\(aq. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq kapacitor.define_task cpu salt://kapacitor/cpu.tick database=telegraf +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.kapacitor.delete_task(name) +Delete a kapacitor task. +.INDENT 7.0 +.TP +.B name +Name of the task to delete. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq kapacitor.delete_task cpu +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.kapacitor.disable_task(name) +Disable a kapacitor task. +.INDENT 7.0 +.TP +.B name +Name of the task to disable. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq kapacitor.disable_task cpu +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.kapacitor.enable_task(name) +Enable a kapacitor task. +.INDENT 7.0 +.TP +.B name +Name of the task to enable. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq kapacitor.enable_task cpu +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.kapacitor.get_task(name) +Get a dict of data on a task. +.INDENT 7.0 +.TP +.B name +Name of the task to get information about. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq kapacitor.get_task cpu +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.kapacitor.version(*args) +Get the kapacitor version. .UNINDENT .SS salt.modules.kerberos .sp @@ -117208,6 +125257,11 @@ Module for managing keyboards on supported POSIX\-like systems using systemd, or such as Redhat, Debian and Gentoo. .INDENT 0.0 .TP +.B salt.modules.keyboard.__virtual__() +Only works with systemd or on supported POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.keyboard.get_sys() Get current system keyboard setting .sp @@ -117357,6 +125411,29 @@ salt \(aq*\(aq keystone.tenant_list profile=openstack1 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.keystone.__virtual__() +Only load this module if keystone +is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.keystone.api_version(profile=None, **connection_args) +Returns the API version derived from endpoint\(aqs response. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq keystone.api_version +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.keystone.auth(profile=None, **connection_args) Set up keystone credentials. Only intended to be used within Keystone\-enabled modules. .sp @@ -117384,7 +125461,8 @@ CLI Examples: .nf .ft C salt \(aq*\(aq keystone.ec2_credentials_create name=admin tenant=admin -salt \(aq*\(aq keystone.ec2_credentials_create user_id=c965f79c4f864eaaa9c3b41904e67082 tenant_id=722787eb540849158668370dc627ec5f + +salt \(aq*\(aq keystone.ec2_credentials_create user_id=c965f79c4f864eaaa9c3b41904e67082 tenant_id=722787eb540849158668370dc627ec5f .ft P .fi .UNINDENT @@ -117401,8 +125479,9 @@ CLI Examples: .sp .nf .ft C -salt \(aq*\(aq keystone.ec2_credentials_delete 860f8c2c38ca4fab989f9bc56a061a64 access_key=5f66d2f24f604b8bb9cd28886106f442 -salt \(aq*\(aq keystone.ec2_credentials_delete name=admin access_key=5f66d2f24f604b8bb9cd28886106f442 +salt \(aq*\(aq keystone.ec2_credentials_delete 860f8c2c38ca4fab989f9bc56a061a64 access_key=5f66d2f24f604b8bb9cd28886106f442 + +salt \(aq*\(aq keystone.ec2_credentials_delete name=admin access_key=5f66d2f24f604b8bb9cd28886106f442 .ft P .fi .UNINDENT @@ -117419,8 +125498,8 @@ CLI Examples: .sp .nf .ft C -salt \(aq*\(aq keystone.ec2_credentials_get c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370dc627ec5f -salt \(aq*\(aq keystone.ec2_credentials_get user_id=c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370dc627ec5f +salt \(aq*\(aq keystone.ec2_credentials_get c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370 +salt \(aq*\(aq keystone.ec2_credentials_get user_id=c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370 salt \(aq*\(aq keystone.ec2_credentials_get name=nova access=722787eb540849158668370dc627ec5f .ft P .fi @@ -117448,7 +125527,7 @@ salt \(aq*\(aq keystone.ec2_credentials_list name=jack .UNINDENT .INDENT 0.0 .TP -.B salt.modules.keystone.endpoint_create(service, publicurl=None, internalurl=None, adminurl=None, region=None, profile=None, **connection_args) +.B salt.modules.keystone.endpoint_create(service, publicurl=None, internalurl=None, adminurl=None, region=None, profile=None, url=None, interface=None, **connection_args) Create an endpoint for an Openstack service .sp CLI Examples: @@ -117457,8 +125536,9 @@ CLI Examples: .sp .nf .ft C -salt \(aq*\(aq keystone.endpoint_create nova \(aqhttp://public/url\(aq - \(aqhttp://internal/url\(aq \(aqhttp://adminurl/url\(aq region +salt \(aqv2\(aq keystone.endpoint_create nova \(aqhttp://public/url\(aq \(aqhttp://internal/url\(aq \(aqhttp://adminurl/url\(aq region + +salt \(aqv3\(aq keystone.endpoint_create nova url=\(aqhttp://public/url\(aq interface=\(aqpublic\(aq .ft P .fi .UNINDENT @@ -117517,6 +125597,184 @@ salt \(aq*\(aq keystone.endpoint_list .UNINDENT .INDENT 0.0 .TP +.B salt.modules.keystone.project_create(name, domain, description=None, enabled=True, profile=None, **connection_args) +Create a keystone project. +Overrides keystone tenant_create form api V2. For keystone api V3. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +The project name, which must be unique within the owning domain. +.TP +.B domain +The domain name. +.TP +.B description +The project description. +.TP +.B enabled +Enables or disables the project. +.TP +.B profile +Configuration profile \- if configuration for multiple openstack accounts required. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq keystone.project_create nova default description=\(aqNova Compute Project\(aq +salt \(aq*\(aq keystone.project_create test default enabled=False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.keystone.project_delete(project_id=None, name=None, profile=None, **connection_args) +Delete a project (keystone project\-delete). +Overrides keystone tenant\-delete form api V2. For keystone api V3 only. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B project_id +The project id. +.TP +.B name +The project name. +.TP +.B profile +Configuration profile \- if configuration for multiple openstack accounts required. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq keystone.project_delete c965f79c4f864eaaa9c3b41904e67082 +salt \(aq*\(aq keystone.project_delete project_id=c965f79c4f864eaaa9c3b41904e67082 +salt \(aq*\(aq keystone.project_delete name=demo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.keystone.project_get(project_id=None, name=None, profile=None, **connection_args) +Return a specific projects (keystone project\-get) +Overrides keystone tenant\-get form api V2. +For keystone api V3 only. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B project_id +The project id. +.TP +.B name +The project name. +.TP +.B profile +Configuration profile \- if configuration for multiple openstack accounts required. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq keystone.project_get c965f79c4f864eaaa9c3b41904e67082 +salt \(aq*\(aq keystone.project_get project_id=c965f79c4f864eaaa9c3b41904e67082 +salt \(aq*\(aq keystone.project_get name=nova +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.keystone.project_list(profile=None, **connection_args) +Return a list of available projects (keystone projects\-list). +Overrides keystone tenants\-list form api V2. +For keystone api V3 only. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B profile +Configuration profile \- if configuration for multiple openstack accounts required. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq keystone.project_list +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.keystone.project_update(project_id=None, name=None, description=None, enabled=None, profile=None, **connection_args) +Update a tenant\(aqs information (keystone project\-update) +The following fields may be updated: name, description, enabled. +Can only update name if targeting by ID +.sp +Overrides keystone tenant_update form api V2. +For keystone api V3 only. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B project_id +The project id. +.TP +.B name +The project name, which must be unique within the owning domain. +.TP +.B description +The project description. +.TP +.B enabled +Enables or disables the project. +.TP +.B profile +Configuration profile \- if configuration for multiple openstack accounts required. +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq keystone.project_update name=admin enabled=True +salt \(aq*\(aq keystone.project_update c965f79c4f864eaaa9c3b41904e67082 name=admin email=admin@domain.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.keystone.role_create(name, profile=None, **connection_args) Create a named role. .sp @@ -117735,7 +125993,7 @@ salt \(aq*\(aq keystone.tenant_list .TP .B salt.modules.keystone.tenant_update(tenant_id=None, name=None, description=None, enabled=None, profile=None, **connection_args) Update a tenant\(aqs information (keystone tenant\-update) -The following fields may be updated: name, email, enabled. +The following fields may be updated: name, description, enabled. Can only update name if targeting by ID .sp CLI Examples: @@ -117770,7 +126028,7 @@ salt \(aq*\(aq keystone.token_get c965f79c4f864eaaa9c3b41904e67082 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.keystone.user_create(name, password, email, tenant_id=None, enabled=True, profile=None, **connection_args) +.B salt.modules.keystone.user_create(name, password, email, tenant_id=None, enabled=True, profile=None, project_id=None, description=None, **connection_args) Create a user (keystone user\-create) .sp CLI Examples: @@ -117779,7 +126037,7 @@ CLI Examples: .sp .nf .ft C -salt \(aq*\(aq keystone.user_create name=jack password=zero email=jack@halloweentown.org tenant_id=a28a7b5a999a455f84b1f5210264375e enabled=True +salt \(aq*\(aq keystone.user_create name=jack password=zero email=jack@halloweentown.org tenant_id=a28a7b5a999a455f84b1f5210264375e enabled=True .ft P .fi .UNINDENT @@ -117861,7 +126119,7 @@ salt \(aq*\(aq keystone.user_password_update name=nova password=12345 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.keystone.user_role_add(user_id=None, user=None, tenant_id=None, tenant=None, role_id=None, role=None, profile=None, **connection_args) +.B salt.modules.keystone.user_role_add(user_id=None, user=None, tenant_id=None, tenant=None, role_id=None, role=None, profile=None, project_id=None, project_name=None, **connection_args) Add role for user in tenant (keystone user\-role\-add) .sp CLI Examples: @@ -117879,7 +126137,7 @@ salt \(aq*\(aq keystone.user_role_add user=admin tenant=admin role=admin .UNINDENT .INDENT 0.0 .TP -.B salt.modules.keystone.user_role_list(user_id=None, tenant_id=None, user_name=None, tenant_name=None, profile=None, **connection_args) +.B salt.modules.keystone.user_role_list(user_id=None, tenant_id=None, user_name=None, tenant_name=None, profile=None, project_id=None, project_name=None, **connection_args) Return a list of available user_roles (keystone user\-roles\-list) .sp CLI Examples: @@ -117897,7 +126155,7 @@ salt \(aq*\(aq keystone.user_role_list user_name=admin tenant_name=admin .UNINDENT .INDENT 0.0 .TP -.B salt.modules.keystone.user_role_remove(user_id=None, user=None, tenant_id=None, tenant=None, role_id=None, role=None, profile=None, **connection_args) +.B salt.modules.keystone.user_role_remove(user_id=None, user=None, tenant_id=None, tenant=None, role_id=None, role=None, profile=None, project_id=None, project_name=None, **connection_args) Remove role for user in tenant (keystone user\-role\-remove) .sp CLI Examples: @@ -117915,7 +126173,7 @@ salt \(aq*\(aq keystone.user_role_remove user=admin tenant=admin role=admin .UNINDENT .INDENT 0.0 .TP -.B salt.modules.keystone.user_update(user_id=None, name=None, email=None, enabled=None, tenant=None, profile=None, **connection_args) +.B salt.modules.keystone.user_update(user_id=None, name=None, email=None, enabled=None, tenant=None, profile=None, project=None, description=None, **connection_args) Update a user\(aqs information (keystone user\-update) The following fields may be updated: name, email, enabled, tenant. Because the name is one of the fields, a valid user id is required. @@ -117956,6 +126214,11 @@ salt \(aq*\(aq keystone.user_verify_password user_id=c965f79c4f864eaaa9c3b41904e Module to manage Linux kernel modules .INDENT 0.0 .TP +.B salt.modules.kmod.__virtual__() +Only runs on Linux systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.kmod.available() Return a list of all available kernel modules .sp @@ -118120,6 +126383,11 @@ plistlib Python module .UNINDENT .INDENT 0.0 .TP +.B salt.modules.launchctl.__virtual__() +Only work on MacOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.launchctl.available(job_label) Check that the given service is available. .sp @@ -118282,6 +126550,11 @@ salt \(aq*\(aq service.stop /System/Library/LaunchDaemons/org.ntp.ntpd.plist Support for Layman .INDENT 0.0 .TP +.B salt.modules.layman.__virtual__() +Only work on Gentoo systems with layman installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.layman.add(overlay) Add the given overlay from the cached remote list to your locally installed overlays. Specify \(aqALL\(aq to add all overlays from the @@ -118414,6 +126687,11 @@ have a different type. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ldap3.__virtual__() +Only load this module if the Python ldap module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ldap3.add(connect_spec, dn, attributes) Add an entry to an LDAP database. .INDENT 7.0 @@ -119005,6 +127283,11 @@ badness may ensue \- you have been warned. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ldapmod.__virtual__() +Only load this module if the ldap config is set +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ldapmod.search(filter, dn=None, scope=None, attrs=None, **kwargs) Run an arbitrary LDAP query and return the results. .sp @@ -119056,6 +127339,11 @@ scope=1 attrs=\(aq\(aq server=\(aqlocalhost\(aq port=\(aq7393\(aq tls=True bindp Support for Linux File Access Control Lists .INDENT 0.0 .TP +.B salt.modules.linux_acl.__virtual__() +Only load the module if getfacl is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.linux_acl.delfacl(acl_type, acl_name=\(aq\(aq, *args, **kwargs) Remove specific FACL from the specified file(s) .sp @@ -119156,6 +127444,11 @@ salt \(aq*\(aq acl.wipefacls /tmp/house/kitchen /tmp/house/livingroom recursive= The networking module for Non\-RH/Deb Linux distros .INDENT 0.0 .TP +.B salt.modules.linux_ip.__virtual__() +Confine this module to Non\-RH/Deb Linux distros +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.linux_ip.down(iface, iface_type=None) Shutdown a network interface .sp @@ -119228,6 +127521,11 @@ salt \(aq*\(aq ip.up eth0 Support for Linux LVM2 .INDENT 0.0 .TP +.B salt.modules.linux_lvm.__virtual__() +Only load the module if lvm is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.linux_lvm.fullversion() Return all version info from lvm version .sp @@ -119245,7 +127543,7 @@ salt \(aq*\(aq lvm.fullversion .UNINDENT .INDENT 0.0 .TP -.B salt.modules.linux_lvm.lvcreate(lvname, vgname, size=None, extents=None, snapshot=None, pv=None, **kwargs) +.B salt.modules.linux_lvm.lvcreate(lvname, vgname, size=None, extents=None, snapshot=None, pv=None, thinvolume=False, thinpool=False, **kwargs) Create a new logical volume, with option for which physical volume to be used .sp CLI Examples: @@ -119254,9 +127552,27 @@ CLI Examples: .sp .nf .ft C -salt \(aq*\(aq lvm.lvcreate new_volume_name vg_name size=10G -salt \(aq*\(aq lvm.lvcreate new_volume_name vg_name extents=100 pv=/dev/sdb -salt \(aq*\(aq lvm.lvcreate new_snapshot vg_name snapshot=volume_name size=3G +salt \(aq*\(aq lvm.lvcreate new_volume_name vg_name size=10G +salt \(aq*\(aq lvm.lvcreate new_volume_name vg_name extents=100 pv=/dev/sdb +salt \(aq*\(aq lvm.lvcreate new_snapshot vg_name snapshot=volume_name size=3G +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version to_complete. + +.sp +Support for thin pools and thin volumes +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq lvm.lvcreate new_thinpool_name vg_name size=20G thinpool=True +salt \(aq*\(aq lvm.lvcreate new_thinvolume_name vg_name/thinpool_name size=10G thinvolume=True .ft P .fi .UNINDENT @@ -119482,6 +127798,11 @@ salt mymachine lvm.vgremove vgname force=True Module for viewing and modifying sysctl parameters .INDENT 0.0 .TP +.B salt.modules.linux_sysctl.__virtual__() +Only run on Linux systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.linux_sysctl.assign(name, value) Assign a single sysctl parameter for this minion .sp @@ -119580,6 +127901,11 @@ salt \(aq*\(aq sysctl.show Module for managing locales on POSIX\-like systems. .INDENT 0.0 .TP +.B salt.modules.localemod.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.localemod.avail(locale) Check if a locale is available. .sp @@ -119688,6 +128014,11 @@ salt \(aq*\(aq locale.set_locale \(aqen_US.UTF\-8\(aq Module for using the locate utilities .INDENT 0.0 .TP +.B salt.modules.locate.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.locate.locate(pattern, database=\(aq\(aq, limit=0, **kwargs) Performs a file lookup. Valid options (and their defaults) are: .INDENT 7.0 @@ -119780,6 +128111,11 @@ salt \(aq*\(aq locate.version Module for managing Solaris logadm based log rotations. .INDENT 0.0 .TP +.B salt.modules.logadm.__virtual__() +Only work on Solaris based systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.logadm.remove(name, conf_file=\(aq/etc/logadm.conf\(aq) Remove log pattern from logadm .sp @@ -119834,6 +128170,11 @@ salt \(aq*\(aq logadm.show_conf Module for managing logrotate. .INDENT 0.0 .TP +.B salt.modules.logrotate.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.logrotate.set(key, value, setting=None, conf_file=\(aq/etc/logrotate.conf\(aq) Set a new value for a specific configuration line .sp @@ -119903,6 +128244,11 @@ salt \(aq*\(aq logrotate.show_conf Support for LVS (Linux Virtual Server) .INDENT 0.0 .TP +.B salt.modules.lvs.__virtual__() +Only load if ipvsadm command exists on the system. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.lvs.add_server(protocol=None, service_address=None, server_address=None, packet_forward_method=\(aqdr\(aq, weight=1, **kwargs) Add a real server to a virtual service. .INDENT 7.0 @@ -120781,6 +129127,10 @@ give extra opts overriding network profile values .TP .B path parent path for the container creation (default: /var/lib/lxc) +.TP +.B zfsroot +Name of the ZFS root in which to create the volume for this container. +Only applicable if \fBbacking=zfs\fP\&. (default: tank/lxc) .sp New in version 2015.8.0. @@ -121177,7 +129527,7 @@ salt \(aq*\(aq lxc.info name .UNINDENT .INDENT 0.0 .TP -.B salt.modules.lxc.init(name, config=None, cpuset=None, cpushare=None, memory=None, profile=None, network_profile=None, nic=, nic_opts=None, cpu=None, autostart=True, password=None, password_encrypted=None, users=None, dnsservers=None, searchdomains=None, bridge=None, gateway=None, pub_key=None, priv_key=None, force_install=False, unconditional_install=False, bootstrap_delay=None, bootstrap_args=None, bootstrap_shell=None, bootstrap_url=None, **kwargs) +.B salt.modules.lxc.init(name, config=None, cpuset=None, cpushare=None, memory=None, profile=None, network_profile=None, nic_opts=None, cpu=None, autostart=True, password=None, password_encrypted=None, users=None, dnsservers=None, searchdomains=None, bridge=None, gateway=None, pub_key=None, priv_key=None, force_install=False, unconditional_install=False, bootstrap_delay=None, bootstrap_args=None, bootstrap_shell=None, bootstrap_url=None, **kwargs) Initialize a new container. .sp This is a partial idempotent function as if it is already provisioned, we @@ -121226,10 +129576,6 @@ Network profile to use for the container .sp New in version 2015.5.0. -.TP -.B nic -Deprecated since version 2015.5.0: Use \fBnetwork_profile\fP instead - .TP .B nic_opts Extra options for network interfaces, will override @@ -121302,10 +129648,6 @@ default: /var/lib/lxc (system) .sp New in version 2015.8.0. -.TP -.B clone -Deprecated since version 2015.5.0: Use \fBclone_from\fP instead - .TP .B clone_from Original from which to use a clone operation to create the container. @@ -121878,22 +130220,6 @@ salt myminion lxc.run_all mycontainer \(aqip addr show\(aq .fi .UNINDENT .UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.lxc.run_cmd(name, cmd, no_start=False, preserve_state=True, stdin=None, stdout=True, stderr=False, python_shell=True, path=None, output_loglevel=\(aqdebug\(aq, use_vt=False, ignore_retcode=False, chroot_fallback=False, keep_env=\(aqhttp_proxy, https_proxy, no_proxy\(aq) -.INDENT 7.0 -.TP -.B path -path to the container parent -default: /var/lib/lxc (system default) -.sp -New in version 2015.8.0. - -.UNINDENT -.sp -Deprecated since version 2015.5.0: Use \fI\%lxc.run\fP instead - .UNINDENT .INDENT 0.0 .TP @@ -122238,13 +130564,6 @@ salt \(aq*\(aq lxc.set_pass container\-name root foo encrypted=False Start the named container .INDENT 7.0 .TP -.B restart -False -Deprecated since version 2015.5.0: Use \fI\%lxc.restart\fP - -.sp -Restart the container if it is already running -.TP .B path path to the container parent directory default: /var/lib/lxc (system) @@ -122618,6 +130937,11 @@ salt \(aq*\(aq assistive.install /usr/bin/osascript .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mac_assistive.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_assistive.enable(app_id, enabled=True) Enable or disable an existing assistive access application. .INDENT 7.0 @@ -122754,6 +131078,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mac_brew.__virtual__() +Confine this module to Mac OS with Homebrew. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_brew.available_version(*names, **kwargs) This function is an alias of \fBlatest_version\fP\&. .INDENT 7.0 @@ -122761,6 +131090,9 @@ This function is an alias of \fBlatest_version\fP\&. Return the latest version of the named package available for upgrade or installation .sp +Currently chooses stable versions, falling back to devel if that does not +exist. +.sp CLI Example: .INDENT 0.0 .INDENT 3.5 @@ -122912,6 +131244,9 @@ salt \(aq*\(aq pkg.install \(aqpackage package package\(aq Return the latest version of the named package available for upgrade or installation .sp +Currently chooses stable versions, falling back to devel if that does not +exist. +.sp CLI Example: .INDENT 7.0 .INDENT 3.5 @@ -123033,14 +131368,14 @@ Upgrade outdated, unpinned brews. Fetch the newest version of Homebrew and all formulae from GitHub before installing. .UNINDENT .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -123100,6 +131435,41 @@ salt \(aq*\(aq pkg.version Set defaults on Mac OS .INDENT 0.0 .TP +.B salt.modules.mac_defaults.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_defaults.delete(domain, key, user=None) +Delete a default from the system +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macdefaults.delete com.apple.CrashReporter DialogType + +salt \(aq*\(aq macdefaults.delete NSGlobalDomain ApplePersistence +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B domain +The name of the domain to delete from +.TP +.B key +The key of the given domain to delete +.TP +.B user +The user to delete the defaults with +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_defaults.read(domain, key, user=None) Write a default to the system .sp @@ -123158,7 +131528,7 @@ The key of the given domain to write to The value to write to the given key .TP .B type -The type of value to be written, vaid types are string, data, int[eger], +The type of value to be written, valid types are string, data, int[eger], float, bool[ean], date, array, array\-add, dict, dict\-add .TP .B user @@ -123170,6 +131540,11 @@ The user to write the defaults to Mac OS X implementations of various commands in the "desktop" interface .INDENT 0.0 .TP +.B salt.modules.mac_desktop.__virtual__() +Only load on Mac systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_desktop.get_output_volume() Get the output volume (range 0 to 100) .sp @@ -123417,6 +131792,11 @@ Install certificates into the keychain on Mac OS .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.modules.mac_keychain.__virtual__() +Only work on Mac OS +.UNINDENT .INDENT 0.0 .TP .B salt.modules.mac_keychain.get_default_keychain(user=None, domain=\(aquser\(aq) @@ -123653,6 +132033,253 @@ salt \(aq*\(aq keychain.unlock_keychain /tmp/test.p12 test123 .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.mac_package module +.sp +Install pkg, dmg and .app applications on Mac OS X minions. +.INDENT 0.0 +.TP +.B salt.modules.mac_package.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.get_mpkg_ids(mpkg) +Attempt to get the package IDs from a mounted .mpkg file +.INDENT 7.0 +.TP +.B Parameters +\fBmpkg\fP (\fI\%str\fP) \-\- The location of the mounted mpkg file +.TP +.B Returns +List of package IDs +.TP +.B Return type +list +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.get_mpkg_ids /dev/disk2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.get_pkg_id(pkg) +Attempt to get the package ID from a .pkg file +.INDENT 7.0 +.TP +.B Parameters +\fBpkg\fP (\fI\%str\fP) \-\- The location of the pkg file +.TP +.B Returns +List of all of the package IDs +.TP +.B Return type +list +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.get_pkg_id /tmp/test.pkg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.install(pkg, target=\(aqLocalSystem\(aq, store=False, allow_untrusted=False) +Install a pkg file +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpkg\fP (\fI\%str\fP) \-\- The package to install +.IP \(bu 2 +\fBtarget\fP (\fI\%str\fP) \-\- The target in which to install the package to +.IP \(bu 2 +\fBstore\fP (\fI\%bool\fP) \-\- Should the package be installed as if it was from the +store? +.IP \(bu 2 +\fBallow_untrusted\fP (\fI\%bool\fP) \-\- Allow the installation of untrusted packages? +.UNINDENT +.TP +.B Returns +A dictionary containing the results of the installation +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.install test.pkg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.install_app(app, target=\(aq/Applications/\(aq) +Install an app file by moving it into the specified Applications directory +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBapp\fP (\fI\%str\fP) \-\- The location of the .app file +.IP \(bu 2 +\fBtarget\fP (\fI\%str\fP) \-\- The target in which to install the package to +Default is \(aq\(aq/Applications/\(aq\(aq +.UNINDENT +.TP +.B Returns +The results of the rsync command +.TP +.B Return type +\fI\%str\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.install_app /tmp/tmp.app /Applications/ +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.installed_pkgs() +Return the list of installed packages on the machine +.INDENT 7.0 +.TP +.B Returns +List of installed packages +.TP +.B Return type +list +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.installed_pkgs +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.mount(dmg) +Attempt to mount a dmg file to a temporary location and return the +location of the pkg file inside +.INDENT 7.0 +.TP +.B Parameters +\fBdmg\fP (\fI\%str\fP) \-\- The location of the dmg file to mount +.TP +.B Returns +Tuple containing the results of the command along with the mount +point +.TP +.B Return type +\fI\%tuple\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.mount /tmp/software.dmg +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.uninstall_app(app) +Uninstall an app file by removing it from the Applications directory +.INDENT 7.0 +.TP +.B Parameters +\fBapp\fP (\fI\%str\fP) \-\- The location of the .app file +.TP +.B Returns +True if successful, otherwise False +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.uninstall_app /Applications/app.app +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mac_package.unmount(mountpoint) +Attempt to unmount a dmg file from a temporary location +.INDENT 7.0 +.TP +.B Parameters +\fBmountpoint\fP (\fI\%str\fP) \-\- The location of the mount point +.TP +.B Returns +The results of the hdutil detach command +.TP +.B Return type +\fI\%str\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq macpackage.unmount /dev/disk2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.mac_pkgutil module .sp Installer support for OS X. @@ -123810,6 +132437,11 @@ In other words \fIsalt mac\-machine pkg.refresh_db\fP is more like \fIapt\-get update; apt\-get upgrade dpkg apt\-get\fP than simply \fIapt\-get update\fP\&. .INDENT 0.0 .TP +.B salt.modules.mac_ports.__virtual__() +Confine this module to Mac OS with MacPorts. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_ports.available_version(*names, **kwargs) This function is an alias of \fBlatest_version\fP\&. .INDENT 7.0 @@ -124071,14 +132703,14 @@ Options: Update ports with \fBport selfupdate\fP .UNINDENT .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -124144,6 +132776,11 @@ New in version 2016.3.0. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mac_power.__virtual__() +Only for Mac OS X +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_power.get_computer_sleep() Display the amount of idle time until the computer sleeps. .INDENT 7.0 @@ -124670,6 +133307,11 @@ The service module for Mac OS X .. versionadded:: 2016.3.0 .INDENT 0.0 .TP +.B salt.modules.mac_service.__virtual__() +Only for Mac OS X with launchctl +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_service.available(name) Check that the given service is available. .INDENT 7.0 @@ -125728,6 +134370,11 @@ salt \(aq*\(aq shadow.set_warndays admin 90 Support for the softwareupdate command on MacOS. .INDENT 0.0 .TP +.B salt.modules.mac_softwareupdate.__virtual__() +Only for MacOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_softwareupdate.download(name) Download a named update so that it can be installed later with the \fBupdate\fP or \fBupdate_all\fP functions @@ -126475,7 +135122,19 @@ salt \(aq*\(aq user.info root .INDENT 0.0 .TP .B salt.modules.mac_user.list_groups(name) -Return a list of groups the named user belongs to +Return a list of groups the named user belongs to. +.sp +name +.INDENT 7.0 +.INDENT 3.5 +The name of the user for which to list groups. Starting in Salt 2016.11.0, +all groups for the user, including groups beginning with an underscore +will be listed. +.sp +Changed in version 2016.11.0. + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -126548,6 +135207,11 @@ salt \(aq*\(aq user.rename name new_name Module for viewing and modifying sysctl parameters .INDENT 0.0 .TP +.B salt.modules.mac_sysctl.__virtual__() +Only run on Darwin (OS X) systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_sysctl.assign(name, value) Assign a single sysctl parameter for this minion .INDENT 7.0 @@ -126660,6 +135324,11 @@ Using this module will enable \fBatrun\fP on the system if it is disabled. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mac_system.__virtual__() +Only for MacOS with atrun enabled +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_system.get_boot_arch() Get the kernel architecture setting from \fBcom.apple.Boot.plist\fP .INDENT 7.0 @@ -127322,6 +135991,11 @@ New in version 2016.3.0. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mac_timezone.__virtual__() +Only for Mac OS X +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_timezone.get_date() Displays the current date .INDENT 7.0 @@ -128054,7 +136728,19 @@ salt \(aq*\(aq user.info root .INDENT 0.0 .TP .B salt.modules.mac_user.list_groups(name) -Return a list of groups the named user belongs to +Return a list of groups the named user belongs to. +.sp +name +.INDENT 7.0 +.INDENT 3.5 +The name of the user for which to list groups. Starting in Salt 2016.11.0, +all groups for the user, including groups beginning with an underscore +will be listed. +.sp +Changed in version 2016.11.0. + +.UNINDENT +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -128137,6 +136823,11 @@ salt \(aq*\(aq xattr.list /path/to/file .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mac_xattr.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mac_xattr.clear(path) Causes the all attributes on the file/directory to be removed .INDENT 7.0 @@ -128330,6 +137021,11 @@ salt \(aq*\(aq xattr.write /path/to/file "com.test.attr" "value" Support for modifying make.conf under Gentoo .INDENT 0.0 .TP +.B salt.modules.makeconf.__virtual__() +Only work on Gentoo +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.makeconf.append_cflags(value) Add to or create a new CFLAGS in the make.conf .sp @@ -129383,10 +138079,14 @@ New in version 2015.8.2. Return the current server configuration for the specified app. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.ft C salt marathon\-minion\-id marathon.app my\-app +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -129396,10 +138096,14 @@ salt marathon\-minion\-id marathon.app my\-app Return a list of the currently installed app ids. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.ft C salt marathon\-minion\-id marathon.apps +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -129409,10 +138113,14 @@ salt marathon\-minion\-id marathon.apps Return whether the given app id is currently configured. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.ft C salt marathon\-minion\-id marathon.has_app my\-app +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -129422,23 +138130,77 @@ salt marathon\-minion\-id marathon.has_app my\-app Return configuration and status information about the marathon instance. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.ft C salt marathon\-minion\-id marathon.info +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP +.B salt.modules.marathon.restart_app(id, restart=False, force=True) +Restart the current server configuration for the specified app. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBrestart\fP \-\- Restart the app +.IP \(bu 2 +\fBforce\fP \-\- Override the current deployment +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt marathon\-minion\-id marathon.restart_app my\-app +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +By default, this will only check if the app exists in marathon. It does +not check if there are any tasks associated with it or if the app is suspended. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt marathon\-minion\-id marathon.restart_app my\-app true true +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The restart option needs to be set to True to actually issue a rolling +restart to marathon. +.sp +The force option tells marathon to ignore the current app deployment if +there is one. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.marathon.rm_app(id) Remove the specified app from the server. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.ft C salt marathon\-minion\-id marathon.rm_app my\-app +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -129448,10 +138210,14 @@ salt marathon\-minion\-id marathon.rm_app my\-app Update the specified app with the given configuration. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.ft C salt marathon\-minion\-id marathon.update_app my\-app \(aq\(aq +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -129526,10 +138292,14 @@ Pillar Example: .sp .nf .ft C +# Filter the data for the current minion into a variable: {% set roles = salt[\(aqmatch.filter_by\(aq]({ \(aqweb*\(aq: [\(aqapp\(aq, \(aqcaching\(aq], \(aqdb*\(aq: [\(aqdb\(aq], }) %} + +# Make the filtered data available to Pillar: +roles: {{ roles | yaml() }} .ft P .fi .UNINDENT @@ -129791,6 +138561,11 @@ Deprecated since version 2015.8.0. Salt module to manage RAID arrays with mdadm .INDENT 0.0 .TP +.B salt.modules.mdadm.__virtual__() +mdadm provides raid functions for Linux +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mdadm.assemble(name, devices, test_mode=False, **kwargs) Assemble a RAID device. .sp @@ -129823,16 +138598,24 @@ The list of devices comprising the array to assemble. .TP .B kwargs Optional arguments to be passed to mdadm. -.TP -.B returns +.UNINDENT .INDENT 7.0 .TP -.B test_mode=True: +.B Returns +.INDENT 7.0 +.INDENT 3.5 Prints out the full command. +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B test_mode=False (Default): Executes command on the host(s) and prints out the mdadm output. .UNINDENT + +.TP +.B Return type +test_mode=True .UNINDENT .sp For more info, read the \fBmdadm\fP manpage. @@ -129888,17 +138671,25 @@ Version of metadata to use when creating the array. .TP .B kwargs Optional arguments to be passed to mdadm. -.TP -.B returns +.UNINDENT .INDENT 7.0 .TP -.B test_mode=True: +.B Returns +.INDENT 7.0 +.INDENT 3.5 Prints out the full command. +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B test_mode=False (Default): Executes command on remote the host(s) and Prints out the mdadm output. .UNINDENT + +.TP +.B Return type +test_mode=True .UNINDENT .sp \fBNOTE:\fP @@ -130033,6 +138824,11 @@ smartos .UNINDENT .INDENT 0.0 .TP +.B salt.modules.mdata.__virtual__() +Provides mdata only on SmartOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.mdata.delete(*keyname) Delete metadata .INDENT 7.0 @@ -130136,6 +138932,11 @@ Module for Management of Memcached Keys .sp New in version 2014.1.0. +.INDENT 0.0 +.TP +.B salt.modules.memcached.__virtual__() +Only load if python\-memcache is installed +.UNINDENT .INDENT 0.0 .TP .B salt.modules.memcached.add(key, value, host=\(aq127.0.0.1\(aq, port=11211, time=0, min_compress_len=0) @@ -130472,11 +139273,69 @@ salt \(aq*\(aq mine.update .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mine.valid() +List valid entries in mine configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq mine.valid +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.minion module .sp Module to provide information about minions .INDENT 0.0 .TP +.B salt.modules.minion.kill(timeout=15) +Kill the salt minion. +.INDENT 7.0 +.TP +.B timeout +int seconds to wait for the minion to die. +.UNINDENT +.sp +If you have a monitor that restarts \fBsalt\-minion\fP when it dies then this is +a great way to restart after a minion upgrade. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +>$ salt minion[12] minion.kill +minion1: + \-\-\-\-\-\-\-\-\-\- + killed: + 7874 + retcode: + 0 +minion2: + \-\-\-\-\-\-\-\-\-\- + killed: + 29071 + retcode: + 0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The result of the salt command shows the process ID of the minions and the +results of a kill signal to the minion in as the \fBretcode\fP value: \fB0\fP +is success, anything else is a failure. +.UNINDENT +.INDENT 0.0 +.TP .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 @@ -130493,11 +139352,86 @@ salt \(aqmaster\(aq minion.list .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.minion.restart() +Kill and restart the salt minion. +.sp +The configuration key \fBminion_restart_command\fP is an argv list for the +command to restart the minion. If \fBminion_restart_command\fP is not +specified or empty then the \fBargv\fP of the current process will be used. +.sp +if the configuration value \fBminion_restart_command\fP is not set and the +\fB\-d\fP (daemonize) argument is missing from \fBargv\fP then the minion +\fIwill\fP be killed but will \fInot\fP be restarted and will require the parent +process to perform the restart. This behavior is intended for managed +salt minion processes. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +>$ salt minion[12] minion.restart +minion1: + \-\-\-\-\-\-\-\-\-\- + comment: + \- Restart using process argv: + \- /home/omniture/install/bin/salt\-minion + \- \-d + \- \-c + \- /home/omniture/install/etc/salt + killed: + 10070 + restart: + \-\-\-\-\-\-\-\-\-\- + stderr: + stdout: + retcode: + 0 +minion2: + \-\-\-\-\-\-\-\-\-\- + comment: + \- Using configuration minion_restart_command: + \- /home/omniture/install/bin/salt\-minion + \- \-\-not\-an\-option + \- \-d + \- \-c + \- /home/omniture/install/etc/salt + \- Restart failed + killed: + 10896 + restart: + \-\-\-\-\-\-\-\-\-\- + stderr: + Usage: salt\-minion + + salt\-minion: error: no such option: \-\-not\-an\-option + stdout: + retcode: + 64 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The result of the command shows the process ID of \fBminion1\fP that is +shutdown (killed) and the results of the restart. If there is a failure +in the restart it will be reflected in a non\-zero \fBretcode\fP and possibly +output in the \fBstderr\fP and/or \fBstdout\fP values along with addition +information in the \fBcomment\fP field as is demonstrated with \fBminion2\fP\&. +.UNINDENT .SS salt.modules.mod_random .SS Provides access to randomness generators. .sp New in version 2014.7.0. +.INDENT 0.0 +.TP +.B salt.modules.mod_random.__virtual__(algorithm=\(aqsha512\(aq) +Sanity check for compatibility with Python 2.6 / 2.7 +.UNINDENT .INDENT 0.0 .TP .B salt.modules.mod_random.get_str(length=20) @@ -130704,6 +139638,11 @@ modjk: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.modjk.__virtual__() +Always load +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.modjk.bulk_activate(workers, lbn, profile=\(aqdefault\(aq) Activate all the given workers in the specific load balancer .sp @@ -131072,7 +140011,12 @@ overwrite options passed into pillar. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.db_exists(name, user=None, password=None, host=None, port=None) +.B salt.modules.mongodb.__virtual__() +Only load this module if pymongo is installed +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mongodb.db_exists(name, user=None, password=None, host=None, port=None, authdb=None) Checks if a database exists in Mongodb .sp CLI Example: @@ -131089,7 +140033,7 @@ salt \(aq*\(aq mongodb.db_exists .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.db_list(user=None, password=None, host=None, port=None) +.B salt.modules.mongodb.db_list(user=None, password=None, host=None, port=None, authdb=None) List all Mongodb databases .sp CLI Example: @@ -131106,7 +140050,7 @@ salt \(aq*\(aq mongodb.db_list .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.db_remove(name, user=None, password=None, host=None, port=None) +.B salt.modules.mongodb.db_remove(name, user=None, password=None, host=None, port=None, authdb=None) Remove a Mongodb database .sp CLI Example: @@ -131123,7 +140067,7 @@ salt \(aq*\(aq mongodb.db_remove .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.find(collection, query=None, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq) +.B salt.modules.mongodb.find(collection, query=None, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, authdb=None) Find an object or list of objects in a collection .sp CLI Example: @@ -131140,7 +140084,7 @@ salt \(aq*\(aq mongodb.find mycollection \(aq[{"foo": "FOO", "bar": "BAR"}]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.insert(objects, collection, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq) +.B salt.modules.mongodb.insert(objects, collection, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, authdb=None) Insert an object or list of objects into a collection .sp CLI Example: @@ -131157,7 +140101,7 @@ salt \(aq*\(aq mongodb.insert \(aq[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.remove(collection, query=None, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, w=1) +.B salt.modules.mongodb.remove(collection, query=None, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, w=1, authdb=None) Remove an object or list of objects into a collection .sp CLI Example: @@ -131174,7 +140118,28 @@ salt \(aq*\(aq mongodb.remove mycollection \(aq[{"foo": "FOO", "bar": "BAR"}, {" .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.user_create(name, passwd, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq) +.B salt.modules.mongodb.update_one(objects, collection, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, authdb=None) +Update an object into a collection +\fI\%http://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.update_one\fP +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq mongodb.update_one \(aq{"_id": "my_minion"} {"bar": "BAR"}\(aq mycollection +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.mongodb.user_create(name, passwd, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, authdb=None) Create a Mongodb user .sp CLI Example: @@ -131191,7 +140156,7 @@ salt \(aq*\(aq mongodb.user_create .UNINDENT .INDENT 0.0 .TP -.B salt.modules.mongodb.user_remove(name, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq) +.B salt.modules.mongodb.user_remove(name, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, authdb=None) Remove a Mongodb user .sp CLI Example: @@ -131269,7 +140234,7 @@ salt \(aq*\(aq mongodb.user_remove /root/.nacl Run nagios plugins/checks from salt and get the return as data. .INDENT 0.0 .TP +.B salt.modules.nagios.__virtual__() +Only load if nagios\-plugins are installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.nagios.list_plugins() List all the nagios plugins .sp @@ -133611,6 +142600,11 @@ Check Host & Service status from Nagios via JSON RPC. .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.modules.nagios_rpc.__virtual__() +Only load if requests is successfully imported +.UNINDENT .INDENT 0.0 .TP .B salt.modules.nagios_rpc.host_status(hostname=None, **kwargs) @@ -133684,6 +142678,1499 @@ salt \(aq*\(aq nagios_rpc.service_status hostname=webserver.domain.com service=\ .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.napalm_bgp module +.SS NAPALM BGP +.sp +Manages BGP configuration on network devices and provides statistics. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm proxy minion\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.TP +.B salt.modules.napalm_bgp.__virtual__() +NAPALM library must be installed for this module to work. +Also, the key proxymodule must be set in the __opts___ dictionary. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_bgp.config(group=\(aq\(aq, neighbor=\(aq\(aq) +Provides the BGP configuration on the device. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBgroup\fP \-\- Name of the group selected to display the configuration. +.IP \(bu 2 +\fBneighbor\fP \-\- IP Address of the neighbor to display the configuration. +.UNINDENT +.UNINDENT +.sp +If the group parameter is not specified, the neighbor setting will be ignored. +:return: A dictionary containing the BGP configuration from the network device. +The keys of the main dictionary are the group names. +.sp +Each group has the following properties: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +type (string) +.IP \(bu 2 +description (string) +.IP \(bu 2 +apply_groups (string list) +.IP \(bu 2 +multihop_ttl (int) +.IP \(bu 2 +multipath (True/False) +.IP \(bu 2 +local_address (string) +.IP \(bu 2 +local_as (int) +.IP \(bu 2 +remote_as (int) +.IP \(bu 2 +import_policy (string) +.IP \(bu 2 +export_policy (string) +.IP \(bu 2 +remove_private_as (True/False) +.IP \(bu 2 +prefix_limit (dictionary) +.IP \(bu 2 +neighbors (dictionary) +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Each neighbor in the dictionary of neighbors provides: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +description (string) +.IP \(bu 2 +import_policy (string) +.IP \(bu 2 +export_policy (string) +.IP \(bu 2 +local_address (string) +.IP \(bu 2 +local_as (int) +.IP \(bu 2 +remote_as (int) +.IP \(bu 2 +authentication_key (string) +.IP \(bu 2 +prefix_limit (dictionary) +.IP \(bu 2 +route_reflector_client (True/False) +.IP \(bu 2 +nhs (True/False) +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq bgp.config # entire BGP config +salt \(aq*\(aq bgp.config PEERS\-GROUP\-NAME # provides detail only about BGP group PEERS\-GROUP\-NAME +salt \(aq*\(aq bgp.config PEERS\-GROUP\-NAME 172.17.17.1 # provides details only about BGP neighbor 172.17.17.1, +# configured in the group PEERS\-GROUP\-NAME +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqPEERS\-GROUP\-NAME\(aq:{ + \(aqtype\(aq : u\(aqexternal\(aq, + \(aqdescription\(aq : u\(aqHere we should have a nice description\(aq, + \(aqapply_groups\(aq : [u\(aqBGP\-PREFIX\-LIMIT\(aq], + \(aqimport_policy\(aq : u\(aqPUBLIC\-PEER\-IN\(aq, + \(aqexport_policy\(aq : u\(aqPUBLIC\-PEER\-OUT\(aq, + \(aqremove_private\(aq: True, + \(aqmultipath\(aq : True, + \(aqmultihop_ttl\(aq : 30, + \(aqneighbors\(aq : { + \(aq192.168.0.1\(aq: { + \(aqdescription\(aq : \(aqFacebook [CDN]\(aq, + \(aqprefix_limit\(aq : { + \(aqinet\(aq: { + \(aqunicast\(aq: { + \(aqlimit\(aq: 100, + \(aqteardown\(aq: { + \(aqthreshold\(aq : 95, + \(aqtimeout\(aq : 5 + } + } + } + } + \(aqpeer\-as\(aq : 32934, + \(aqroute_reflector\(aq: False, + \(aqnhs\(aq : True + }, + \(aq172.17.17.1\(aq: { + \(aqdescription\(aq : \(aqTwitter [CDN]\(aq, + \(aqprefix_limit\(aq : { + \(aqinet\(aq: { + \(aqunicast\(aq: { + \(aqlimit\(aq: 500, + \(aqno\-validate\(aq: \(aqIMPORT\-FLOW\-ROUTES\(aq + } + } + } + \(aqpeer_as\(aq : 13414 + \(aqroute_reflector\(aq: False, + \(aqnhs\(aq : False + } + } + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_bgp.neighbors(neighbor=\(aq\(aq) +Provides details regarding the BGP sessions configured on the network device. +.INDENT 7.0 +.TP +.B Parameters +\fBneighbor\fP \-\- IP Address of a specific neighbor. +.TP +.B Returns +A dictionary with the statistics of the selected BGP neighbors. +.UNINDENT +.sp +Keys of this dictionary represent the AS numbers, while the values are lists of dictionaries, +having the following keys: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +up (True/False) +.IP \(bu 2 +local_as (int) +.IP \(bu 2 +remote_as (int) +.IP \(bu 2 +local_address (string) +.IP \(bu 2 +routing_table (string) +.IP \(bu 2 +local_address_configured (True/False) +.IP \(bu 2 +local_port (int) +.IP \(bu 2 +remote_address (string) +.IP \(bu 2 +remote_port (int) +.IP \(bu 2 +multihop (True/False) +.IP \(bu 2 +multipath (True/False) +.IP \(bu 2 +remove_private_as (True/False) +.IP \(bu 2 +import_policy (string) +.IP \(bu 2 +export_policy (string) +.IP \(bu 2 +input_messages (int) +.IP \(bu 2 +output_messages (int) +.IP \(bu 2 +input_updates (int) +.IP \(bu 2 +output_updates (int) +.IP \(bu 2 +messages_queued_out (int) +.IP \(bu 2 +connection_state (string) +.IP \(bu 2 +previous_connection_state (string) +.IP \(bu 2 +last_event (string) +.IP \(bu 2 +suppress_4byte_as (True/False) +.IP \(bu 2 +local_as_prepend (True/False) +.IP \(bu 2 +holdtime (int) +.IP \(bu 2 +configured_holdtime (int) +.IP \(bu 2 +keepalive (int) +.IP \(bu 2 +configured_keepalive (int) +.IP \(bu 2 +active_prefix_count (int) +.IP \(bu 2 +received_prefix_count (int) +.IP \(bu 2 +accepted_prefix_count (int) +.IP \(bu 2 +suppressed_prefix_count (int) +.IP \(bu 2 +advertised_prefix_count (int) +.IP \(bu 2 +flap_count (int) +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq bgp.neighbors # all neighbors +salt \(aq*\(aq bgp.neighbors 172.17.17.1 # only session with BGP neighbor(s) 172.17.17.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + 8121: [ + { + \(aqup\(aq : True, + \(aqlocal_as\(aq : 13335, + \(aqremote_as\(aq : 8121, + \(aqlocal_address\(aq : u\(aq172.101.76.1\(aq, + \(aqlocal_address_configured\(aq : True, + \(aqlocal_port\(aq : 179, + \(aqremote_address\(aq : u\(aq192.247.78.0\(aq, + \(aqremote_port\(aq : 58380, + \(aqmultihop\(aq : False, + \(aqimport_policy\(aq : u\(aq4\-NTT\-TRANSIT\-IN\(aq, + \(aqexport_policy\(aq : u\(aq4\-NTT\-TRANSIT\-OUT\(aq, + \(aqinput_messages\(aq : 123, + \(aqoutput_messages\(aq : 13, + \(aqinput_updates\(aq : 123, + \(aqoutput_updates\(aq : 5, + \(aqmessages_queued_out\(aq : 23, + \(aqconnection_state\(aq : u\(aqEstablished\(aq, + \(aqprevious_connection_state\(aq : u\(aqEstabSync\(aq, + \(aqlast_event\(aq : u\(aqRecvKeepAlive\(aq, + \(aqsuppress_4byte_as\(aq : False, + \(aqlocal_as_prepend\(aq : False, + \(aqholdtime\(aq : 90, + \(aqconfigured_holdtime\(aq : 90, + \(aqkeepalive\(aq : 30, + \(aqconfigured_keepalive\(aq : 30, + \(aqactive_prefix_count\(aq : 132808, + \(aqreceived_prefix_count\(aq : 566739, + \(aqaccepted_prefix_count\(aq : 566479, + \(aqsuppressed_prefix_count\(aq : 0, + \(aqadvertise_prefix_count\(aq : 0, + \(aqflap_count\(aq : 27 + } + ] +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.napalm_network module +.SS NAPALM Network +.sp +Basic methods for interaction with the network device through the virtual proxy \(aqnapalm\(aq. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm proxy minion\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.__virtual__() +NAPALM library must be installed for this module to work. +Also, the key proxymodule must be set in the __opts___ dictionary. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.arp(interface=\(aq\(aq, ipaddr=\(aq\(aq, macaddr=\(aq\(aq) +NAPALM returns a list of dictionaries with details of the ARP entries. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBinterface\fP \-\- interface name to filter on +.IP \(bu 2 +\fBipaddr\fP \-\- IP address to filter on +.IP \(bu 2 +\fBmacaddr\fP \-\- MAC address to filter on +.UNINDENT +.TP +.B Returns +List of the entries in the ARP table +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.arp +salt \(aq*\(aq net.arp macaddr=\(aq5c:5e:ab:da:3c:f0\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +[ + { + \(aqinterface\(aq : \(aqMgmtEth0/RSP0/CPU0/0\(aq, + \(aqmac\(aq : \(aq5c:5e:ab:da:3c:f0\(aq, + \(aqip\(aq : \(aq172.17.17.1\(aq, + \(aqage\(aq : 1454496274.84 + }, + { + \(aqinterface\(aq: \(aqMgmtEth0/RSP0/CPU0/0\(aq, + \(aqmac\(aq : \(aq66:0e:94:96:e0:ff\(aq, + \(aqip\(aq : \(aq172.17.17.2\(aq, + \(aqage\(aq : 1435641582.49 + } +] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.cli(*commands) +Returns a dictionary with the raw output of all commands passed as arguments. +.INDENT 7.0 +.TP +.B Parameters +\fBcommands\fP \-\- list of commands to be executed on the device +.TP +.B Returns +a dictionary with the mapping between each command and its raw output +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.cli "show version" "show chassis fan" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + u\(aqshow version and haiku\(aq: u\(aqHostname: re0.edge01.arn01 + Model: mx480 + Junos: 13.3R6.5 + Help me, Obi\-Wan + I just saw Episode Two + You\(aqre my only hope + \(aq, + u\(aqshow chassis fan\(aq : u\(aqItem Status RPM Measurement + Top Rear Fan OK 3840 Spinning at intermediate\-speed + Bottom Rear Fan OK 3840 Spinning at intermediate\-speed + Top Middle Fan OK 3900 Spinning at intermediate\-speed + Bottom Middle Fan OK 3840 Spinning at intermediate\-speed + Top Front Fan OK 3810 Spinning at intermediate\-speed + Bottom Front Fan OK 3840 Spinning at intermediate\-speed + \(aq +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.commit() +Commits the configuration changes made on the network device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.commit +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.compare_config() +Returns the difference between the running config and the candidate config. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.compare_config +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.config_changed() +Will prompt if the configuration has been changed. +.INDENT 7.0 +.TP +.B Returns +A tuple with a boolean that specifies if the config was changed on the device. And a string that provides more details of the reason why the configuration was not changed. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.config_changed +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.config_control() +Will check if the configuration was changed. +If differences found, will try to commit. +In case commit unsuccessful, will try to rollback. +.INDENT 7.0 +.TP +.B Returns +A tuple with a boolean that specifies if the config was changed/commited/rollbacked on the device. And a string that provides more details of the reason why the configuration was not commited properly. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.config_control +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.connected() +Specifies if the proxy succeeded to connect to the network device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.connected +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.environment() +Returns the environment of the device. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.environment +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqfans\(aq: { + \(aqBottom Rear Fan\(aq: { + \(aqstatus\(aq: True + }, + \(aqBottom Middle Fan\(aq: { + \(aqstatus\(aq: True + }, + \(aqTop Middle Fan\(aq: { + \(aqstatus\(aq: True + }, + \(aqBottom Front Fan\(aq: { + \(aqstatus\(aq: True + }, + \(aqTop Front Fan\(aq: { + \(aqstatus\(aq: True + }, + \(aqTop Rear Fan\(aq: { + \(aqstatus\(aq: True + } + }, + \(aqmemory\(aq: { + \(aqavailable_ram\(aq: 16349, + \(aqused_ram\(aq: 4934 + }, + \(aqtemperature\(aq: { + \(aqFPC 0 Exhaust A\(aq: { + \(aqis_alert\(aq: False, + \(aqtemperature\(aq: 35.0, + \(aqis_critical\(aq: False + } + }, + \(aqcpu\(aq: { + \(aq1\(aq: { + \(aq%usage\(aq: 19.0 + }, + \(aq0\(aq: { + \(aq%usage\(aq: 35.0 + } + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.facts() +Returns characteristics of the network device. +:return: a dictionary with the following keys: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +uptime \- Uptime of the device in seconds. +.IP \(bu 2 +vendor \- Manufacturer of the device. +.IP \(bu 2 +model \- Device model. +.IP \(bu 2 +hostname \- Hostname of the device +.IP \(bu 2 +fqdn \- Fqdn of the device +.IP \(bu 2 +os_version \- String with the OS version running on the device. +.IP \(bu 2 +serial_number \- Serial number of the device +.IP \(bu 2 +interface_list \- List of the interfaces of the device +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.facts +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqos_version\(aq: u\(aq13.3R6.5\(aq, + \(aquptime\(aq: 10117140, + \(aqinterface_list\(aq: [ + \(aqlc\-0/0/0\(aq, + \(aqpfe\-0/0/0\(aq, + \(aqpfh\-0/0/0\(aq, + \(aqxe\-0/0/0\(aq, + \(aqxe\-0/0/1\(aq, + \(aqxe\-0/0/2\(aq, + \(aqxe\-0/0/3\(aq, + \(aqgr\-0/0/10\(aq, + \(aqip\-0/0/10\(aq + ], + \(aqvendor\(aq: u\(aqJuniper\(aq, + \(aqserial_number\(aq: u\(aqJN131356FBFA\(aq, + \(aqmodel\(aq: u\(aqMX480\(aq, + \(aqhostname\(aq: u\(aqre0.edge05.syd01\(aq, + \(aqfqdn\(aq: u\(aqre0.edge05.syd01\(aq +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.interfaces() +Returns details of the interfaces on the device. +.INDENT 7.0 +.TP +.B Returns +Returns a dictionary of dictionaries. The keys for the first dictionary will be the interfaces in the devices. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.interfaces +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + u\(aqManagement1\(aq: { + \(aqis_up\(aq: False, + \(aqis_enabled\(aq: False, + \(aqdescription\(aq: u\(aq\(aq, + \(aqlast_flapped\(aq: \-1, + \(aqspeed\(aq: 1000, + \(aqmac_address\(aq: u\(aqdead:beef:dead\(aq, + }, + u\(aqEthernet1\(aq:{ + \(aqis_up\(aq: True, + \(aqis_enabled\(aq: True, + \(aqdescription\(aq: u\(aqfoo\(aq, + \(aqlast_flapped\(aq: 1429978575.1554043, + \(aqspeed\(aq: 1000, + \(aqmac_address\(aq: u\(aqbeef:dead:beef\(aq, + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.ipaddrs() +Returns IP addresses configured on the device. +.INDENT 7.0 +.TP +.B Returns +A dictionary with the IPv4 and IPv6 addresses of the interfaces. Returns all configured IP addresses on all interfaces as a dictionary of dictionaries. Keys of the main dictionary represent the name of the interface. Values of the main dictionary represent are dictionaries that may consist of two keys \(aqipv4\(aq and \(aqipv6\(aq (one, both or none) which are themselvs dictionaries witht the IP addresses as keys. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.ipaddrs +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + u\(aqFastEthernet8\(aq: { + u\(aqipv4\(aq: { + u\(aq10.66.43.169\(aq: { + \(aqprefix_length\(aq: 22 + } + } + }, + u\(aqLoopback555\(aq: { + u\(aqipv4\(aq: { + u\(aq192.168.1.1\(aq: { + \(aqprefix_length\(aq: 24 + } + }, + u\(aqipv6\(aq: { + u\(aq1::1\(aq: { + \(aqprefix_length\(aq: 64 + }, + u\(aq2001:DB8:1::1\(aq: { + \(aqprefix_length\(aq: 64 + }, + u\(aqFE80::3\(aq: { + \(aqprefix_length\(aq: u\(aqN/A\(aq + } + } + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.lldp(interface=\(aq\(aq) +Returns a detailed view of the LLDP neighbors. +.INDENT 7.0 +.TP +.B Parameters +\fBinterface\fP \-\- interface name to filter on +.TP +.B Returns +A dictionary with the LLDL neighbors. The keys are the interfaces with LLDP activated on. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.lldp +salt \(aq*\(aq net.lldp interface=\(aqTenGigE0/0/0/8\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqTenGigE0/0/0/8\(aq: [ + { + \(aqparent_interface\(aq: u\(aqBundle\-Ether8\(aq, + \(aqinterface_description\(aq: u\(aqTenGigE0/0/0/8\(aq, + \(aqremote_chassis_id\(aq: u\(aq8c60.4f69.e96c\(aq, + \(aqremote_system_name\(aq: u\(aqswitch\(aq, + \(aqremote_port\(aq: u\(aqEth2/2/1\(aq, + \(aqremote_port_description\(aq: u\(aqEthernet2/2/1\(aq, + \(aqremote_system_description\(aq: u\(aqCisco Nexus Operating System (NX\-OS) Software 7.1(0)N1(1a) + TAC support: http://www.cisco.com/tac + Copyright (c) 2002\-2015, Cisco Systems, Inc. All rights reserved.\(aq, + \(aqremote_system_capab\(aq: u\(aqB, R\(aq, + \(aqremote_system_enable_capab\(aq: u\(aqB\(aq + } + ] +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.mac(address=\(aq\(aq, interface=\(aq\(aq, vlan=0) +Returns the MAC Address Table on the device. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBaddress\fP \-\- MAC address to filter on +.IP \(bu 2 +\fBinterface\fP \-\- Interface name to filter on +.IP \(bu 2 +\fBvlan\fP \-\- VLAN identifier +.UNINDENT +.TP +.B Returns +A list of dictionaries representing the entries in the MAC Address Table +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.mac +salt \(aq*\(aq net.mac vlan=10 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +[ + { + \(aqmac\(aq : \(aq00:1c:58:29:4a:71\(aq, + \(aqinterface\(aq : \(aqxe\-3/0/2\(aq, + \(aqstatic\(aq : False, + \(aqactive\(aq : True, + \(aqmoves\(aq : 1, + \(aqvlan\(aq : 10, + \(aqlast_move\(aq : 1454417742.58 + }, + { + \(aqmac\(aq : \(aq8c:60:4f:58:e1:c1\(aq, + \(aqinterface\(aq : \(aqxe\-1/0/1\(aq, + \(aqstatic\(aq : False, + \(aqactive\(aq : True, + \(aqmoves\(aq : 2, + \(aqvlan\(aq : 42, + \(aqlast_move\(aq : 1453191948.11 + } +] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.ping(destination, source=\(aq\(aq, ttl=0, timeout=0, size=0, count=0) +Executes a ping on the network device and returns a dictionary as a result. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBdestination\fP \-\- Hostname or IP address of remote host +.IP \(bu 2 +\fBsource\fP \-\- Source address of echo request +.IP \(bu 2 +\fBttl\fP \-\- IP time\-to\-live value (IPv6 hop\-limit value) (1..255 hops) +.IP \(bu 2 +\fBtimeout\fP \-\- Maximum wait time after sending final packet (seconds) +.IP \(bu 2 +\fBsize\fP \-\- Size of request packets (0..65468 bytes) +.IP \(bu 2 +\fBcount\fP \-\- Number of ping requests to send (1..2000000000 packets) +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.ping 8.8.8.8 +salt \(aq*\(aq net.ping 8.8.8.8 ttl=3 size=65468 +salt \(aq*\(aq net.ping 8.8.8.8 source=127.0.0.1 timeout=1 count=100 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.rollback() +Rollbacks the configuration. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.rollback +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_network.traceroute(destination, source=\(aq\(aq, ttl=0, timeout=0) +Calls the method traceroute from the NAPALM driver object and returns a dictionary with the result of the traceroute +command executed on the device. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBdestination\fP \-\- Hostname or address of remote host +.IP \(bu 2 +\fBsource\fP \-\- Source address to use in outgoing traceroute packets +.IP \(bu 2 +\fBttl\fP \-\- IP maximum time\-to\-live value (or IPv6 maximum hop\-limit value) +.IP \(bu 2 +\fBtimeout\fP \-\- Number of seconds to wait for response (seconds) +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq net.traceroute 8.8.8.8 +salt \(aq*\(aq net.traceroute 8.8.8.8 source=127.0.0.1 ttl=5 timeout=1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.napalm_ntp module +.SS NAPALM NTP +.sp +Manages NTP peers of a network device. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm proxy minion\fP +.UNINDENT +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBNTP peers management state\fP +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.TP +.B salt.modules.napalm_ntp.__virtual__() +NAPALM library must be installed for this module to work. +Also, the key proxymodule must be set in the __opts___ dictionary. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_ntp.delete_peers(*peers) +Removes NTP peers configured on the device. +.INDENT 7.0 +.TP +.B Parameters +\fBpeers\fP \-\- list of IP Addresses/Domain Names to be removed as NTP peers +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ntp.delete_peers 8.8.8.8 time.apple.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_ntp.peers() +Returns a list the NTP peers configured on the network device. +.INDENT 7.0 +.TP +.B Returns +configured NTP peers as list. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ntp.peers +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +[ + \(aq192.168.0.1\(aq, + \(aq172.17.17.1\(aq, + \(aq172.17.17.2\(aq, + \(aq2400:cb00:6:1024::c71b:840a\(aq +] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_ntp.set_peers(*peers) +Configures a list of NTP peers on the device. +.INDENT 7.0 +.TP +.B Parameters +\fBpeers\fP \-\- list of IP Addresses/Domain Names +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ntp.set_peers 192.168.0.1 172.17.17.1 time.apple.com +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_ntp.stats(peer=\(aq\(aq) +Returns a dictionary containing synchronization details of the NTP peers. +.INDENT 7.0 +.TP +.B Parameters +\fBpeer\fP \-\- Returns only the details of a specific NTP peer. +.TP +.B Returns +a list of dictionaries, with the following keys: +.INDENT 7.0 +.IP \(bu 2 +remote +.IP \(bu 2 +referenceid +.IP \(bu 2 +synchronized +.IP \(bu 2 +stratum +.IP \(bu 2 +type +.IP \(bu 2 +when +.IP \(bu 2 +hostpoll +.IP \(bu 2 +reachability +.IP \(bu 2 +delay +.IP \(bu 2 +offset +.IP \(bu 2 +jitter +.UNINDENT + +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ntp.stats +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example output: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +[ + { + \(aqremote\(aq : u\(aq188.114.101.4\(aq, + \(aqreferenceid\(aq : u\(aq188.114.100.1\(aq, + \(aqsynchronized\(aq : True, + \(aqstratum\(aq : 4, + \(aqtype\(aq : u\(aq\-\(aq, + \(aqwhen\(aq : u\(aq107\(aq, + \(aqhostpoll\(aq : 256, + \(aqreachability\(aq : 377, + \(aqdelay\(aq : 164.228, + \(aqoffset\(aq : \-13.866, + \(aqjitter\(aq : 2.695 + } +] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS salt.modules.napalm_probes module +.SS NAPALM Probes +.sp +Manages RPM/SLA probes on the network device. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm proxy minion\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.TP +.B salt.modules.napalm_probes.__virtual__() +NAPALM library must be installed for this module to work. +Also, the key proxymodule must be set in the __opts___ dictionary. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_probes.config() +Returns the configuration of the RPM probes. +.INDENT 7.0 +.TP +.B Returns +A dictionary containing the configuration of the RPM/SLA probes. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq probes.config +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqprobe1\(aq:{ + \(aqtest1\(aq: { + \(aqprobe_type\(aq : \(aqicmp\-ping\(aq, + \(aqtarget\(aq : \(aq192.168.0.1\(aq, + \(aqsource\(aq : \(aq192.168.0.2\(aq, + \(aqprobe_count\(aq : 13, + \(aqtest_interval\(aq: 3 + }, + \(aqtest2\(aq: { + \(aqprobe_type\(aq : \(aqhttp\-ping\(aq, + \(aqtarget\(aq : \(aq172.17.17.1\(aq, + \(aqsource\(aq : \(aq192.17.17.2\(aq, + \(aqprobe_count\(aq : 5, + \(aqtest_interval\(aq: 60 + } + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_probes.delete_probes(probes) +Removes RPM/SLA probes from the network device. +Calls the configuration template \(aqdelete_probes\(aq from the NAPALM library, +providing as input a rich formatted dictionary with the configuration details of the probes to be removed +from the configuration of the device. +.INDENT 7.0 +.TP +.B Parameters +\fBprobes\fP \-\- Dictionary with a similar format as the output dictionary of the function config(), +.UNINDENT +.sp +where the details are not necessary. +:return: Will return if the configuration of the device was updated. +.sp +Input example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +probes = { + \(aqexisting_probe\(aq:{ + \(aqexisting_test1\(aq: {}, + \(aqexisting_test2\(aq: {} + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_probes.results() +Provides the results of the measurements of the RPM/SLA probes. +.sp +:return a dictionary with the results of the probes. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq probes.results +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Output example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{ + \(aqprobe1\(aq: { + \(aqtest1\(aq: { + \(aqlast_test_min_delay\(aq : 63.120, + \(aqglobal_test_min_delay\(aq : 62.912, + \(aqcurrent_test_avg_delay\(aq: 63.190, + \(aqglobal_test_max_delay\(aq : 177.349, + \(aqcurrent_test_max_delay\(aq: 63.302, + \(aqglobal_test_avg_delay\(aq : 63.802, + \(aqlast_test_avg_delay\(aq : 63.438, + \(aqlast_test_max_delay\(aq : 65.356, + \(aqprobe_type\(aq : \(aqicmp\-ping\(aq, + \(aqrtt\(aq : 63.138, + \(aqlast_test_loss\(aq : 0, + \(aqround_trip_jitter\(aq : \-59.0, + \(aqtarget\(aq : \(aq192.168.0.1\(aq, + \(aqsource\(aq : \(aq192.168.0.2\(aq + \(aqprobe_count\(aq : 15, + \(aqcurrent_test_min_delay\(aq: 63.138 + }, + \(aqtest2\(aq: { + \(aqlast_test_min_delay\(aq : 176.384, + \(aqglobal_test_min_delay\(aq : 169.226, + \(aqcurrent_test_avg_delay\(aq: 177.098, + \(aqglobal_test_max_delay\(aq : 292.628, + \(aqcurrent_test_max_delay\(aq: 180.055, + \(aqglobal_test_avg_delay\(aq : 177.959, + \(aqlast_test_avg_delay\(aq : 177.178, + \(aqlast_test_max_delay\(aq : 184.671, + \(aqprobe_type\(aq : \(aqicmp\-ping\(aq, + \(aqrtt\(aq : 176.449, + \(aqlast_test_loss\(aq : 0, + \(aqround_trip_jitter\(aq : \-34.0, + \(aqtarget\(aq : \(aq172.17.17.1\(aq, + \(aqsource\(aq : \(aq172.17.17.2\(aq + \(aqprobe_count\(aq : 15, + \(aqcurrent_test_min_delay\(aq: 176.402 + } + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_probes.schedule_probes(probes) +Will schedule the probes. On Cisco devices, it is not enough to define the probes, it is also necessary +to schedule them. +This method calls the configuration template \(aqschedule_probes\(aq from the NAPALM library, +providing as input a rich formatted dictionary with the names of the probes and the tests to be scheduled. +.INDENT 7.0 +.TP +.B Parameters +\fBprobes\fP \-\- Dictionary with a similar format as the output dictionary of the function config(), +.UNINDENT +.sp +where the details are not necessary. +:return: Will return if the configuration of the device was updated. +.sp +Input example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +probes = { + \(aqnew_probe\(aq:{ + \(aqnew_test1\(aq: {}, + \(aqnew_test2\(aq: {} + } +} +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.napalm_probes.set_probes(probes) +Configures RPM/SLA probes on the device. +Calls the configuration template \(aqset_probes\(aq from the NAPALM library, +providing as input a rich formatted dictionary with the configuration details of the probes to be configured. +.INDENT 7.0 +.TP +.B Parameters +\fBprobes\fP \-\- Dictionary formatted as the output of the function config(): +.TP +.B Returns +Will return if the configuration of the device was updated. +.UNINDENT +.sp +Input example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +probes = { + \(aqnew_probe\(aq:{ + \(aqnew_test1\(aq: { + \(aqprobe_type\(aq : \(aqicmp\-ping\(aq, + \(aqtarget\(aq : \(aq192.168.0.1\(aq, + \(aqsource\(aq : \(aq192.168.0.2\(aq, + \(aqprobe_count\(aq : 13, + \(aqtest_interval\(aq: 3 + }, + \(aqnew_test2\(aq: { + \(aqprobe_type\(aq : \(aqhttp\-ping\(aq, + \(aqtarget\(aq : \(aq172.17.17.1\(aq, + \(aqsource\(aq : \(aq192.17.17.2\(aq, + \(aqprobe_count\(aq : 5, + \(aqtest_interval\(aq: 60 + } + } +} +set_probes(probes) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.netaddress .sp Module for getting information about network addresses. @@ -133697,6 +144184,11 @@ netaddr .UNINDENT .INDENT 0.0 .TP +.B salt.modules.netaddress.__virtual__() +Only load if netaddr library exist. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.netaddress.cidr_broadcast(cidr) Get the broadcast address associated with a CIDR address. .sp @@ -133768,6 +144260,11 @@ salt myminion netaddress.list_cidr_ips_ipv6 192.168.0.0/20 Module for viewing and modifying sysctl parameters .INDENT 0.0 .TP +.B salt.modules.netbsd_sysctl.__virtual__() +Only run on NetBSD systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.netbsd_sysctl.assign(name, value) Assign a single sysctl parameter for this minion .sp @@ -133848,6 +144345,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.netbsdservice.__virtual__() +Only work on NetBSD +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.netbsdservice.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. @@ -134179,6 +144681,11 @@ salt\-call netscaler.server_enable server_name2 netscaler_host=1.2.3.5 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.netscaler.__virtual__() +Only load this module if the nsnitro library is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.netscaler.server_add(s_name, s_ip, s_state=None, **connection_args) Add a server Note: The default server state is ENABLED @@ -134682,6 +145189,11 @@ salt \(aq*\(aq netscaler.vserver_sslcert_exists \(aqvserverName\(aq \(aqsslCerti Module for gathering and managing network information .INDENT 0.0 .TP +.B salt.modules.network.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.network.active_tcp() Return a dict containing information on all of the running TCP connections (currently linux and solaris only) .sp @@ -134926,6 +145438,23 @@ salt \(aq*\(aq network.hw_addr eth0 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.network.ifacestartswith(cidr) +Retrieve the interface name from a specific CIDR +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq network.ifacestartswith 10.0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.network.in_subnet(cidr) Returns True if host is within specified subnet, otherwise False. .sp @@ -135113,6 +145642,23 @@ salt \(aq*\(aq network.ip_addrs6 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.network.iphexval(ip) +Retrieve the interface name from a specific CIDR +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq network.iphexval 10.0.0.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.network.is_loopback(ip_addr) Check if the given IP address is a loopback address .sp @@ -135461,6 +146007,12 @@ salt \(aq*\(aq neutron.network_list profile=openstack1 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.neutron.__virtual__() +Only load this module if neutron +is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.neutron.add_gateway_router(router, ext_network, profile=None) Adds an external network gateway to the specified router .sp @@ -137717,6 +148269,11 @@ Value of updated VPN service information Module for managing NFS version 3. .INDENT 0.0 .TP +.B salt.modules.nfs3.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.nfs3.del_export(exports=\(aq/etc/exports\(aq, path=None) Remove an export .sp @@ -137754,6 +148311,11 @@ salt \(aq*\(aq nfs.list_exports Support for nftables .INDENT 0.0 .TP +.B salt.modules.nftables.__virtual__() +Only load the module if nftables is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.nftables.append(table=\(aqfilter\(aq, chain=None, rule=None, family=\(aqipv4\(aq) Append a rule to the specified table & chain. .INDENT 7.0 @@ -138200,6 +148762,11 @@ salt \(aq*\(aq nftables.version Support for nginx .INDENT 0.0 .TP +.B salt.modules.nginx.__virtual__() +Only load the module if nginx is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.nginx.build_info() Return server and build arguments .sp @@ -138289,185 +148856,6 @@ salt \(aq*\(aq nginx.version .UNINDENT .UNINDENT .UNINDENT -.SS salt.modules.node -.sp -Module for full system inspection. -.INDENT 0.0 -.TP -.B salt.modules.node.build(format=\(aqqcow2\(aq, path=\(aq/tmp/\(aq) -Build an image from a current system description. -The image is a system image can be output in bootable ISO or QCOW2 formats. -.sp -Node uses the image building library Kiwi to perform the actual build. -.sp -Parameters: -.INDENT 7.0 -.IP \(bu 2 -\fBformat\fP: Specifies output format: "qcow2" or "iso. Default: \fIqcow2\fP\&. -.IP \(bu 2 -\fBpath\fP: Specifies output path where to store built image. Default: \fI/tmp\fP\&. -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt myminion node.build -salt myminion node.build format=iso path=/opt/builds/ -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.node.export(local=False, path=\(aq/tmp\(aq, format=\(aqqcow2\(aq) -Export an image description for Kiwi. -.sp -Parameters: -.INDENT 7.0 -.IP \(bu 2 -\fBlocal\fP: Specifies True or False if the export has to be in the local file. Default: False. -.IP \(bu 2 -.INDENT 2.0 -.TP -.B \fBpath\fP: If \fIlocal=True\fP, then specifies the path where file with the Kiwi description is written. -Default: \fI/tmp\fP\&. -.UNINDENT -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt myminion node.export -salt myminion node.export format=iso path=/opt/builds/ -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.node.inspect(mode=\(aqall\(aq, priority=19, **kwargs) -Start node inspection and save the data to the database for further query. -.sp -Parameters: -.INDENT 7.0 -.IP \(bu 2 -\fBmode\fP: Clarify inspection mode: configuration, payload, all (default) -.INDENT 2.0 -.TP -.B payload -.INDENT 7.0 -.IP \(bu 2 -\fBfilter\fP: Comma\-separated directories to track payload. -.UNINDENT -.UNINDENT -.IP \(bu 2 -\fBpriority\fP: (advanced) Set priority of the inspection. Default is low priority. -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq node.inspect -salt \(aq*\(aq node.inspect configuration -salt \(aq*\(aq node.inspect payload filter=/opt,/ext/oracle -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.node.query(scope, **kwargs) -Query the node for specific information. -.sp -Parameters: -.INDENT 7.0 -.IP \(bu 2 -\fBscope\fP: Specify scope of the query. -.INDENT 2.0 -.INDENT 3.5 -.INDENT 0.0 -.IP \(bu 2 -\fBSystem\fP: Return system data. -.IP \(bu 2 -\fBSoftware\fP: Return software information. -.IP \(bu 2 -\fBServices\fP: Return known services. -.IP \(bu 2 -.INDENT 2.0 -.TP -.B \fBIdentity\fP: Return user accounts information for this system. -.INDENT 7.0 -.TP -.B accounts -Can be either \(aqlocal\(aq, \(aqremote\(aq or \(aqall\(aq (equal to "local,remote"). -Remote accounts cannot be resolved on all systems, but only -those, which supports \(aqpasswd \-S \-a\(aq. -.TP -.B disabled -True (or False, default) to return only disabled accounts. -.UNINDENT -.UNINDENT -.IP \(bu 2 -.INDENT 2.0 -.TP -.B \fBpayload\fP: Payload scope parameters: -.INDENT 7.0 -.TP -.B filter -Include only results which path starts from the filter string. -.TP -.B time -Display time in Unix ticks or format according to the configured TZ (default) -Values: ticks, tz (default) -.TP -.B size -Format size. Values: B, KB, MB, GB -.TP -.B type -Include payload type. -Values (comma\-separated): directory (or dir), link, file (default) -Example (returns everything): type=directory,link,file -.TP -.B owners -Resolve UID/GID to an actual names or leave them numeric (default). -Values: name (default), id -.TP -.B brief -Return just a list of payload elements, if True. Default: False. -.UNINDENT -.UNINDENT -.IP \(bu 2 -\fBall\fP: Return all information (default). -.UNINDENT -.UNINDENT -.UNINDENT -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq node.query scope=os -salt \(aq*\(aq node.query payload type=file,link filter=/etc size=Kb brief=False -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT .SS salt.modules.nova .sp Module for handling OpenStack Nova calls @@ -138493,7 +148881,7 @@ keystone.password: verybadpass keystone.tenant: admin keystone.auth_url: \(aqhttp://127.0.0.1:5000/v2.0/\(aq # Optional -keystone.region_name: \(aqregionOne\(aq +keystone.region_name: \(aqRegionOne\(aq .ft P .fi .UNINDENT @@ -138539,6 +148927,12 @@ salt \(aq*\(aq nova.flavor_list profile=openstack1 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.nova.__virtual__() +Only load this module if nova +is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.nova.boot(name, flavor_id=0, image_id=0, profile=None, timeout=300) Boot (create) a new instance .INDENT 7.0 @@ -139185,6 +149579,102 @@ salt \(aq*\(aq nova.volume_show myblock profile=openstack Manage and query NPM packages. .INDENT 0.0 .TP +.B salt.modules.npm.__virtual__() +Only work when npm is installed. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.npm.cache_clean(path=None, runas=None, env=None) +Clean cached NPM packages. +.sp +If no path for a specific package is provided the entire cache will be cleared. +.INDENT 7.0 +.TP +.B path +The cache subpath to delete, or None to clear the entire cache +.TP +.B runas +The user to run NPM with +.TP +.B env +Environment variables to set when invoking npm. Uses the same \fBenv\fP +format as the \fBcmd.run\fP execution +function. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq npm.cache_clean +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.npm.cache_list(path=None, runas=None, env=None) +List NPM cached packages. +.sp +If no path for a specific package is provided this will list all the cached packages. +.INDENT 7.0 +.TP +.B path +The cache subpath to list, or None to list the entire cache +.TP +.B runas +The user to run NPM with +.TP +.B env +Environment variables to set when invoking npm. Uses the same \fBenv\fP +format as the \fBcmd.run\fP execution +function. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq npm.cache_clean +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.npm.cache_path(runas=None, env=None) +List path of the NPM cache directory. +.INDENT 7.0 +.TP +.B runas +The user to run NPM with +.TP +.B env +Environment variables to set when invoking npm. Uses the same \fBenv\fP +format as the \fBcmd.run\fP execution +function. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq npm.cache_path +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.npm.install(pkg=None, pkgs=None, dir=None, runas=None, registry=None, env=None, dry_run=False, silent=True) Install an NPM package. .sp @@ -139355,6 +149845,11 @@ Minions running systemd >= 219 will place new containers in \fB/var/lib/container\fP\&. .INDENT 0.0 .TP +.B salt.modules.nspawn.__virtual__() +Only work on systems that have been booted with systemd +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.nspawn.bootstrap_container(name, dist=None, version=None) Bootstrap a container from package servers, if dist is None the os the minion is running as will be created, otherwise the needed bootstrapping @@ -140166,6 +150661,63 @@ salt myminion nspawn.stop arch1 kill=True .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.nxos module +.sp +Execution module for Cisco NX OS Switches Proxy minions +.sp +New in version 2016.11.0. + +.sp +For documentation on setting up the nxos proxy minion look in the documentation +for \fBsalt.proxy.nxos\fP\&. +.INDENT 0.0 +.TP +.B salt.modules.nxos.cmd(command, *args, **kwargs) +run commands from __proxy__ +\fBsalt.proxy.nxos\fP +.INDENT 7.0 +.TP +.B command +function from \fIsalt.proxy.nxos\fP to run +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +\fBargs to pass to command function\fP (\fIpositional\fP) \-\- +.UNINDENT +.INDENT 7.0 +.TP +.B kwargs +key word arguments to pass to \fIcommand\fP function +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd sendline \(aqshow ver\(aq +salt \(aq*\(aq nxos.cmd show_run +salt \(aq*\(aq nxos.cmd check_password username=admin password=\(aq$5$lkjsdfoi$blahblahblah\(aq encrypted=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.nxos.system_info() +Return system information for grains of the NX OS proxy minion +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.system_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.omapi .sp This module interacts with an ISC DHCP Server via OMAPI. @@ -140189,6 +150741,11 @@ pypureomapi Python module .UNINDENT .INDENT 0.0 .TP +.B salt.modules.omapi.__virtual__() +Confirm pypureomapi is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.omapi.add_host(mac, name=None, ip=None, ddns=False, group=None, supersede_host=False) Add a host object for the given mac. .sp @@ -140239,6 +150796,11 @@ salt dhcp\-server omapi.delete_host mac=ab:ab:ab:ab:ab:ab Module for viewing and modifying OpenBSD sysctl parameters .INDENT 0.0 .TP +.B salt.modules.openbsd_sysctl.__virtual__() +Only run on OpenBSD systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.openbsd_sysctl.assign(name, value) Assign a single sysctl parameter for this minion .sp @@ -140319,6 +150881,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.openbsdpkg.__virtual__() +Set the virtual pkg module if the os is OpenBSD +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.openbsdpkg.install(name=None, pkgs=None, sources=None, **kwargs) Install the passed package .sp @@ -140510,6 +151077,11 @@ salt \(aq*\(aq pkg.version ... The rcctl service module for OpenBSD .INDENT 0.0 .TP +.B salt.modules.openbsdrcctl.__virtual__() +rcctl(8) is only available on OpenBSD. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.openbsdrcctl.available(name) Return True if the named service is available. .sp @@ -140778,6 +151350,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.openbsdservice.__virtual__() +Only work on OpenBSD +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.openbsdservice.available(name) New in version 2014.7.0. @@ -141123,15 +151700,24 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.modules.openvswitch.__virtual__() +Only load the module if Open vSwitch is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.openvswitch.bridge_create(br, may_exist=True) Creates a new bridge. .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name -may_exist: Bool, if False \- attempting to create a bridge that exists returns False. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name +.IP \(bu 2 +\fBmay_exist\fP \-\- Bool, if False \- attempting to create a bridge that exists returns False. +.UNINDENT .TP -.B Returns: +.B Returns True on success, else False. .UNINDENT .sp @@ -141152,11 +151738,15 @@ salt \(aq*\(aq openvswitch.bridge_create br0 Deletes bridge and all of its ports. .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name -if_exists: Bool, if False \- attempting to delete a bridge that does not exist returns False. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name +.IP \(bu 2 +\fBif_exists\fP \-\- Bool, if False \- attempting to delete a bridge that does not exist returns False. +.UNINDENT .TP -.B Returns: +.B Returns True on success, else False. .UNINDENT .sp @@ -141177,7 +151767,7 @@ salt \(aq*\(aq openvswitch.bridge_delete br0 Tests whether bridge exists as a real or fake bridge. .INDENT 7.0 .TP -.B Returns: +.B Returns True if Bridge exists, else False. .UNINDENT .sp @@ -141198,7 +151788,7 @@ salt \(aq*\(aq openvswitch.bridge_exists br0 Lists all existing real and fake bridges. .INDENT 7.0 .TP -.B Returns: +.B Returns List of bridges (or empty list), False on failure. .UNINDENT .sp @@ -141219,10 +151809,10 @@ salt \(aq*\(aq openvswitch.bridge_list Port\(aqs interface\(aqs optional parameters. .INDENT 7.0 .TP -.B Args: -port: A string \- port name. +.B Parameters +\fBport\fP \-\- A string \- port name. .TP -.B Returns: +.B Returns String containing optional parameters of port\(aqs interface, False on failure. .UNINDENT .sp @@ -141243,10 +151833,10 @@ salt \(aq*\(aq openvswitch.interface_get_options tap0 Type of port\(aqs interface. .INDENT 7.0 .TP -.B Args: -port: A string \- port name. +.B Parameters +\fBport\fP \-\- A string \- port name. .TP -.B Returns: +.B Returns String \- type of interface or empty string, False on failure. .UNINDENT .sp @@ -141267,13 +151857,18 @@ salt \(aq*\(aq openvswitch.interface_get_type tap0 Creates on bridge a new port named port. .INDENT 7.0 .TP -.B Returns: +.B Returns True on success, else False. .TP -.B Args: -br: A string \- bridge name -port: A string \- port name -may_exist: Bool, if False \- attempting to create a port that exists returns False. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name +.IP \(bu 2 +\fBport\fP \-\- A string \- port name +.IP \(bu 2 +\fBmay_exist\fP \-\- Bool, if False \- attempting to create a port that exists returns False. +.UNINDENT .UNINDENT .sp New in version 2016.3.0. @@ -141293,13 +151888,19 @@ salt \(aq*\(aq openvswitch.port_add br0 8080 Generic Routing Encapsulation \- creates GRE tunnel between endpoints. .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name. -port: A string \- port name. -id: An integer \- unsigned 32\-bit number, tunnel\(aqs key. -remote: A string \- remote endpoint\(aqs IP address. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name. +.IP \(bu 2 +\fBport\fP \-\- A string \- port name. +.IP \(bu 2 +\fBid\fP \-\- An integer \- unsigned 32\-bit number, tunnel\(aqs key. +.IP \(bu 2 +\fBremote\fP \-\- A string \- remote endpoint\(aqs IP address. +.UNINDENT .TP -.B Returns: +.B Returns True on success, else False. .UNINDENT .sp @@ -141320,12 +151921,17 @@ salt \(aq*\(aq openvswitch.port_create_gre br0 gre1 5001 192.168.1.10 Isolate VM traffic using VLANs. .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name. -port: A string \- port name. -id: An integer in the valid range 0 to 4095 (inclusive), name of VLAN. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name. +.IP \(bu 2 +\fBport\fP \-\- A string \- port name. +.IP \(bu 2 +\fBid\fP \-\- An integer in the valid range 0 to 4095 (inclusive), name of VLAN. +.UNINDENT .TP -.B Returns: +.B Returns True on success, else False. .UNINDENT .sp @@ -141346,14 +151952,21 @@ salt \(aq*\(aq openvswitch.port_create_vlan br0 tap0 100 Virtual eXtensible Local Area Network \- creates VXLAN tunnel between endpoints. .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name. -port: A string \- port name. -id: An integer \- unsigned 64\-bit number, tunnel\(aqs key. -remote: A string \- remote endpoint\(aqs IP address. -dst_port: An integer \- port to use when creating tunnelport in the switch. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name. +.IP \(bu 2 +\fBport\fP \-\- A string \- port name. +.IP \(bu 2 +\fBid\fP \-\- An integer \- unsigned 64\-bit number, tunnel\(aqs key. +.IP \(bu 2 +\fBremote\fP \-\- A string \- remote endpoint\(aqs IP address. +.IP \(bu 2 +\fBdst_port\fP \-\- An integer \- port to use when creating tunnelport in the switch. +.UNINDENT .TP -.B Returns: +.B Returns True on success, else False. .UNINDENT .sp @@ -141374,10 +151987,10 @@ salt \(aq*\(aq openvswitch.port_create_vxlan br0 vx1 5001 192.168.1.10 8472 Lists tags of the port. .INDENT 7.0 .TP -.B Args: -port: A string \- port name. +.B Parameters +\fBport\fP \-\- A string \- port name. .TP -.B Returns: +.B Returns List of tags (or empty list), False on failure. .UNINDENT .sp @@ -141398,10 +152011,10 @@ salt \(aq*\(aq openvswitch.port_get_tag tap0 Lists all of the ports within bridge. .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name. +.B Parameters +\fBbr\fP \-\- A string \- bridge name. .TP -.B Returns: +.B Returns List of bridges (or empty list), False on failure. .UNINDENT .sp @@ -141426,12 +152039,17 @@ Deletes port. .UNINDENT .INDENT 7.0 .TP -.B Args: -br: A string \- bridge name (If bridge is None, port is removed from whatever bridge contains it) -port: A string \- port name. -if_exists: Bool, if False \- attempting to delete a por that does not exist returns False. (Default True) +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBbr\fP \-\- A string \- bridge name (If bridge is None, port is removed from whatever bridge contains it) +.IP \(bu 2 +\fBport\fP \-\- A string \- port name. +.IP \(bu 2 +\fBif_exists\fP \-\- Bool, if False \- attempting to delete a por that does not exist returns False. (Default True) +.UNINDENT .TP -.B Returns: +.B Returns True on success, else False. .UNINDENT .sp @@ -141468,6 +152086,11 @@ installed. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.opkg.__virtual__() +Confirm this module is on a nilrt based system +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.opkg.available_version(*names, **kwargs) Return the latest version of the named package available for upgrade or installation. If more than one package name is specified, a dict of @@ -141983,14 +152606,16 @@ salt \(aq*\(aq pkg.unhold pkgs=\(aq["foo", "bar"]\(aq .B salt.modules.opkg.upgrade(refresh=True) Upgrades all packages via \fBopkg upgrade\fP .sp -Returns a dict containing the changes. +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 -.INDENT 0.0 -.TP -.B {\(aq\(aq: {\(aqold\(aq: \(aq\(aq, -\(aqnew\(aq: \(aq\(aq}} -.UNINDENT +.sp +.nf +.ft C +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} +.ft P +.fi .UNINDENT .UNINDENT .sp @@ -142120,6 +152745,11 @@ oracle.dbs..uri: connection credentials in format: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.oracle.__virtual__() +Load module only if cx_Oracle installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.oracle.client_version() Oracle Client Version .sp @@ -143458,6 +154088,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pacman.__virtual__() +Set the virtual pkg module if the os is Arch +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pacman.file_dict(*packages) List the files that belong to a package, grouped by package. Not specifying any packages will return a list of _every_ file on the system\(aqs @@ -143500,8 +154135,71 @@ salt \(aq*\(aq pkg.file_list .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pacman.group_diff(name) +New in version 2016.11.0. + +.sp +Lists which of a group\(aqs packages are installed and which are not +installed +.sp +Compatible with yumpkg.group_diff for easy support of state.pkg.group_installed +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.group_diff \(aqxorg\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pacman.group_info(name) +New in version 2016.11.0. + +.sp +Lists all packages in the specified group +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.group_info \(aqxorg\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pacman.group_list() +New in version 2016.11.0. + +.sp +Lists all groups known by pacman on this system +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pkg.group_list +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pacman.install(name=None, refresh=False, sysupgrade=False, pkgs=None, sources=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any pacman commands spawned by Salt when the @@ -143688,7 +154386,7 @@ salt \(aq*\(aq pkg.owner /usr/bin/apachectl /usr/bin/zsh .INDENT 0.0 .TP .B salt.modules.pacman.purge(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any pacman commands spawned by Salt when the @@ -143763,7 +154461,7 @@ salt \(aq*\(aq pkg.refresh_db .INDENT 0.0 .TP .B salt.modules.pacman.remove(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any pacman commands spawned by Salt when the @@ -143810,7 +154508,7 @@ salt \(aq*\(aq pkg.remove pkgs=\(aq["foo", "bar"]\(aq .INDENT 0.0 .TP .B salt.modules.pacman.upgrade(refresh=False, root=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any pacman commands spawned by Salt when the @@ -143827,14 +154525,14 @@ Run a full system upgrade, a pacman \-Syu Whether or not to refresh the package database before installing. .UNINDENT .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -143918,6 +154616,11 @@ my\-pagerduty\-account: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pagerduty.__virtual__() +No dependencies outside of what Salt itself requires +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pagerduty.create_event(service_key=None, description=None, details=None, incident_key=None, profile=None) Create an event in PagerDuty. Designed for use in states. .sp @@ -144088,6 +154791,11 @@ pagerduty: For PagerDuty API details, see \fI\%https://developer.pagerduty.com/documentation/rest\fP .INDENT 0.0 .TP +.B salt.modules.pagerduty_util.__virtual__() +No dependencies outside of what Salt itself requires +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pagerduty_util.create_or_update_resource(resource_name, identifier_fields, data, diff=None, profile=\(aqpagerduty\(aq, subdomain=None, api_key=None) create or update any pagerduty resource Helper method for present(). @@ -144097,25 +154805,21 @@ The diff function will be invoked as diff(state_information, object_returned_fro should return a dict of data to pass to the PagerDuty update API method, or None if no update is to be performed. If no diff method is provided, the default behavor is to scan the keys in the state_information, comparing the matching values in the object_returned_from_pagerduty, and update any values that differ. -.INDENT 7.0 -.TP -.B examples: +examples +.sp create_or_update_resource("user", ["id","name","email"]) create_or_update_resource("escalation_policies", ["id","name"], diff=my_diff_function) .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.modules.pagerduty_util.delete_resource(resource_name, key, identifier_fields, profile=\(aqpagerduty\(aq, subdomain=None, api_key=None) delete any pagerduty resource .sp Helper method for absent() -.INDENT 7.0 -.TP -.B example: +example +.sp delete_resource("users", key, ["id","name","email"]) # delete by id or name or email .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.modules.pagerduty_util.get_escalation_policies(profile=\(aqpagerduty\(aq, subdomain=None, api_key=None) @@ -144193,12 +154897,10 @@ Generic resource.absent state method. Pagerduty state modules should be a thin with a custom diff function. .sp This method calls delete_resource() and formats the result as a salt state return value. -.INDENT 7.0 -.TP -.B example: +example +.sp resource_absent("users", ["id","name","email"]) .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.modules.pagerduty_util.resource_present(resource, identifier_fields, diff=None, profile=\(aqpagerduty\(aq, subdomain=None, api_key=None, **kwargs) @@ -144206,17 +154908,20 @@ Generic resource.present state method. Pagerduty state modules should be a thi with a custom diff function. .sp This method calls create_or_update_resource() and formats the result as a salt state return value. -.INDENT 7.0 -.TP -.B example: +example +.sp resource_present("users", ["id","name","email"]) .UNINDENT -.UNINDENT .SS salt.modules.pam .sp Support for pam .INDENT 0.0 .TP +.B salt.modules.pam.__virtual__() +Set the virtual name for the module +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pam.read_file(file_name) This is just a test function, to make sure parsing works .sp @@ -144232,6 +154937,632 @@ salt \(aq*\(aq pam.read_file /etc/pam.d/login .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.parallels module +.sp +Manage Parallels Desktop VMs with \fBprlctl\fP and \fBprlsrvctl\fP\&. Only some of +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 +What has not been implemented yet can be accessed through \fBparallels.prlctl\fP +and \fBparallels.prlsrvctl\fP (note the preceeding double dash \fB\-\-\fP as +necessary): +.sp +New in version 2016.3.0. + +.INDENT 0.0 +.TP +.B salt.modules.parallels.__virtual__() +Load this module if prlctl is available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.clone(name, new_name, linked=False, template=False, runas=None) +Clone a VM +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to clone +.IP \(bu 2 +\fBnew_name\fP (\fI\%str\fP) \-\- Name of the new VM +.IP \(bu 2 +\fBlinked\fP (\fI\%bool\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. +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.clone macvm macvm_new runas=macdev +salt \(aq*\(aq parallels.clone macvm macvm_templ template=True runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.delete(name, runas=None) +Delete a VM +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.exec macvm \(aqfind /etc/paths.d\(aq runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.delete_snapshot(name, snap_name, runas=None, all=False) +Delete a snapshot +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Deleting a snapshot from which other snapshots are dervied will not +delete the derived snapshots +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.IP \(bu 2 +\fBall\fP (\fI\%bool\fP) \-\- +.sp +Delete all snapshots having the name given +.sp +New in version 2016.11.0. + + +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.delete_snapshot macvm \(aqunneeded snapshot\(aq runas=macdev +salt \(aq*\(aq parallels.delete_snapshot macvm \(aqSnapshot for linked clone\(aq all=True runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.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 +.IP \(bu 2 +\fBcommand\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.exec macvm \(aqfind /etc/paths.d\(aq runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.exists(name, runas=None) +Query whether a VM exists +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.exists macvm runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.list_snapshots(name, snap_name=None, tree=False, names=False, runas=None) +List the snapshots +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +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 +.IP \(bu 2 +\fBnames\fP (\fI\%bool\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.list_snapshots macvm runas=macdev +salt \(aq*\(aq parallels.list_snapshots macvm tree=True runas=macdev +salt \(aq*\(aq parallels.list_snapshots macvm snap_name=original runas=macdev +salt \(aq*\(aq parallels.list_snapshots macvm names=True runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.list_vms(name=None, info=False, all=False, args=None, runas=None, template=False) +List information about the VMs +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- +.sp +Name/ID of VM to list +.sp +Changed in version 2016.11.0: No longer implies \fBinfo=True\fP + + +.IP \(bu 2 +\fBinfo\fP (\fI\%str\fP) \-\- List extra information +.IP \(bu 2 +\fBall\fP (\fI\%bool\fP) \-\- List all non\-template VMs +.IP \(bu 2 +\fBargs\fP (\fI\%tuple\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 +.IP \(bu 2 +\fBtemplate\fP (\fI\%bool\fP) \-\- +.sp +List the available virtual machine templates. The real virtual +machines will not be included in the output +.sp +New in version 2016.11.0. + + +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.list_vms runas=macdev +salt \(aq*\(aq parallels.list_vms name=macvm info=True runas=macdev +salt \(aq*\(aq parallels.list_vms info=True runas=macdev +salt \(aq*\(aq parallels.list_vms \(aq \-o uuid,status\(aq all=True runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.prlctl(sub_cmd, args=None, runas=None) +Execute a prlctl command +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsub_cmd\fP (\fI\%str\fP) \-\- prlctl subcommand to execute +.IP \(bu 2 +\fBargs\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.prlctl user list runas=macdev +salt \(aq*\(aq parallels.prlctl exec \(aqmacvm uname\(aq runas=macdev +salt \-\- \(aq*\(aq parallels.prlctl capture \(aqmacvm \-\-file macvm.display.png\(aq runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.prlsrvctl(sub_cmd, args=None, runas=None) +Execute a prlsrvctl command +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsub_cmd\fP (\fI\%str\fP) \-\- prlsrvctl subcommand to execute +.IP \(bu 2 +\fBargs\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.prlsrvctl info runas=macdev +salt \(aq*\(aq parallels.prlsrvctl usb list runas=macdev +salt \-\- \(aq*\(aq parallels.prlsrvctl set \(aq\-\-mem\-limit auto\(aq runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.reset(name, runas=None) +Reset a VM by performing a hard shutdown and then a restart +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.reset macvm runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.restart(name, runas=None) +Restart a VM by gracefully shutting it down and then restarting +it +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.restart macvm runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.revert_snapshot(name, snap_name, runas=None) +Revert a VM to a snapshot +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.revert_snapshot macvm base\-with\-updates runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.snapshot(name, snap_name=None, desc=None, runas=None) +Create a snapshot +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to take a snapshot of +.IP \(bu 2 +\fBsnap_name\fP (\fI\%str\fP) \-\- Name of snapshot +.IP \(bu 2 +\fBdesc\fP (\fI\%str\fP) \-\- Description of snapshot +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.create_snapshot macvm snap_name=macvm\-original runas=macdev +salt \(aq*\(aq parallels.create_snapshot macvm snap_name=macvm\-updates desc=\(aqclean install with updates\(aq runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.snapshot_id_to_name(name, snap_id, strict=False, runas=None) +Attempt to convert a snapshot ID to a snapshot name. If the snapshot has +no name or if the ID is not found or invalid, an empty string will be returned +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose snapshots are inspected +.IP \(bu 2 +\fBsnap_id\fP (\fI\%str\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 +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.UNINDENT +.UNINDENT +.sp +Example data +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +ID: {a5b8999f\-5d95\-4aff\-82de\-e515b0101b66} +Name: original +Date: 2016\-03\-04 10:50:34 +Current: yes +State: poweroff +Description: original state +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.snapshot_id_to_name macvm a5b8999f\-5d95\-4aff\-82de\-e515b0101b66 runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.snapshot_name_to_id(name, snap_name, strict=False, runas=None) +Attempt to convert a snapshot name to a snapshot ID. If the name is not +found an empty string is returned. If multiple snapshots share the same +name, a list will be returned +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM whose snapshots are inspected +.IP \(bu 2 +\fBsnap_name\fP (\fI\%str\fP) \-\- Name of the snapshot +.IP \(bu 2 +\fBstrict\fP (\fI\%bool\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 +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.snapshot_id_to_name macvm original runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.start(name, runas=None) +Start a VM +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.start macvm runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.status(name, runas=None) +Status of a VM +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\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 +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.status macvm runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.parallels.stop(name, kill=False, runas=None) +Stop a VM +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Name/ID of VM to stop +.IP \(bu 2 +\fBkill\fP (\fI\%bool\fP) \-\- Perform a hard shutdown +.IP \(bu 2 +\fBrunas\fP (\fI\%str\fP) \-\- The user that the prlctl command will be run as +.UNINDENT +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq parallels.stop macvm runas=macdev +salt \(aq*\(aq parallels.stop macvm kill=True runas=macdev +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.parted .sp Module for managing partitions on POSIX\-like systems. @@ -144256,6 +155587,12 @@ has been written to utilize sfdisk instead. For further information, please reference the man page for \fBsfdisk(8)\fP\&. .INDENT 0.0 .TP +.B salt.modules.parted.__virtual__() +Only work on POSIX\-like systems, which have parted and lsblk installed. +These are usually provided by the \fBparted\fP and \fButil\-linux\fP packages. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.parted.align_check(device, part_type, partition) Check if partition satisfies the alignment constraint of part_type. Type must be "minimal" or "optimal". @@ -144671,6 +156008,467 @@ salt \(aq*\(aq partition.toggle /dev/sda 1 boot .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.pcs module +.SS Configure a Pacemaker/Corosync cluster with PCS +.sp +Configure Pacemaker/Cororsync clusters with the +Pacemaker/Cororsync conifguration system (PCS) +.INDENT 0.0 +.TP +.B depends +pcs +.UNINDENT +.sp +New in version 2016.3.0. + +.INDENT 0.0 +.TP +.B salt.modules.pcs.__virtual__() +Only load if pcs package is installed +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.auth(nodes, pcsuser=\(aqhacluster\(aq, pcspasswd=\(aqhacluster\(aq, extra_args=None) +Authorize nodes to the cluster +.INDENT 7.0 +.TP +.B nodes +a list of nodes which should be authorized to the cluster +.TP +.B pcsuser +user for communitcation with PCS (default: hacluster) +.TP +.B pcspasswd +password for pcsuser (default: hacluster) +.TP +.B extra_args +list of extra option for the \(aqpcs cluster auth\(aq command +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.auth nodes=\(aq[ node1.example.org node2.example.org ]\(aq \e + pcsuser=\(aqhacluster\(aq \e + pcspasswd=\(aqhoonetorg\(aq \e + extra_args=[ \(aq\-\-force\(aq ] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.cib_create(cibfile, scope=\(aqconfiguration\(aq, extra_args=None) +Create a CIB\-file from the current CIB of the cluster +.INDENT 7.0 +.TP +.B cibfile +name/path of the file containing the CIB +.TP +.B scope +specific section of the CIB (default: configuration) +.TP +.B extra_args +additional options for creating the CIB\-file +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.cib_create cibfile=\(aq/tmp/VIP_apache_1.cib\(aq \e + \(aqscope=False\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.cib_push(cibfile, scope=\(aqconfiguration\(aq, extra_args=None) +Push a CIB\-file as the new CIB to the cluster +.INDENT 7.0 +.TP +.B cibfile +name/path of the file containing the CIB +.TP +.B scope +specific section of the CIB (default: configuration) +.TP +.B extra_args +additional options for creating the CIB\-file +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.cib_push cibfile=\(aq/tmp/VIP_apache_1.cib\(aq \e + \(aqscope=False\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.cluster_node_add(node, extra_args=None) +Add a node to the pacemaker cluster via pcs command +.INDENT 7.0 +.TP +.B node +node that should be added +.TP +.B extra_args +list of extra option for the \(aqpcs cluster node add\(aq command +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.cluster_node_add node=node2.example.org\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.cluster_setup(nodes, pcsclustername=\(aqpcscluster\(aq, extra_args=None) +Setup pacemaker cluster via pcs command +.INDENT 7.0 +.TP +.B nodes +a list of nodes which should be set up +.TP +.B pcsclustername +Name of the Pacemaker cluster (default: pcscluster) +.TP +.B extra_args +list of extra option for the \(aqpcs cluster setup\(aq command +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.cluster_setup nodes=\(aq[ node1.example.org node2.example.org ]\(aq \e + pcsclustername=\(aqpcscluster\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.config_show(cibfile=None) +Show config of cluster +.INDENT 7.0 +.TP +.B cibfile +name/path of the file containing the CIB +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.config_show cibfile=\(aq/tmp/cib_for_galera\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.is_auth(nodes) +Check if nodes are already authorized +.INDENT 7.0 +.TP +.B nodes +a list of nodes to be checked for authorization to the cluster +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.is_auth nodes=\(aq[node1.example.org node2.example.org]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.item_create(item, item_id, item_type, create=\(aqcreate\(aq, extra_args=None, cibfile=None) +Create an item via pcs command +(mainly for use with the pcs state module) +.INDENT 7.0 +.TP +.B item +config, property, resource, constraint etc. +.TP +.B item_id +id of the item +.TP +.B item_type +item type +.TP +.B create +create command (create or set f.e., default: create) +.TP +.B extra_args +additional options for the pcs command +.TP +.B cibfile +use cibfile instead of the live CIB +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.item_show(item, item_id=None, item_type=None, show=\(aqshow\(aq, extra_args=None, cibfile=None) +Show an item via pcs command +(mainly for use with the pcs state module) +.INDENT 7.0 +.TP +.B item +config, property, resource, constraint etc. +.TP +.B item_id +id of the item +.TP +.B item_type +item type +.TP +.B show +show command (probably None, default: show) +.TP +.B extra_args +additional options for the pcs command +.TP +.B cibfile +use cibfile instead of the live CIB +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.prop_set(prop, value, extra_args=None, cibfile=None) +Set the value of a cluster property +.INDENT 7.0 +.TP +.B prop +name of the property +.TP +.B value +value of the property prop +.TP +.B extra_args +additional options for the pcs property command +.TP +.B cibfile +use cibfile instead of the live CIB +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.prop_set prop=\(aqno\-quorum\-policy\(aq \e + value=\(aqignore\(aq \e + cibfile=\(aq/tmp/2_node_cluster.cib\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.prop_show(prop, extra_args=None, cibfile=None) +Show the value of a cluster property +.INDENT 7.0 +.TP +.B prop +name of the property +.TP +.B extra_args +additional options for the pcs property command +.TP +.B cibfile +use cibfile instead of the live CIB +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.prop_show cibfile=\(aq/tmp/2_node_cluster.cib\(aq \e + prop=\(aqno\-quorum\-policy\(aq \e + cibfile=\(aq/tmp/2_node_cluster.cib\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.resource_create(resource_id, resource_type, resource_options=None, cibfile=None) +Create a resource via pcs command +.INDENT 7.0 +.TP +.B resource_id +name for the resource +.TP +.B resource_type +resource type (f.e. ocf:heartbeat:IPaddr2 or VirtualIP) +.TP +.B resource_options +additional options for creating the resource +.TP +.B cibfile +use cibfile instead of the live CIB for manipulation +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.resource_create resource_id=\(aqgalera\(aq \e + resource_type=\(aqocf:heartbeat:galera\(aq \e + resource_options="[ \e + \(aqwsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org\(aq \e + \(aq\-\-master\(aq \e + ]" \e + cibfile=\(aq/tmp/cib_for_galera.cib\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.resource_show(resource_id, extra_args=None, cibfile=None) +Show a resource via pcs command +.INDENT 7.0 +.TP +.B resource_id +name of the resource +.TP +.B extra_args +additional options for the pcs command +.TP +.B cibfile +use cibfile instead of the live CIB +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.resource_show resource_id=\(aqgalera\(aq \e + cibfile=\(aq/tmp/cib_for_galera.cib\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.stonith_create(stonith_id, stonith_device_type, stonith_device_options=None, cibfile=None) +Create a stonith resource via pcs command +.INDENT 7.0 +.TP +.B stonith_id +name for the stonith resource +.TP +.B stonith_device_type +name of the stonith agent fence_eps, fence_xvm f.e. +.TP +.B stonith_device_options +additional options for creating the stonith resource +.TP +.B cibfile +use cibfile instead of the live CIB for manipulation +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.stonith_create stonith_id=\(aqeps_fence\(aq \e + stonith_device_type=\(aqfence_eps\(aq \e + stonith_device_options="[ \e + \(aqpcmk_host_map=node1.example.org:01;node2.example.org:02\(aq, \e + \(aqipaddr=myepsdevice.example.org\(aq, \e + \(aqaction=reboot\(aq, \e + \(aqpower_wait=5\(aq, \e + \(aqverbose=1\(aq, \e + \(aqdebug=/var/log/pcsd/eps_fence.log\(aq, \e + \(aqlogin=hidden\(aq, \e + \(aqpasswd=hoonetorg\(aq \e + ]" \e + cibfile=\(aq/tmp/cib_for_stonith.cib\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pcs.stonith_show(stonith_id, extra_args=None, cibfile=None) +Show the value of a cluster stonith +.INDENT 7.0 +.TP +.B stonith_id +name for the stonith resource +.TP +.B extra_args +additional options for the pcs stonith command +.TP +.B cibfile +use cibfile instead of the live CIB +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq pcs.stonith_show stonith_id=\(aqeps_fence\(aq \e + cibfile=\(aq/tmp/2_node_cluster.cib\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.pecl .sp Manage PHP pecl extensions. @@ -144774,6 +156572,11 @@ Philips HUE lamps module for proxy. .sp New in version 2015.8.3. +.INDENT 0.0 +.TP +.B salt.modules.philips_hue.__virtual__() +Start the Philips HUE only for proxies. +.UNINDENT .SS salt.modules.pillar .sp Extract the pillar data for this minion @@ -145257,6 +157060,13 @@ back slash is an escape character. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pip.__virtual__() +There is no way to verify that pip is installed without inspecting the +entire filesystem. If it\(aqs not installed in a conventional location, the +user is required to provide the location of pip each time it is used. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pip.freeze(bin_env=None, user=None, cwd=None, use_vt=False) Return a list of installed packages either globally or in the specified virtualenv @@ -145290,7 +157100,7 @@ salt \(aq*\(aq pip.freeze /home/code/path/to/virtualenv/ .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pip.install(pkgs=None, requirements=None, env=None, bin_env=None, use_wheel=False, no_use_wheel=False, log=None, proxy=None, timeout=None, editable=None, find_links=None, index_url=None, extra_index_url=None, no_index=False, mirrors=None, build=None, target=None, download=None, download_cache=None, source=None, upgrade=False, force_reinstall=False, ignore_installed=False, exists_action=None, no_deps=False, no_install=False, no_download=False, global_options=None, install_options=None, user=None, no_chown=False, cwd=None, activate=False, pre_releases=False, cert=None, allow_all_external=False, allow_external=None, allow_unverified=None, process_dependency_links=False, __env__=None, saltenv=\(aqbase\(aq, env_vars=None, use_vt=False, trusted_host=None) +.B salt.modules.pip.install(pkgs=None, requirements=None, bin_env=None, use_wheel=False, no_use_wheel=False, log=None, proxy=None, timeout=None, editable=None, find_links=None, index_url=None, extra_index_url=None, no_index=False, mirrors=None, build=None, target=None, download=None, download_cache=None, source=None, upgrade=False, force_reinstall=False, ignore_installed=False, exists_action=None, no_deps=False, no_install=False, no_download=False, global_options=None, install_options=None, user=None, no_chown=False, cwd=None, pre_releases=False, cert=None, allow_all_external=False, allow_external=None, allow_unverified=None, process_dependency_links=False, saltenv=\(aqbase\(aq, env_vars=None, use_vt=False, trusted_host=None, no_cache_dir=False) Install packages with pip .sp Install packages individually or from a pip requirements file. Install @@ -145316,9 +157126,6 @@ virtualenv (e.g. \fB/home/code/path/to/virtualenv/\fP) .UNINDENT .UNINDENT .TP -.B env -Deprecated, use bin_env now -.TP .B use_wheel Prefer wheel archives (requires pip>=1.4) .TP @@ -145423,14 +157230,6 @@ file .TP .B cwd Current working directory to run pip from -.TP -.B activate -Activates the virtual environment, if given via bin_env, before running -install. -.sp -Deprecated since version 2014.7.2: If \fIbin_env\fP is given, pip will already be sourced from that -virtualenv, making \fIactivate\fP effectively a noop. - .TP .B pre_releases Include pre\-releases in the available versions @@ -145476,6 +157275,9 @@ HTTPS. .TP .B use_vt Use VT terminal emulation (see output while installing) +.TP +.B no_cache_dir +Disable the cache. .UNINDENT .sp CLI Example: @@ -145542,7 +157344,7 @@ salt \(aq*\(aq pip.list_upgrades .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pip.uninstall(pkgs=None, requirements=None, bin_env=None, log=None, proxy=None, timeout=None, user=None, no_chown=False, cwd=None, __env__=None, saltenv=\(aqbase\(aq, use_vt=False) +.B salt.modules.pip.uninstall(pkgs=None, requirements=None, bin_env=None, log=None, proxy=None, timeout=None, user=None, no_chown=False, cwd=None, saltenv=\(aqbase\(aq, use_vt=False) Uninstall packages with pip .sp Uninstall packages individually or from a pip requirements file. Uninstall @@ -145862,6 +157664,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pkgin.__virtual__() +Set the virtual pkg module if the os is supported by pkgin +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pkgin.available_version(*names, **kwargs) This function is an alias of \fBlatest_version\fP\&. .INDENT 7.0 @@ -146162,14 +157969,14 @@ salt \(aq*\(aq pkg.search \(aqmysql\-server\(aq .B salt.modules.pkgin.upgrade() Run pkg upgrade, if pkgin used. Otherwise do nothing .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -146262,7 +158069,15 @@ providers: .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.audit(jail=None, chroot=None) +.B salt.modules.pkgng.__virtual__() +Load as \(aqpkg\(aq on FreeBSD 10 and greater. +Load as \(aqpkg\(aq on DragonFly BSD. +Load as \(aqpkg\(aq on FreeBSD 9 when config option +\fBproviders:pkg\fP is set to \(aqpkgng\(aq. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.pkgng.audit(jail=None, chroot=None, root=None) Audits installed packages against known vulnerabilities .sp CLI Example: @@ -146296,6 +158111,10 @@ salt \(aq*\(aq pkg.audit jail= .B chroot Audit packages within the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Audit packages within the specified root (ignored if \fBjail\fP is +specified) .sp CLI Example: .INDENT 7.0 @@ -146312,7 +158131,7 @@ salt \(aq*\(aq pkg.audit chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.autoremove(jail=None, chroot=None, dryrun=False) +.B salt.modules.pkgng.autoremove(jail=None, chroot=None, root=None, dryrun=False) Delete packages which were automatically installed as dependencies and are not required anymore. .INDENT 7.0 @@ -146339,7 +158158,7 @@ salt \(aq*\(aq pkg.autoremove jail= dryrun=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.backup(file_name, jail=None, chroot=None) +.B salt.modules.pkgng.backup(file_name, jail=None, chroot=None, root=None) Export installed packages into yaml+mtree file .sp CLI Example: @@ -146377,6 +158196,12 @@ Backup packages from the specified chroot (ignored if \fBjail\fP is specified). Note that this will run the command within the chroot, and so the path to the backup file will be relative to the root of the chroot. +.TP +.B root +Backup packages from the specified root (ignored if \fBjail\fP is +specified). Note that this will run the command within the root, and +so the path to the backup file will be relative to the root of the +root. .sp CLI Example: .INDENT 7.0 @@ -146393,7 +158218,7 @@ salt \(aq*\(aq pkg.backup /tmp/pkg chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.check(jail=None, chroot=None, depends=False, recompute=False, checksum=False) +.B salt.modules.pkgng.check(jail=None, chroot=None, root=None, depends=False, recompute=False, checksum=False) Sanity checks installed packages .INDENT 7.0 .TP @@ -146415,6 +158240,10 @@ salt \(aq*\(aq pkg.check jail= .B chroot Perform the sanity check in the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Perform the sanity check in the specified root (ignored if \fBjail\fP +is specified) .sp CLI Example: .INDENT 7.0 @@ -146480,7 +158309,7 @@ salt \(aq*\(aq pkg.check checksum=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.clean(jail=None, chroot=None) +.B salt.modules.pkgng.clean(jail=None, chroot=None, root=None) Cleans the local cache of fetched remote packages .sp CLI Example: @@ -146499,7 +158328,7 @@ salt \(aq*\(aq pkg.clean chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.fetch(name, jail=None, chroot=None, fetch_all=False, quiet=False, fromrepo=None, glob=True, regex=False, pcre=False, local=False, depends=False) +.B salt.modules.pkgng.fetch(name, jail=None, chroot=None, root=None, fetch_all=False, quiet=False, fromrepo=None, glob=True, regex=False, pcre=False, local=False, depends=False) Fetches remote packages .sp CLI Example: @@ -146533,6 +158362,10 @@ salt \(aq*\(aq pkg.fetch jail= .B chroot Fetch package in the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Fetch package in the specified root (ignored if \fBjail\fP is +specified) .sp CLI Example: .INDENT 7.0 @@ -146671,7 +158504,7 @@ salt \(aq*\(aq pkg.fetch depends=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.install(name=None, fromrepo=None, pkgs=None, sources=None, jail=None, chroot=None, orphan=False, force=False, glob=False, local=False, dryrun=False, quiet=False, reinstall_requires=False, regex=False, pcre=False, **kwargs) +.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, **kwargs) Install package(s) from a repository .INDENT 7.0 .TP @@ -146697,6 +158530,10 @@ Install the package into the specified jail Install the package into the specified chroot (ignored if \fBjail\fP is specified) .TP +.B root +Install the package into the specified root (ignored if \fBjail\fP is +specified) +.TP .B orphan Mark the installed package as orphan. Will be automatically removed if no other packages depend on them. For more information please @@ -146885,7 +158722,7 @@ salt \(aq*\(aq pkg.latest_version chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.list_pkgs(versions_as_list=False, jail=None, chroot=None, with_origin=False, **kwargs) +.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 .INDENT 3.5 @@ -146906,6 +158743,10 @@ List the packages in the specified jail List the packages in the specified chroot (ignored if \fBjail\fP is specified) .TP +.B root +List the packages in the specified root (ignored if \fBjail\fP is +specified) +.TP .B with_origin False Return a nested dictionary containing both the origin name and version @@ -146950,7 +158791,7 @@ salt \(aq*\(aq pkg.parse_config .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.refresh_db(jail=None, chroot=None, force=False) +.B salt.modules.pkgng.refresh_db(jail=None, chroot=None, root=None, force=False) Refresh PACKAGESITE contents .sp \fBNOTE:\fP @@ -146981,6 +158822,10 @@ Refresh the pkg database within the specified jail Refresh the pkg database within the specified chroot (ignored if \fBjail\fP is specified) .TP +.B root +Refresh the pkg database within the specified root (ignored if +\fBjail\fP is specified) +.TP .B force Force a full download of the repository catalog without regard to the respective ages of the local and remote copies of the catalog. @@ -147000,7 +158845,7 @@ salt \(aq*\(aq pkg.refresh_db force=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.remove(name=None, pkgs=None, jail=None, chroot=None, all_installed=False, force=False, glob=False, dryrun=False, recurse=False, regex=False, pcre=False, **kwargs) +.B salt.modules.pkgng.remove(name=None, pkgs=None, jail=None, chroot=None, root=None, all_installed=False, force=False, glob=False, dryrun=False, recurse=False, regex=False, pcre=False, **kwargs) Remove a package from the database and system .sp \fBNOTE:\fP @@ -147034,6 +158879,10 @@ Delete the package from the specified jail Delete the package from the specified chroot (ignored if \fBjail\fP is specified) .TP +.B root +Delete the package from the specified root (ignored if \fBjail\fP is +specified) +.TP .B all_installed Deletes all installed packages from the system and empties the database. USE WITH CAUTION! @@ -147145,7 +158994,7 @@ salt \(aq*\(aq pkg.remove pcre=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.restore(file_name, jail=None, chroot=None) +.B salt.modules.pkgng.restore(file_name, jail=None, chroot=None, root=None) Reads archive created by pkg backup \-d and recreates the database. .sp CLI Example: @@ -147183,6 +159032,12 @@ Restore database to the specified chroot (ignored if \fBjail\fP is specified). Note that this will run the command within the chroot, and so the path to the file from which the pkg database will be restored is relative to the root of the chroot. +.TP +.B root +Restore database to the specified root (ignored if \fBjail\fP is +specified). Note that this will run the command within the root, and +so the path to the file from which the pkg database will be restored is +relative to the root of the root. .sp CLI Example: .INDENT 7.0 @@ -147199,7 +159054,7 @@ salt \(aq*\(aq pkg.restore /tmp/pkg chroot=/path/to/chroot .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.search(name, jail=None, chroot=None, exact=False, glob=False, regex=False, pcre=False, comment=False, desc=False, full=False, depends=False, size=False, quiet=False, origin=False, prefix=False) +.B salt.modules.pkgng.search(name, jail=None, chroot=None, root=None, exact=False, glob=False, regex=False, pcre=False, comment=False, desc=False, full=False, depends=False, size=False, quiet=False, origin=False, prefix=False) Searches in remote package repositories .sp CLI Example: @@ -147233,6 +159088,10 @@ salt \(aq*\(aq pkg.search pattern jail= .B chroot Perform the search using the \fBpkg.conf(5)\fP from the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Perform the search using the \fBpkg.conf(5)\fP from the specified root +(ignored if \fBjail\fP is specified) .sp CLI Example: .INDENT 7.0 @@ -147430,7 +159289,7 @@ salt \(aq*\(aq pkg.search pattern prefix=True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.stats(local=False, remote=False, jail=None, chroot=None) +.B salt.modules.pkgng.stats(local=False, remote=False, jail=None, chroot=None, root=None) Return pkgng stats. .sp CLI Example: @@ -147496,6 +159355,10 @@ salt \(aq*\(aq pkg.stats jail= remote=True .B chroot Retrieve stats from the specified chroot (ignored if \fBjail\fP is specified). +.TP +.B root +Retrieve stats from the specified root (ignored if \fBjail\fP is +specified). .sp CLI Example: .INDENT 7.0 @@ -147533,7 +159396,7 @@ salt \(aq*\(aq pkg.update_package_site http://127.0.0.1/ .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.updating(name, jail=None, chroot=None, filedate=None, filename=None) +.B salt.modules.pkgng.updating(name, jail=None, chroot=None, root=None, filedate=None, filename=None) \(aq Displays UPDATING entries of software packages .sp @@ -147568,6 +159431,10 @@ salt \(aq*\(aq pkg.updating foo jail= .B chroot Perform the action in the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Perform the action in the specified root (ignored if \fBjail\fP is +specified) .sp CLI Example: .INDENT 7.0 @@ -147618,6 +159485,19 @@ salt \(aq*\(aq pkg.updating foo filename=/tmp/UPDATING Upgrade named or all packages (run a \fBpkg upgrade\fP). If is omitted, the operation is executed on all packages. .sp +Returns a dictionary containing the changes: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp CLI Example: .INDENT 7.0 .INDENT 3.5 @@ -147649,6 +159529,10 @@ salt \(aq*\(aq pkg.upgrade jail= .B chroot Audit packages within the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Audit packages within the specified root (ignored if \fBjail\fP is +specified) .sp CLI Example: .INDENT 7.0 @@ -147739,6 +159623,10 @@ Get package version information for the specified jail Get package version information for the specified chroot (ignored if \fBjail\fP is specified) .TP +.B root +Get package version information for the specified root (ignored if +\fBjail\fP is specified) +.TP .B with_origin False Return a nested dictionary containing both the origin name and version @@ -147783,7 +159671,7 @@ salt \(aq*\(aq pkg.version_cmp \(aq2.1.11\(aq \(aq2.1.12\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.pkgng.which(path, jail=None, chroot=None, origin=False, quiet=False) +.B salt.modules.pkgng.which(path, jail=None, chroot=None, root=None, origin=False, quiet=False) Displays which package installed a specific file .sp CLI Example: @@ -147817,6 +159705,10 @@ salt \(aq*\(aq pkg.which jail= .B chroot Perform the check in the specified chroot (ignored if \fBjail\fP is specified) +.TP +.B root +Perform the check in the specified root (ignored if \fBjail\fP is +specified) .sp CLI Example: .INDENT 7.0 @@ -147875,6 +159767,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pkgutil.__virtual__() +Set the virtual pkg module if the os is Solaris +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pkgutil.install(name=None, refresh=False, version=None, pkgs=None, **kwargs) Install packages using the pkgutil tool. .sp @@ -148155,6 +160052,11 @@ salt \(aq*\(aq pkgutil.version CSWpython Configure \fBportage(5)\fP .INDENT 0.0 .TP +.B salt.modules.portage_config.__virtual__() +Confirm this module is on a Gentoo based system. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.portage_config.append_to_package_conf(conf, atom=\(aq\(aq, flags=None, string=\(aq\(aq, overwrite=False) Append a string or a list of flags for a given package or DEPEND atom to a given configuration file. @@ -148414,6 +160316,11 @@ changes are made to them. Each file should look as if it has been edited by hand; order, comments and whitespace are all preserved. .INDENT 0.0 .TP +.B salt.modules.postfix.__virtual__() +Only load the module if Postfix is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.postfix.delete(queue_id) Delete message(s) from the mail queue .sp @@ -148611,6 +160518,27 @@ overwrite options passed into pillar .B note This module uses MD5 hashing which may not be compliant with certain security audits. +.TP +.B note +When installing postgres from the official postgres repos, on certain +linux distributions, either the psql or the initdb binary is \fInot\fP +automatically placed on the path. Add a configuration to the location +of the postgres bin\(aqs path to the relevant minion for this module: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +postgres.pg_bin: \(aq/usr/pgsql\-9.5/bin/\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.postgres.__virtual__() +Only load this module if the psql and initdb bin exist .UNINDENT .INDENT 0.0 .TP @@ -149983,6 +161911,11 @@ salt \(aq*\(aq postgres.version Support for poudriere .INDENT 0.0 .TP +.B salt.modules.poudriere.__virtual__() +Module load on freebsd only and if poudriere installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.poudriere.bulk_build(jail, pkg_file, keep=False) Run bulk build on poudriere server. .sp @@ -150184,12 +162117,14 @@ powerpath support. Assumes RedHat .INDENT 0.0 .TP -.B salt.modules.powerpath.add_license(key) -Add a license +.B salt.modules.powerpath.__virtual__() +Provide this only on Linux systems until proven to +work elsewhere. .UNINDENT .INDENT 0.0 .TP -.B salt.modules.powerpath.has_powerpath() +.B salt.modules.powerpath.add_license(key) +Add a license .UNINDENT .INDENT 0.0 .TP @@ -150216,6 +162151,11 @@ salt \(aq*\(aq network.get_http_proxy .UNINDENT .INDENT 0.0 .TP +.B salt.modules.proxy.__virtual__() +Only work on Mac OS and Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.proxy.get_ftp_proxy(network_service=\(aqEthernet\(aq) Returns the current ftp proxy settings .INDENT 7.0 @@ -150735,6 +162675,40 @@ salt \(aqminion\(aq ps.kill_pid 2000 signal=9 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ps.lsof(name) +Retrieve the lsof informations of the given process name. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ps.lsof apache2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.ps.netstat(name) +Retrieve the netstat informations of the given process name. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ps.netstat apache2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ps.network_io_counters(interface=None) Return network I/O statistics. .sp @@ -150913,6 +162887,25 @@ attributes can be found here: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.ps.psaux(name) +Retrieve information corresponding to a "ps aux" filtered +with the given pattern. It could be just a name or a regular +expression (using python search from "re" module). +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq ps.psaux www\-data.+apache2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ps.swap_memory() New in version 2014.7.0. @@ -151165,6 +163158,11 @@ salt publish.runner manage.down Execute puppet routines .INDENT 0.0 .TP +.B salt.modules.puppet.__virtual__() +Only load if puppet is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.puppet.disable(message=None) New in version 2014.7.0. @@ -151419,6 +163417,16 @@ pushover: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pushover_notify.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pushover_notify.post_message(user=None, device=None, message=None, title=None, priority=None, expire=None, retry=None, sound=None, api_version=1, token=None) Send a message to a Pushover user or group. .INDENT 7.0 @@ -151477,6 +163485,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pw_group.__virtual__() +Set the user module if the kernel is FreeBSD or Dragonfly +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pw_group.add(name, gid=None, **kwargs) Add the specified group .sp @@ -151634,6 +163647,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.pw_user.__virtual__() +Set the user module if the kernel is FreeBSD or DragonFly +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.pw_user.add(name, uid=None, gid=None, groups=None, home=None, shell=None, unique=True, fullname=\(aq\(aq, roomnumber=\(aq\(aq, workphone=\(aq\(aq, homephone=\(aq\(aq, createhome=True, loginclass=None, **kwargs) Add a user to the minion .sp @@ -151957,6 +163975,14 @@ salt \(aq*\(aq user.rename name new_name .sp Manage python installations with pyenv. .sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Git needs to be installed and available via PATH if pyenv is to be +installed automatically by the module. +.UNINDENT +.UNINDENT +.sp New in version v2014.04. .INDENT 0.0 @@ -152179,6 +164205,11 @@ qemu\-img .UNINDENT .INDENT 0.0 .TP +.B salt.modules.qemu_img.__virtual__() +Only load if qemu\-img is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.qemu_img.convert(orig, dest, fmt) Convert an existing disk image to another format using qemu\-img .sp @@ -152221,6 +164252,11 @@ The qemu system comes with powerful tools, such as qemu\-img and qemu\-nbd which are used here to build up kvm images. .INDENT 0.0 .TP +.B salt.modules.qemu_nbd.__virtual__() +Only load if qemu\-img and qemu\-nbd are installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.qemu_nbd.clear(mnt) Pass in the mnt dict returned from nbd_mount to unmount and disconnect the image from nbd. If all of the partitions are unmounted return an @@ -152296,6 +164332,11 @@ salt \(aq*\(aq qemu_nbd.mount /dev/nbd0 Module for managing quotas on POSIX\-like systems. .INDENT 0.0 .TP +.B salt.modules.quota.__virtual__() +Only work on POSIX\-like systems with setquota binary available +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.quota.get_mode(device) Report whether the quota system for this device is on or off .sp @@ -152422,6 +164463,11 @@ Todo: A lot, need to add cluster support, logging, and minion configuration data. .INDENT 0.0 .TP +.B salt.modules.rabbitmq.__virtual__() +Verify RabbitMQ is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rabbitmq.add_user(name, password=None, runas=None) Add a rabbitMQ user via rabbitmqctl user_add .sp @@ -153109,6 +165155,11 @@ New in version 2015.8.0. Requires a \fBusername\fP and a \fBpassword\fP in \fB/etc/salt/minion\fP: .INDENT 0.0 .TP +.B salt.modules.rallydev.__virtual__() +Only load the module if apache is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rallydev.list_items(name) List items of a particular type .sp @@ -153297,6 +165348,16 @@ random_org: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.random_org.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.random_org.generateBlobs(api_key=None, api_version=None, **kwargs) List all Slack users. .INDENT 7.0 @@ -153602,6 +165663,11 @@ good alternatives to work with multiple versions of Ruby on the same box. .sp New in version 0.16.0. +.INDENT 0.0 +.TP +.B salt.modules.rbenv.__virtual__() +Only work on POSIX\-like systems +.UNINDENT .INDENT 0.0 .TP .B salt.modules.rbenv.default(ruby=None, runas=None) @@ -153856,6 +165922,11 @@ salt \(aq*\(aq rbenv.versions Manage RDP Service on Windows servers .INDENT 0.0 .TP +.B salt.modules.rdp.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rdp.disable() Disable RDP the service on the server .sp @@ -153873,6 +165944,36 @@ salt \(aq*\(aq rdp.disable .UNINDENT .INDENT 0.0 .TP +.B salt.modules.rdp.disconnect_session(session_id) +Disconnect a session. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +\fBsession_id\fP \-\- The numeric Id of the session. +.TP +.B Returns +A boolean representing whether the disconnect succeeded. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq rdp.disconnect_session session_id + +salt \(aq*\(aq rdp.disconnect_session 99 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rdp.enable() Enable RDP the service on the server .sp @@ -153890,6 +165991,94 @@ salt \(aq*\(aq rdp.enable .UNINDENT .INDENT 0.0 .TP +.B salt.modules.rdp.get_session(session_id) +Get information about a session. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +\fBsession_id\fP \-\- The numeric Id of the session. +.TP +.B Returns +A dictionary of session information. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq rdp.get_session session_id + +salt \(aq*\(aq rdp.get_session 99 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.rdp.list_sessions(logged_in_users_only=False) +List information about the sessions. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +\fBlogged_in_users_only\fP \-\- If True, only return sessions with users logged in. +.TP +.B Returns +A list containing dictionaries of session information. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq rdp.list_sessions +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.rdp.logoff_session(session_id) +Initiate the logoff of a session. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +\fBsession_id\fP \-\- The numeric Id of the session. +.TP +.B Returns +A boolean representing whether the logoff succeeded. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq rdp.logoff_session session_id + +salt \(aq*\(aq rdp.logoff_session 99 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rdp.status() Show if rdp is enabled on the server .sp @@ -153932,6 +166121,11 @@ redis.password: None .UNINDENT .INDENT 0.0 .TP +.B salt.modules.redismod.__virtual__() +Only load this module if redis python module is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.redismod.bgrewriteaof(host=None, port=None, db=None, password=None) Asynchronously rewrite the append\-only file .sp @@ -154465,9 +166659,6 @@ salt \(aq*\(aq redis.zrange foo_sorted 0 10 .UNINDENT .SS salt.modules.reg .SS Manage the Windows registry -.sp -The read_key and set_key functions will be updated in Carbon to reflect proper -registry usage. The registry has three main components. Hives, Keys, and Values. .SS Hives .sp Hives are the main sections of the registry and all begin with the word HKEY. @@ -154497,34 +166688,15 @@ Delay \(aq_winreg\(aq usage until this module is used .UNINDENT .INDENT 0.0 .TP +.B salt.modules.reg.__virtual__() +Only works on Windows systems with the _winreg python module +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.reg.broadcast_change() Refresh the windows environment. -:return: -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.reg.create_key(hkey, path, key=None, value=None, reflection=True, use_32bit_registry=False) .sp -\fBIMPORTANT:\fP -.INDENT 7.0 -.INDENT 3.5 -The name of this function is misleading and will be changed to reflect -proper usage in the Carbon release of Salt. The path option will be removed -and the key will be the actual key. See the following issue: -.sp -\fI\%https://github.com/saltstack/salt/issues/25618\fP -.sp -In order to not break existing state files this function will call the -set_value function if key is passed. Key will be passed as the value name. -If key is not passed, this function will return the default value for the -key. -.sp -In the Carbon release path will be removed and key will be the path. You will -not pass value. -.UNINDENT -.UNINDENT -.sp -Create a registry key +Returns (bool): True if successful, otherwise False .sp CLI Example: .INDENT 7.0 @@ -154532,7 +166704,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq reg.create_key HKEY_CURRENT_USER \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq \(aq0.97\(aq +salt \(aq*\(aq reg.broadcast_change .ft P .fi .UNINDENT @@ -154540,93 +166712,6 @@ salt \(aq*\(aq reg.create_key HKEY_CURRENT_USER \(aqSOFTWARE\eSalt\(aq \(aqversi .UNINDENT .INDENT 0.0 .TP -.B salt.modules.reg.delete_key(hkey, path, key=None, reflection=True, force=False, use_32bit_registry=False) -.sp -\fBIMPORTANT:\fP -.INDENT 7.0 -.INDENT 3.5 -The name of this function is misleading and will be changed to reflect -proper usage in the Carbon release of Salt. The path option will be removed -and the key will be the actual key. See the following issue: -.sp -\fI\%https://github.com/saltstack/salt/issues/25618\fP -.sp -In order to not break existing state files this function will call the -delete_value function if a key is passed. Key will be passed as the value -name. If key is not passed, this function will return the default value for -the key. -.sp -In the Carbon release path will be removed and key will be the path. -reflection will also be removed. -.UNINDENT -.UNINDENT -.sp -Delete a registry key -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq reg.delete_key HKEY_CURRENT_USER \(aqSOFTWARE\eSalt\(aq -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBhkey\fP (\fI\%str\fP) \-\- -.sp -(will be changed to hive) The name of the hive. Can be one -of the following -.INDENT 2.0 -.INDENT 3.5 -.INDENT 0.0 -.IP \(bu 2 -HKEY_LOCAL_MACHINE or HKLM -.IP \(bu 2 -HKEY_CURRENT_USER or HKCU -.IP \(bu 2 -HKEY_USER or HKU -.UNINDENT -.UNINDENT -.UNINDENT - -.IP \(bu 2 -\fBpath\fP (\fI\%str\fP) \-\- (will be changed to key) The key (looks like a path) to -remove. -.IP \(bu 2 -\fBkey\fP (\fI\%str\fP) \-\- (used incorrectly) Will be removed in Carbon -.IP \(bu 2 -\fBreflection\fP (\fI\%bool\fP) \-\- -.sp -A boolean value indicating that the value should -also be removed from the Wow6432Node portion of the registry. Only applies -to 64 bit Windows. This setting is ignored for 32 bit Windows. -.sp -Only applies to delete value. If the key parameter is passed, this function -calls delete_value instead. Will be changed in Carbon. - -.IP \(bu 2 -\fBforce\fP (\fI\%bool\fP) \-\- A boolean value indicating that all subkeys should be -removed as well. If this is set to False (default) and there are subkeys, -the delete_key function will fail. -.UNINDENT -.TP -.B Returns -Returns True if successful, False if not. If force=True, the -results of delete_key_recursive are returned. -.TP -.B Return type -\fI\%bool\fP -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.reg.delete_key_recursive(hive, key, use_32bit_registry=False) New in version 2015.5.4. @@ -154651,14 +166736,14 @@ HKEY_USER or HKU .IP \(bu 2 \fBkey\fP \-\- The key to remove (looks like a path) +.IP \(bu 2 +\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Deletes the 32bit portion of the registry on +64bit installations. On 32bit machines this is ignored. .UNINDENT .TP .B Returns A dictionary listing the keys that deleted successfully as well as -.UNINDENT -.sp those that failed to delete. -.INDENT 7.0 .TP .B Return type \fI\%dict\fP @@ -154681,7 +166766,7 @@ salt \(aq*\(aq reg.delete_key_recursive HKLM SOFTWARE\esalt .UNINDENT .INDENT 0.0 .TP -.B salt.modules.reg.delete_value(hive, key, vname=None, reflection=True, use_32bit_registry=False) +.B salt.modules.reg.delete_value(hive, key, vname=None, use_32bit_registry=False) Delete a registry value entry or the default value for a key. .INDENT 7.0 .TP @@ -154706,17 +166791,9 @@ HKEY_USER or HKU \fBvname\fP (\fI\%str\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 -\fBreflection\fP (\fI\%bool\fP) \-\- A boolean value indicating that the value should -also be set in the Wow6432Node portion of the registry. Only applies to 64 -bit Windows. This setting is ignored for 32 bit Windows. +\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Deletes the 32bit portion of the registry on +64bit installations. On 32bit machines this is ignored. .UNINDENT -.UNINDENT -.sp -Deprecated since version 2015.8.2: Use \fBuse_32bit_registry\fP instead. The parameter seems to have no effect -since Windows 7 / Windows 2008R2 removed support for reflection. This -parameter will be removed in Carbon. - -.INDENT 7.0 .TP .B Returns Returns True if successful, False if not @@ -154787,31 +166864,41 @@ salt \(aq*\(aq reg.list_keys HKLM \(aqSOFTWARE\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.reg.read_key(hkey, path, key=None, use_32bit_registry=False) -.sp -\fBIMPORTANT:\fP +.B salt.modules.reg.list_values(hive, key=None, use_32bit_registry=False, include_default=True) +Enumerates the values in a registry key or hive. .INDENT 7.0 -.INDENT 3.5 -The name of this function is misleading and will be changed to reflect -proper usage in the Carbon release of Salt. The path option will be removed -and the key will be the actual key. See the following issue: +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhive\fP (\fI\%str\fP) \-\- .sp -\fI\%https://github.com/saltstack/salt/issues/25618\fP -.sp -In order to not break existing state files this function will call the -read_value function if a key is passed. Key will be passed as the value -name. If key is not passed, this function will return the default value for -the key. -.sp -In the Carbon release this function will be removed in favor of read_value. +The name of the hive. Can be one of the following +.INDENT 2.0 +.IP \(bu 2 +HKEY_LOCAL_MACHINE or HKLM +.IP \(bu 2 +HKEY_CURRENT_USER or HKCU +.IP \(bu 2 +HKEY_USER or HKU .UNINDENT + +.IP \(bu 2 +\fBkey\fP (\fI\%str\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. On 32bit machines this is ignored. +.IP \(bu 2 +\fBinclude_default\fP (\fI\%bool\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 +list .UNINDENT -.sp -Read registry key value -.sp -Returns the first unnamed value (Default) as a string. -Returns none if first unnamed value is empty. -Returns False if key not found. .sp CLI Example: .INDENT 7.0 @@ -154819,7 +166906,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq reg.read_key HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq +salt \(aq*\(aq reg.list_values HKLM \(aqSYSTEM\eCurrentControlSet\eServices\eTcpip\(aq .ft P .fi .UNINDENT @@ -154853,12 +166940,12 @@ HKEY_USER or HKU 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 64 bit installations. On 32bit machines this is ignored. +on 64bit installations. On 32bit machines this is ignored. .UNINDENT .TP .B Returns A dictionary containing the passed settings as well as the -value_data if successful. If unsuccessful, sets success to False +value_data if successful. If unsuccessful, sets success to False. .TP .B Return type \fI\%dict\fP @@ -154888,45 +166975,7 @@ salt \(aq*\(aq reg.read_value HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqvers .UNINDENT .INDENT 0.0 .TP -.B salt.modules.reg.set_key(hkey, path, value, key=None, vtype=\(aqREG_DWORD\(aq, reflection=True, use_32bit_registry=False) -.sp -\fBIMPORTANT:\fP -.INDENT 7.0 -.INDENT 3.5 -The name of this function is misleading and will be changed to reflect -proper usage in the Carbon release of Salt. The path option will be removed -and the key will be the actual key. See the following issue: -.sp -\fI\%https://github.com/saltstack/salt/issues/25618\fP -.sp -In order to not break existing state files this function will call the -set_value function if a key is passed. Key will be passed as the value -name. If key is not passed, this function will return the default value for -the key. -.sp -In the Carbon release this function will be removed in favor of set_value. -.UNINDENT -.UNINDENT -.sp -Set a registry key -.sp -vtype: \fI\%http://docs.python.org/2/library/_winreg.html#value\-types\fP -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq reg.set_key HKEY_CURRENT_USER \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq \(aq0.97\(aq REG_DWORD -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.reg.set_value(hive, key, vname=None, vdata=None, vtype=\(aqREG_SZ\(aq, reflection=True, use_32bit_registry=False) +.B salt.modules.reg.set_value(hive, key, vname=None, vdata=None, vtype=u\(aqREG_SZ\(aq, use_32bit_registry=False, volatile=False) Sets a registry value entry or the default value for a key. .INDENT 7.0 .TP @@ -154951,36 +167000,44 @@ HKEY_USER or HKU \fBvname\fP (\fI\%str\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) \-\- The value data to be set. -.IP \(bu 2 -\fBvtype\fP (\fI\%str\fP) \-\- +\fBvdata\fP (\fI\%object\fP) \-\- .sp -The value type. Can be one of the following: +The value data to be set. +What the type of this paramater +should be is determined by the value of the vtype +paramater. The correspondence +is as follows: .INDENT 2.0 -.IP \(bu 2 -REG_BINARY -.IP \(bu 2 -REG_DWORD -.IP \(bu 2 -REG_EXPAND_SZ -.IP \(bu 2 -REG_MULTI_SZ -.IP \(bu 2 -REG_SZ +.TP +.B REG_BINARY +binary data (i.e. str in python version < 3 and bytes in version >=3) +.TP +.B REG_DWORD +int +.TP +.B REG_EXPAND_SZ +str +.TP +.B REG_MULTI_SZ +list of objects of type str +.TP +.B REG_SZ +str .UNINDENT .IP \(bu 2 -\fBreflection\fP (\fI\%bool\fP) \-\- A boolean value indicating that the value should -also be set in the Wow6432Node portion of the registry. Only applies to 64 -bit Windows. This setting is ignored for 32 bit Windows. +\fBvtype\fP (\fI\%str\fP) \-\- The value type. +The possible values of the vtype paramater are indicated +above in the description of the vdata paramater. +.IP \(bu 2 +\fBuse_32bit_registry\fP (\fI\%bool\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 paramater 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 paramater only has an effect when a key is being created and at no +other time. .UNINDENT -.UNINDENT -.sp -Deprecated since version 2015.8.2: Use \fBuse_32bit_registry\fP instead. The parameter seems to have no effect -since Windows 7 / Windows 2008R2 removed support for reflection. The -parameter will be removed in Carbon. - -.INDENT 7.0 .TP .B Returns Returns True if successful, False if not @@ -155000,29 +167057,76 @@ salt \(aq*\(aq reg.set_value HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqversi .fi .UNINDENT .UNINDENT +.sp +This function is strict about the type of vdata. For instance the +the next example will fail because vtype has a value of REG_SZ and vdata +has a type of int (as opposed to str as expected). +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq reg.set_value HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq \(aq2015.5.2\(aq \e +vtype=REG_SZ vdata=0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +However, this next example where vdata is properly quoted should succeed. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq reg.set_value HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq \(aq2015.5.2\(aq \e +vtype=REG_SZ vdata="\(aq0\(aq" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +An example of using vtype REG_BINARY is as follows: +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq reg.set_value HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq \(aq2015.5.2\(aq \e +vtype=REG_BINARY vdata=\(aq!!binary d2hhdCdzIHRoZSBwb2ludA==\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +An example of using vtype REG_LIST is as follows: +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq reg.set_value HKEY_LOCAL_MACHINE \(aqSOFTWARE\eSalt\(aq \(aqversion\(aq \(aq2015.5.2\(aq \e +vtype=REG_LIST vdata=\(aq[a,b,c]\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.rest_package .sp Package support for the REST example .INDENT 0.0 .TP -.B salt.modules.rest_package.install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.rest_package.installed(name, version=None, refresh=False, fromrepo=None, skip_verify=False, pkgs=None, sources=None, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.rest_package.list_pkgs(versions_as_list=False, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.rest_package.remove(name=None, pkgs=None, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.rest_package.upgrade(refresh=True, skip_verify=True, **kwargs) +.B salt.modules.rest_package.__virtual__() +Only work on systems that are a proxy minion .UNINDENT .INDENT 0.0 .TP @@ -155049,6 +167153,11 @@ salt \(aq*\(aq pkg.version ... Provide the service module for the proxy\-minion REST sample .INDENT 0.0 .TP +.B salt.modules.rest_service.__virtual__() +Only work on systems that are a proxy minion +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rest_service.enabled(name, sig=None) Only the \(aqredbull\(aq service is \(aqenabled\(aq in the test .sp @@ -155197,17 +167306,28 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.modules.restartcheck.__virtual__() +Only run this module if the psutil python module is installed (package python\-psutil). +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.restartcheck.restartcheck(ignorelist=None, blacklist=None, excludepid=None, verbose=True) Analyzes files openeded by running processes and seeks for packages which need to be restarted. .INDENT 7.0 .TP -.B Args: -ignorelist: string or list of packages to be ignored -blacklist: string or list of file paths to be ignored -excludepid: string or list of process IDs to be ignored -verbose: boolean, enables extensive output +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBignorelist\fP \-\- string or list of packages to be ignored +.IP \(bu 2 +\fBblacklist\fP \-\- string or list of file paths to be ignored +.IP \(bu 2 +\fBexcludepid\fP \-\- string or list of process IDs to be ignored +.IP \(bu 2 +\fBverbose\fP \-\- boolean, enables extensive output +.UNINDENT .TP -.B Returns: +.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. @@ -155300,6 +167420,11 @@ salt \(aq*\(aq ret.get_minions mysql The networking module for RHEL/Fedora based distros .INDENT 0.0 .TP +.B salt.modules.rh_ip.__virtual__() +Confine this module to RHEL/Fedora based distros +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rh_ip.apply_network_settings(**settings) Apply global network configuration. .sp @@ -155500,6 +167625,12 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.rh_service.__virtual__() +Only work on select distros which still use Red Hat\(aqs /usr/bin/service for +management of either sysvinit or a hybrid sysvinit/upstart init system. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rh_service.available(name, limit=\(aq\(aq) Return True if the named service is available. Use the \fBlimit\fP param to restrict results to services of that type. @@ -155778,6 +167909,11 @@ salt \(aq*\(aq service.stop Riak Salt Module .INDENT 0.0 .TP +.B salt.modules.riak.__virtual__() +Only available on systems with Riak installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.riak.cluster_commit() Commit Cluster Changes .sp @@ -155984,6 +168120,11 @@ salt \(aq*\(aq riak.test Support for rpm .INDENT 0.0 .TP +.B salt.modules.rpm.__virtual__() +Confine this module to rpm based systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rpm.bin_pkg_info(path, saltenv=\(aqbase\(aq) New in version 2015.8.0. @@ -156292,6 +168433,11 @@ environments. This also provides a function to generate yum repositories This module implements the pkgbuild interface .INDENT 0.0 .TP +.B salt.modules.rpmbuild.__virtual__() +Confirm this module is on a RPM based system, and has required utilities +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rpmbuild.build(runas, tgt, dest_dir, spec, sources, deps, env, template, saltenv=\(aqbase\(aq, log_dir=\(aq/var/log/salt/pkgbuild\(aq) Given the package destination directory, the spec file source and package sources, use mock to safely build the rpm defined in the spec file @@ -156481,6 +168627,11 @@ This data can also be passed into \fBpillar\fP\&. Options passed into opts will overwrite options passed into pillar. .INDENT 0.0 .TP +.B salt.modules.rsync.__virtual__() +Only load module if rsync binary is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.rsync.config(conf_path=\(aq/etc/rsyncd.conf\(aq) Changed in version 2016.3.0: Return data now contains just the contents of the rsyncd.conf as a string, instead of a dictionary as returned from \fBcmd.run_all\fP\&. @@ -156552,6 +168703,7 @@ salt \(aq*\(aq rsync.version .SS salt.modules.runit .sp runit service module +(\fI\%http://smarden.org/runit\fP) .sp This module is compatible with the \fBservice\fP states, so it can be used to maintain services using the \fBprovider\fP argument: @@ -156569,12 +168721,70 @@ myservice: .UNINDENT .UNINDENT .sp -Note that the \fBenabled\fP argument is not available with this provider. +Provides virtual \fIservice\fP module on systems using runit as init. +.sp +Service management rules (\fIsv\fP command): +.INDENT 0.0 +.INDENT 3.5 +service $n is ENABLED if file SERVICE_DIR/$n/run exists +service $n is AVAILABLE if ENABLED or if file AVAIL_SVR_DIR/$n/run exists +service $n is DISABLED if AVAILABLE but not ENABLED +.sp +SERVICE_DIR/$n is normally a symlink to a AVAIL_SVR_DIR/$n folder +.UNINDENT +.UNINDENT +.sp +Service auto\-start/stop mechanism: +.INDENT 0.0 +.INDENT 3.5 +\fIsv\fP (auto)starts/stops service as soon as SERVICE_DIR/ is +created/deleted, both on service creation or a boot time. +.sp +autostart feature is disabled if file SERVICE_DIR//down exists. This +does not affect the current\(aqs service status (if already running) nor +manual service management. +.UNINDENT +.UNINDENT +.sp +Service\(aqs alias: +.INDENT 0.0 +.INDENT 3.5 +Service \fIsva\fP is an alias of service \fIsvc\fP when \fIAVAIL_SVR_DIR/sva\fP symlinks +to folder \fIAVAIL_SVR_DIR/svc\fP\&. \fIsvc\fP can\(aqt be enabled if it is already +enabled through an alias already enabled, since \fIsv\fP files are stored in +folder \fISERVICE_DIR/svc/\fP\&. +.sp +XBPS package management uses a service\(aqs alias to provides service +alternative(s), such as chrony and openntpd both aliased to ntpd. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.__virtual__() +Virtual service only on systems using runit as init process (PID 1). +Otherwise, use this module with the provider mechanism. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.add_svc_avail_path(path) +Add a path that may contain available services. +Return \fBTrue\fP if added (or already present), \fBFalse\fP on error. +.INDENT 7.0 +.TP +.B path +directory to add to AVAIL_SVR_DIRS +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.modules.runit.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156582,7 +168792,110 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq runit.available foo +salt \(aq*\(aq runit.available +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.disable(name, stop=False, **kwargs) +Don\(aqt start service \fBname\fP at boot +Returns \fBTrue\fP if operation is successfull +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.TP +.B stop +if True, also stops the service +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.disable [stop=True] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.disabled(name) +Return \fBTrue\fP if the named service is disabled, \fBFalse\fP otherwise +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.disabled +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.enable(name, start=False, **kwargs) +Start service \fBname\fP at boot. +Returns \fBTrue\fP if operation is successful +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.TP +.B start +.INDENT 7.0 +.TP +.B \fBFalse\fP +Do not start the service once enabled. Default mode. +(consistent with other service management) +.UNINDENT +.sp +\fBTrue\fP : also start the service at the same time (default sv mode) +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.enable [start=True] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.enabled(name) +Return \fBTrue\fP if the named service is enabled, \fBFalse\fP otherwise +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.enabled .ft P .fi .UNINDENT @@ -156591,7 +168904,12 @@ salt \(aq*\(aq runit.available foo .INDENT 0.0 .TP .B salt.modules.runit.full_restart(name) -Calls runit.restart() function +Calls runit.restart() +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156624,10 +168942,8 @@ salt \(aq*\(aq runit.get_all .UNINDENT .INDENT 0.0 .TP -.B salt.modules.runit.missing(name) -The inverse of runit.available. -Returns \fBTrue\fP if the specified service is not available, otherwise returns -\fBFalse\fP\&. +.B salt.modules.runit.get_disabled() +Return a list of all disabled services .sp CLI Example: .INDENT 7.0 @@ -156635,7 +168951,82 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq runit.missing foo +salt \(aq*\(aq service.get_disabled +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.get_enabled() +Return a list of all enabled services +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.get_enabled +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.get_svc_alias() +Returns the list of service\(aqs name that are aliased and their alias path(s) +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.get_svc_avail_path() +Return list of paths that may contain available services +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.get_svc_broken_path(name=\(aq*\(aq) +Return list of broken path(s) in SERVICE_DIR that match \fBname\fP +.sp +A path is broken if it is a broken symlink or can not be a runit service +.INDENT 7.0 +.TP +.B name +a glob for service name. default is \(aq*\(aq +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq runit.get_svc_broken_path +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.runit.missing(name) +The inverse of runit.available. +Returns \fBTrue\fP if the specified service is not available, otherwise returns +\fBFalse\fP\&. +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq runit.missing .ft P .fi .UNINDENT @@ -156644,7 +169035,12 @@ salt \(aq*\(aq runit.missing foo .INDENT 0.0 .TP .B salt.modules.runit.reload(name) -Send a HUP to service via runit +Reload service +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156660,8 +169056,37 @@ salt \(aq*\(aq runit.reload .UNINDENT .INDENT 0.0 .TP +.B salt.modules.runit.remove(name) +Remove the service from system. +Returns \fBTrue\fP if operation is successfull. +The service will be also stopped. +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.remove +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.runit.restart(name) -Restart service via runit. This will stop/start service +Restart service +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156677,8 +169102,30 @@ salt \(aq*\(aq runit.restart .UNINDENT .INDENT 0.0 .TP +.B salt.modules.runit.show(name) +Show properties of one or more units/jobs or the manager +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq service.show +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.runit.start(name) -Starts service via runit +Start service +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156695,7 +169142,15 @@ salt \(aq*\(aq runit.start .INDENT 0.0 .TP .B salt.modules.runit.status(name, sig=None) -Return the status for a service via runit, return pid if running +Return \fBTrue\fP if service is running +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.TP +.B sig +signature to identify with ps +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156711,8 +169166,37 @@ salt \(aq*\(aq runit.status .UNINDENT .INDENT 0.0 .TP +.B salt.modules.runit.status_autostart(name) +Return \fBTrue\fP if service is autostarted by sv +(file $service_folder/down does not exist) +NB: return \fBFalse\fP if the service is not enabled. +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq runit.status_autostart +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.runit.stop(name) -Stops service via runit +Stop service +.INDENT 7.0 +.TP +.B name +the service\(aqs name +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -156726,23 +169210,6 @@ salt \(aq*\(aq runit.stop .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.runit.term(name) -Send a TERM to service via runit -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq runit.term -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT .SS salt.modules.rvm .sp Manage ruby installations and gemsets with RVM, the Ruby Version Manager. @@ -157280,6 +169747,11 @@ requests .UNINDENT .INDENT 0.0 .TP +.B salt.modules.s3.__virtual__() +Should work on any modern Python installation +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.s3.delete(bucket, path=None, action=None, key=None, keyid=None, service_url=None, verify_ssl=None, kms_keyid=None, location=None, role_arn=None) Delete a bucket, or delete an object from a bucket. .sp @@ -157664,14 +170136,12 @@ Create the salt proxy file and start the proxy process if required .INDENT 7.0 .TP -.B Parameters: +.B Parameters .INDENT 7.0 -.TP -.B proxyname: -Name to be used for this proxy (should match entries in pillar) -.TP -.B start: -Boolean indicating if the process should be started +.IP \(bu 2 +\fBproxyname\fP \-\- Name to be used for this proxy (should match entries in pillar) +.IP \(bu 2 +\fBstart\fP \-\- Boolean indicating if the process should be started default = True .UNINDENT .UNINDENT @@ -157698,12 +170168,8 @@ Returns True if the process is running False otherwise .INDENT 7.0 .TP -.B Parameters: -.INDENT 7.0 -.TP -.B proxyname: -String name of the proxy (p8000 for example) -.UNINDENT +.B Parameters +\fBproxyname\fP \-\- String name of the proxy (p8000 for example) .UNINDENT .sp CLI Example: @@ -157723,6 +170189,11 @@ salt deviceminion salt_proxy.is_running p8000 Control a salt cloud system .INDENT 0.0 .TP +.B salt.modules.saltcloudmod.__virtual__() +Only load if salt cloud is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.saltcloudmod.create(name, profile) Create the named vm .sp @@ -157913,6 +170384,23 @@ salt \(aq*\(aq saltutil.is_running state.highstate .UNINDENT .INDENT 0.0 .TP +.B salt.modules.saltutil.kill_all_jobs() +Sends a kill signal (SIGKILL 9) to all currently running jobs +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq saltutil.kill_all_jobs +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.saltutil.kill_job(jid) Sends a kill signal (SIGKILL 9) to the named salt job\(aqs process .sp @@ -158043,7 +170531,9 @@ salt \(aq*\(aq saltutil.revoke_auth .INDENT 0.0 .TP .B salt.modules.saltutil.runner(name, **kwargs) -Execute a runner module (this function must be run on the master) +Execute a runner function. This function must be run on the master, +either by targeting a minion running on a master or by using +salt\-call on a master. .sp New in version 2014.7.0. @@ -158057,12 +170547,15 @@ Any keyword arguments to pass to the runner function .UNINDENT .sp CLI Example: +.sp +In this example, assume that \fImaster_minion\fP is a minion running +on a master. .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -salt \(aq*\(aq saltutil.runner jobs.list_jobs +salt master_minion saltutil.runner jobs.list_jobs .ft P .fi .UNINDENT @@ -158679,6 +171172,23 @@ salt \(aq*\(aq saltutil.sync_utils saltenv=base,dev .UNINDENT .INDENT 0.0 .TP +.B salt.modules.saltutil.term_all_jobs() +Sends a termination signal (SIGTERM 15) to all currently running jobs +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq saltutil.term_all_jobs +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.saltutil.term_job(jid) Sends a termination signal (SIGTERM 15) to the named salt job\(aqs process .sp @@ -158736,13 +171246,20 @@ New in version 2014.7.0. .TP .B name The name of the function to run +.UNINDENT +.INDENT 7.0 .TP -.B args -Any positional arguments to pass to the wheel function. A common example -of this would be the \fBmatch\fP arg needed for key functions. -.sp -New in version v2015.8.11. - +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpositional arguments to pass to the wheel function. A common example\fP (\fIAny\fP) \-\- +.IP \(bu 2 +\fBthis would be the match arg needed for key functions.\fP (\fIof\fP) \-\- +.IP \(bu 2 +\fBversionadded\fP (\fI\&.\fP) \-\- : v2015.8.11 +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B kwargs Any keyword arguments to pass to the wheel function @@ -159117,6 +171634,25 @@ salt \(aq*\(aq scsi.rescan_all(0) .SS Module for Manipulating Data via the Salt DB API .INDENT 0.0 .TP +.B salt.modules.sdb.delete(uri) +Delete a value from 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 deleted, return \fBFalse\fP\&. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq sdb.delete sdb://mymemcached/foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.sdb.get(uri) Get a value from a db, using a uri in the form of sdb:///. If the uri provided does not start with sdb://, then it will be returned as\-is. @@ -159259,6 +171795,12 @@ proper packages are installed. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.selinux.__virtual__() +Check if the os is Linux, and then if selinux is running in permissive or +enforcing mode. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.selinux.getenforce() Return the mode selinux is running in .sp @@ -159471,6 +172013,16 @@ Given the above, the chip is \(aqcoretemp\-isa\-0000\(aq. .sp New in version 2014.7.0. +.INDENT 0.0 +.TP +.B salt.modules.serverdensity_device.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.modules.serverdensity_device.create(name, **params) @@ -159687,6 +172239,11 @@ _ If Salt\(aqs OS detection does not identify a different virtual service module, the minion will fall back to using this basic module, which simply wraps sysvinit scripts. .INDENT 0.0 .TP +.B salt.modules.service.__virtual__() +Only work on systems which exclusively use sysvinit +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.service.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. @@ -160018,6 +172575,26 @@ salt \(aq*\(aq shadow.info root .UNINDENT .INDENT 0.0 .TP +.B salt.modules.shadow.lock_password(name) +New in version 2016.11.0. + +.sp +Lock the password from name user +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq shadow.lock_password username +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.shadow.set_date(name, date) Sets the value for the date the password was last changed to days since the epoch (January 1, 1970). See man chage. @@ -160154,6 +172731,26 @@ salt \(aq*\(aq shadow.set_warndays username 7 .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.shadow.unlock_password(name) +New in version 2016.11.0. + +.sp +Unlock the password from name user +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq shadow.unlock_password username +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.slack_notify .sp Module for sending messages to Slack @@ -160182,6 +172779,59 @@ slack: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.slack_notify.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.slack_notify.call_hook(message, attachment=None, color=\(aqgood\(aq, short=False, identifier=None, channel=None, username=None, icon_emoji=None) +Send message to Slack incomming webhook. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBmessage\fP \-\- The topic of message. +.IP \(bu 2 +\fBattachment\fP \-\- The message to send to the Slacke WebHook. +.IP \(bu 2 +\fBcolor\fP \-\- The color of border of left side +.IP \(bu 2 +\fBshort\fP \-\- An optional flag indicating whether the value is short +enough to be displayed side\-by\-side with other values. +.IP \(bu 2 +\fBidentifier\fP \-\- The identifier of WebHook. +.IP \(bu 2 +\fBchannel\fP \-\- The channel to use instead of the WebHook default. +.IP \(bu 2 +\fBusername\fP \-\- Username to use instead of WebHook default. +.IP \(bu 2 +\fBicon_emoji\fP \-\- Icon to use instead of WebHook default. +.UNINDENT +.TP +.B Returns +Boolean if message was sent successfuly. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq slack.post_hook message=\(aqHello, from SaltStack\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.slack_notify.find_room(name, api_key=None) Find a room by name and return it. .INDENT 7.0 @@ -160337,11 +172987,115 @@ salt \(aq*\(aq slack.post_message channel="Development Room" message="Build is d .SS salt.modules.slsutil .sp Utility functions for use with or in SLS files +.INDENT 0.0 +.TP +.B salt.modules.slsutil.renderer(path=None, string=None, default_renderer=\(aqjinja|yaml\(aq, **kwargs) +Parse a string or file through Salt\(aqs renderer system +.sp +This is an open\-ended function and can be used for a variety of tasks. It +makes use of Salt\(aqs "renderer pipes" system to run a string or file through +a pipe of any of the loaded renderer modules. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- The path to a file on the filesystem. +.IP \(bu 2 +\fBstring\fP \-\- An 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. +.IP \(bu 2 +\fBdefault_renderer\fP \-\- The renderer pipe to send the file through; this +is overridden by a "she\-bang" at the top of the file. +.IP \(bu 2 +\fBkwargs\fP \-\- Keyword args to pass to Salt\(aqs compile_template() function. +.UNINDENT +.UNINDENT +.sp +Keep in mind the goal of each renderer when choosing a render\-pipe; for +example, the Jinja renderer processes a text file and produces a string, +however the YAML renderer processes a text file and produces a data +structure. +.sp +One possible use is to allow writing "map files", as are commonly seen in +Salt formulas, but without tying the renderer of the map file to the +renderer used in the other sls files. In other words, a map file could use +the Python renderer and still be included and used by an sls file that uses +the default \(aqjinja|yaml\(aq renderer. +.sp +For example, the two following map files produce identical results but one +is written using the normal \(aqjinja|yaml\(aq and the other is using \(aqpy\(aq: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +#!jinja|yaml +{% set apache = salt.grains.filter_by({ + ...normal jinja map file here... +}, merge=salt.pillar.get(\(aqapache:lookup\(aq)) %} +{{ apache | yaml() }} +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +#!py +def run(): + apache = __salt__.grains.filter_by({ + ...normal map here but as a python dict... + }, merge=__salt__.pillar.get(\(aqapache:lookup\(aq)) + return apache +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Regardless of which of the above map files is used, it can be accessed from +any other sls file by calling this function. The following is a usage +example in Jinja: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{% set apache = salt.slsutil.renderer(\(aqmap.sls\(aq) %} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq slsutil.renderer /path/to/file +salt \(aq*\(aq slsutil.renderer /path/to/file.jinja \(aqjinja\(aq +salt \(aq*\(aq slsutil.renderer /path/to/file.sls \(aqjinja|yaml\(aq +salt \(aq*\(aq slsutil.renderer string=\(aqInline template! {{ saltenv }}\(aq +salt \(aq*\(aq slsutil.renderer string=\(aqHello, {{ name }}.\(aq name=\(aqworld\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.smartos_imgadm .sp Module for running imgadm command on SmartOS .INDENT 0.0 .TP +.B salt.modules.smartos_imgadm.__virtual__() +Provides imgadm only on SmartOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.smartos_imgadm.avail(search=None, verbose=False) Return a list of available images .INDENT 7.0 @@ -160550,11 +173304,193 @@ salt \(aq*\(aq imgadm.version .UNINDENT .UNINDENT .UNINDENT +.SS salt.modules.smartos_nictagadm module +.sp +Module for running nictagadm command on SmartOS +:maintainer: Jorge Schrauwen <\fI\%sjorge@blackdot.be\fP> +:maturity: new +:depends: nictagadm binary, dladm binary +:platform: smartos +.sp +\&..versionadded:: 2016.11.0 +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.__virtual__() +Provides nictagadm on SmartOS +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.add(name, mac, mtu=1500) +Add a new nictag +.INDENT 7.0 +.TP +.B name +string +name of new nictag +.TP +.B mac +string +mac of parent interface or \(aqetherstub\(aq to create a ether stub +.TP +.B mtu +int +MTU +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nictagadm.add storage etherstub +salt \(aq*\(aq nictagadm.add trunk \(aqDE:AD:OO:OO:BE:EF\(aq 9000 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.delete(name, force=False) +Delete nictag +.INDENT 7.0 +.TP +.B name +string +nictag to delete +.TP +.B force +boolean +force delete even if vms attached +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nictagadm.exists admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.exists(*nictag, **kwargs) +Check if nictags exists +.INDENT 7.0 +.TP +.B nictag +string +one or more nictags to check +.TP +.B verbose +boolean +return list of nictags +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nictagadm.exists admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.list(include_etherstubs=True) +List all nictags +.INDENT 7.0 +.TP +.B include_etherstubs +boolean +toggle include of etherstubs +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nictagadm.list +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.update(name, mac=None, mtu=None) +Update a nictag +.INDENT 7.0 +.TP +.B name +string +name of nictag +.TP +.B mac +string +optional new mac for nictag +.TP +.B mtu +int +optional new MTU for nictag +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nictagadm.update trunk mtu=9000 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.smartos_nictagadm.vms(nictag) +List all vms connect to nictag +.INDENT 7.0 +.TP +.B nictag +string +name of nictag +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nictagadm.vms admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.smartos_virt .sp virst compatibility module for managing VMs on SmartOS .INDENT 0.0 .TP +.B salt.modules.smartos_virt.__virtual__() +Provides virt on SmartOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.smartos_virt.create(domain) Deprecated since version Nitrogen: Use \fBstart()\fP instead. @@ -160825,6 +173761,11 @@ salt \(aq*\(aq virt.vm_virt_type Module for running vmadm command on SmartOS .INDENT 0.0 .TP +.B salt.modules.smartos_vmadm.__virtual__() +Provides vmadm on SmartOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.smartos_vmadm.create(from_file=None, **kwargs) Create a new vm .INDENT 7.0 @@ -161403,6 +174344,11 @@ Interface to SMBIOS/DMI .sp .INDENT 0.0 .TP +.B salt.modules.smbios.__virtual__() +Only work when dmidecode is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.smbios.get(string, clean=True) Get an individual DMI string from SMBIOS info .INDENT 7.0 @@ -161797,6 +174743,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.smf.__virtual__() +Only work on systems which default to SMF +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.smf.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. @@ -162137,6 +175088,11 @@ another\-smtp\-login: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.smtp.__virtual__() +Only load this module if smtplib is available on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.smtp.send_msg(recipient, message, subject=\(aqMessage from Salt\(aq, sender=None, server=None, use_ssl=\(aqTrue\(aq, username=None, password=None, profile=None) Send a message to an SMTP recipient. Designed for use in states. .sp @@ -162170,6 +175126,11 @@ solaris,illumos .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.modules.solaris_fmadm.__virtual__() +Provides fmadm only on Solaris +.UNINDENT .INDENT 0.0 .TP .B salt.modules.solaris_fmadm.acquit(fmri) @@ -162442,6 +175403,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.solaris_group.__virtual__() +Set the group module if the kernel is SunOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.solaris_group.add(name, gid=None, **kwargs) Add the specified group .sp @@ -162539,6 +175505,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.solaris_shadow.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.solaris_shadow.default_hash() Returns the default hash used for unset passwords .sp @@ -162723,6 +175694,11 @@ This module is assumes we are using solaris\-like shutdown .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.modules.solaris_system.__virtual__() +Only supported on Solaris\-like systems +.UNINDENT .INDENT 0.0 .TP .B salt.modules.solaris_system.halt() @@ -162850,6 +175826,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.solaris_user.__virtual__() +Set the user module if the kernel is SunOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.solaris_user.add(name, uid=None, gid=None, groups=None, home=None, shell=None, unique=True, fullname=\(aq\(aq, roomnumber=\(aq\(aq, workphone=\(aq\(aq, homephone=\(aq\(aq, createhome=True, **kwargs) Add a user to the minion .sp @@ -163202,6 +176183,11 @@ providers: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.solarisips.__virtual__() +Set the virtual pkg module if the os is Solaris 11 +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.solarisips.available_version(name, **kwargs) This function is an alias of \fBlatest_version\fP\&. .INDENT 7.0 @@ -163511,9 +176497,21 @@ When run in global zone, it updates also all non\-global zones. In non\-global zones upgrade is limited by dependency constrains linked to the version of pkg://solaris/entire. .sp -Returns also the raw output of the \fBpkg update\fP command (because if -update creates a new boot environment, no immediate changes are visible in -\fBpkg list\fP). +Returns a dictionary containing the changes: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +When there is a failure, an explanation is also included in the error +message, based on the return code of the \fBpkg update\fP command. .sp CLI Example: .INDENT 7.0 @@ -163579,6 +176577,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.solarispkg.__virtual__() +Set the virtual pkg module if the os is Solaris +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.solarispkg.install(name=None, sources=None, saltenv=\(aqbase\(aq, **kwargs) Install the passed package. Can install packages from the following sources: @@ -164055,6 +177058,14 @@ Get verbose output .UNINDENT .INDENT 0.0 .TP +.B salt.modules.solr.__virtual__() +PRIVATE METHOD +Solr needs to be installed to use this. +.sp +Return: str/bool +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.solr.abort_import(handler, host=None, core_name=None, verbose=False) MASTER ONLY Aborts an existing import command to the specified handler. @@ -164899,6 +177910,11 @@ splunk: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.splunk.__virtual__() +Only load this module if splunk is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.splunk.create_user(email, profile=\(aqsplunk\(aq, **kwargs) create a splunk user by name/email .sp @@ -164995,6 +178011,11 @@ splunk: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.splunk_search.__virtual__() +Only load this module if splunk is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.splunk_search.create(name, profile=\(aqsplunk\(aq, **kwargs) Create a splunk search .sp @@ -165279,7 +178300,7 @@ salt \(aq*\(aq ssh.check_key .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ssh.check_key_file(user, source, config=\(aq.ssh/authorized_keys\(aq, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.ssh.check_key_file(user, source, config=\(aq.ssh/authorized_keys\(aq, saltenv=\(aqbase\(aq) Check a keyfile from a source destination against the local keys and return the keys to change .sp @@ -165413,7 +178434,7 @@ salt \(aq*\(aq ssh.key_is_encrypted /root/id_rsa .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ssh.recv_known_host(hostname, enc=None, port=None, hash_hostname=True, hash_known_hosts=True, timeout=5) +.B salt.modules.ssh.recv_known_host(hostname, enc=None, port=None, hash_known_hosts=True, timeout=5) Retrieve information about host public key from remote server .INDENT 7.0 .TP @@ -165428,13 +178449,6 @@ or ssh\-dss optional parameter, denoting the port of the remote host, which will be used in case, if the public key will be requested from it. By default the port 22 is used. -.TP -.B hash_hostname -True -Hash all hostnames and addresses in the known hosts file. -.sp -Deprecated since version Carbon: Please use hash_known_hosts instead. - .TP .B hash_known_hosts True @@ -165482,7 +178496,7 @@ salt \(aq*\(aq ssh.rm_auth_key .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ssh.rm_auth_key_from_file(user, source, config=\(aq.ssh/authorized_keys\(aq, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.ssh.rm_auth_key_from_file(user, source, config=\(aq.ssh/authorized_keys\(aq, saltenv=\(aqbase\(aq) Remove an authorized key from the specified user\(aqs authorized key file, using a file as source .sp @@ -165537,7 +178551,7 @@ salt \(aq*\(aq ssh.set_auth_key \(aq\(aq enc=\(aqdsa\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ssh.set_auth_key_from_file(user, source, config=\(aq.ssh/authorized_keys\(aq, saltenv=\(aqbase\(aq, env=None) +.B salt.modules.ssh.set_auth_key_from_file(user, source, config=\(aq.ssh/authorized_keys\(aq, saltenv=\(aqbase\(aq) Add a key to the authorized_keys file, using a file as the source. .sp CLI Example: @@ -165554,7 +178568,7 @@ salt \(aq*\(aq ssh.set_auth_key_from_file salt://ssh_keys/.id_rsa.p .UNINDENT .INDENT 0.0 .TP -.B salt.modules.ssh.set_known_host(user=None, hostname=None, fingerprint=None, key=None, port=None, enc=None, hash_hostname=True, config=None, hash_known_hosts=True, timeout=5) +.B salt.modules.ssh.set_known_host(user=None, hostname=None, fingerprint=None, key=None, port=None, enc=None, config=None, hash_known_hosts=True, timeout=5) Download SSH public key from remote host "hostname", optionally validate its fingerprint against "fingerprint" variable and save the record in the known_hosts file. @@ -165584,13 +178598,6 @@ the port 22 is used. .B enc Defines what type of key is being used, can be ed25519, ecdsa ssh\-rsa or ssh\-dss -.TP -.B hash_hostname -True -Hash all hostnames and addresses in the known hosts file. -.sp -Deprecated since version Carbon: Please use hash_known_hosts instead. - .TP .B config The location of the authorized keys file relative to the user\(aqs home @@ -165658,15 +178665,8 @@ to prevent Salt from publishing private data via Salt Mine or others. Service support for the REST example .INDENT 0.0 .TP -.B salt.modules.ssh_package.install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.ssh_package.list_pkgs(versions_as_list=False, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.ssh_package.remove(name=None, pkgs=None, **kwargs) +.B salt.modules.ssh_package.__virtual__() +Only work on proxy .UNINDENT .SS salt.modules.ssh_service module .sp @@ -165674,6 +178674,11 @@ Provide the service module for the proxy\-minion SSH sample .. versionadded:: 2015.8.2 .INDENT 0.0 .TP +.B salt.modules.ssh_service.__virtual__() +Only work on systems that are a proxy minion +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.ssh_service.enabled(name, sig=None) Only the \(aqredbull\(aq service is \(aqenabled\(aq in the test .UNINDENT @@ -165795,6 +178800,11 @@ highdata and won\(aqt hit the fileserver except for \fBsalt://\fP links in the states themselves. .INDENT 0.0 .TP +.B salt.modules.state.__virtual__() +Set the virtualname +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.state.apply(mods=None, **kwargs) New in version 2015.5.0. @@ -166143,7 +179153,7 @@ salt\-call \-\-local state.event pretty=True .B salt.modules.state.high(data, test=None, queue=False, **kwargs) Execute the compound calls stored in a single set of high data .sp -This function is mostly intended for testing the state system andis not +This function is mostly intended for testing the state system and is not likely to be needed in everyday usage. .sp CLI Example: @@ -166280,6 +179290,41 @@ salt \(aq*\(aq state.low \(aq{"state": "pkg", "fun": "installed", "name": "vi"}\ .UNINDENT .INDENT 0.0 .TP +.B salt.modules.state.orchestrate(mods, saltenv=\(aqbase\(aq, test=None, exclude=None, pillar=None, pillarenv=None) +New in version 2016.11.0. + +.sp +Execute the orchestrate runner from a masterless minion. +.sp +\fBSEE ALSO:\fP +.INDENT 7.0 +.INDENT 3.5 +More Orchestrate documentation +.INDENT 0.0 +.IP \(bu 2 +Full Orchestrate Tutorial +.IP \(bu 2 +\fBDocs for the \(ga\(gasalt\(ga\fP state module \(ga +.UNINDENT +.UNINDENT +.UNINDENT +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-call \-\-local state.orchestrate webserver +salt\-call \-\-local state.orchestrate webserver saltenv=dev test=True +salt\-call \-\-local state.orchestrate webserver saltenv=dev pillarenv=aws +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.state.pkg(pkg_path, pkg_sum, hash_type, test=None, **kwargs) Execute a packaged state run, the packaged state run will exist in a tarball available locally. This packaged state @@ -166291,7 +179336,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq state.pkg /tmp/state_pkg.tgz +salt \(aq*\(aq state.pkg /tmp/salt_state.tgz 760a9353810e36f6d81416366fc426dc md5 .ft P .fi .UNINDENT @@ -166381,10 +179426,9 @@ salt \(aq*\(aq state.show_highstate .UNINDENT .INDENT 0.0 .TP -.B salt.modules.state.show_low_sls(mods, saltenv=\(aqbase\(aq, test=None, queue=False, env=None, **kwargs) +.B salt.modules.state.show_low_sls(mods, saltenv=\(aqbase\(aq, test=None, queue=False, **kwargs) Display the low data from a specific sls. The default environment is -\fBbase\fP, use \fBsaltenv\fP (\fBenv\fP in Salt 0.17.x and older) to specify a -different environment. +\fBbase\fP, use \fBsaltenv\fP to specify a different environment. .sp CLI Example: .INDENT 7.0 @@ -166417,10 +179461,10 @@ salt \(aq*\(aq state.show_lowstate .UNINDENT .INDENT 0.0 .TP -.B salt.modules.state.show_sls(mods, saltenv=\(aqbase\(aq, test=None, queue=False, env=None, **kwargs) +.B salt.modules.state.show_sls(mods, saltenv=\(aqbase\(aq, test=None, queue=False, **kwargs) Display the state data from a specific sls or list of sls files on the -master. The default environment is \fBbase\fP, use \fBsaltenv\fP (\fBenv\fP in -Salt 0.17.x and older) to specify a different environment. +master. The default environment is \fBbase\fP, use \fBsaltenv\fP to specify a +different environment. .sp This function does not support topfiles. For \fBtop.sls\fP please use \fBshow_top\fP instead. @@ -166481,7 +179525,7 @@ salt \(aq*\(aq state.single pkg.installed name=vim .UNINDENT .INDENT 0.0 .TP -.B salt.modules.state.sls(mods, saltenv=None, test=None, exclude=None, queue=False, env=None, pillarenv=None, **kwargs) +.B salt.modules.state.sls(mods, saltenv=None, test=None, exclude=None, queue=False, pillarenv=None, **kwargs) Execute the states in one or more SLS files .INDENT 7.0 .TP @@ -166605,6 +179649,8 @@ salt \(aq*\(aq state.sls myslsfile pillar="{foo: \(aqFoo!\(aq, bar: \(aqBar!\(aq .B salt.modules.state.sls_id(id_, mods, saltenv=\(aqbase\(aq, test=None, queue=False, **kwargs) Call a single ID from the named module(s) and handle all requisites .sp +The state ID comes \fIbefore\fP the module ID(s) on the command line. +.sp New in version 2014.7.0. .sp @@ -166614,7 +179660,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq state.sls_id apache http +salt \(aq*\(aq state.sls_id my_state my_module .ft P .fi .UNINDENT @@ -166846,10 +179892,10 @@ salt \(aq*\(aq status.loadavg New in version 2014.7.0. .sp -Fire an event if the minion gets disconnected from its master. This -function is meant to be run via a scheduled job from the minion. If -master_ip is an FQDN/Hostname, it must be resolvable to a valid IPv4 -address. +Return the connection status with master. Fire an event if the +connection to master is not as expected. This function is meant to be +run via a scheduled job from the minion. If master_ip is an FQDN/Hostname, +it must be resolvable to a valid IPv4 address. .sp CLI Example: .INDENT 7.0 @@ -166958,7 +180004,7 @@ salt \(aq*\(aq status.pid New in version 2016.3.0. .sp -Sends ping request to the given master. Fires \(aq__master_alive\(aq event on success. +Sends ping request to the given master. Fires \(aq__master_failback\(aq event on success. Returns bool result. .sp CLI Example: @@ -167017,6 +180063,31 @@ salt \(aq*\(aq status.time \(aq%s\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.status.uptime() +Return the uptime for this system. +.sp +Changed in version 2015.8.9: The uptime function was changed to return a dictionary of easy\-to\-read +key/value pairs containing uptime information, instead of the output +from a \fBcmd.run\fP call. + +.sp +Changed in version carbon: Fall back to output of \fIuptime\fP when /proc/uptime is not available. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq status.uptime +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.status.version() Return the system version for this minion .sp @@ -167073,6 +180144,11 @@ Support for Stormpath .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.modules.stormpath.__virtual__() +Only load the module if apache is installed +.UNINDENT .INDENT 0.0 .TP .B salt.modules.stormpath.create_account(directory_id, email, password, givenName, surname, **kwargs) @@ -167455,8 +180531,8 @@ salt \(aq*\(aq supervisord.stop : .UNINDENT .INDENT 0.0 .TP -.B salt.modules.supervisord.update(user=None, conf_file=None, bin_env=None) -Reload config and add/remove as necessary +.B salt.modules.supervisord.update(user=None, conf_file=None, bin_env=None, name=None) +Reload config and add/remove/update as necessary .INDENT 7.0 .TP .B user @@ -167468,6 +180544,10 @@ path to supervisord config file .B bin_env path to supervisorctl bin or path to virtualenv with supervisor installed +.TP +.B name +name of the process group to update. if none then update any +process group that has changes .UNINDENT .sp CLI Example: @@ -167487,6 +180567,11 @@ salt \(aq*\(aq supervisord.update Subversion SCM .INDENT 0.0 .TP +.B salt.modules.svn.__virtual__() +Only load if svn is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.svn.add(cwd, targets, user=None, username=None, password=None, *opts) Add files to be tracked by the Subversion working\-copy checkout .INDENT 7.0 @@ -168014,6 +181099,12 @@ NOTE: For Rackspace cloud files setting keystone.auth_version = 1 is recommended .UNINDENT .INDENT 0.0 .TP +.B salt.modules.swift.__virtual__() +Only load this module if swift +is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.swift.delete(cont, path=None, profile=None) Delete a container, or delete an object from a container. .sp @@ -168098,10 +181189,6 @@ salt myminion swift.get mycontainer myfile.png local_file=/tmp/myfile.png .UNINDENT .INDENT 0.0 .TP -.B salt.modules.swift.head() -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.swift.put(cont, path=None, local_file=None, profile=None) Create a new container, or upload an object to a container. .sp @@ -168137,6 +181224,11 @@ It measures various system parameters such as CPU, Memory, File I/O, Threads and Mutex. .INDENT 0.0 .TP +.B salt.modules.sysbench.__virtual__() +loads the module, if only sysbench is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.sysbench.cpu() Tests for the CPU performance of minions. .sp @@ -168223,10 +181315,6 @@ salt \(aq*\(aq sysbench.mutex .UNINDENT .INDENT 0.0 .TP -.B salt.modules.sysbench.ping() -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.sysbench.threads() This tests the performance of the processor\(aqs scheduler .sp @@ -168255,6 +181343,11 @@ Module for interfacing with SysFS .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.modules.sysfs.__virtual__() +Only work on Linux +.UNINDENT .INDENT 0.0 .TP .B salt.modules.sysfs.attr(key, value=None) @@ -168433,10 +181526,6 @@ A TypedParameterValue has one or more Arguments. For example this can be the value of key_file. .sp Does not need examples. -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168478,10 +181567,6 @@ use existing configuration snippets. .UNINDENT .sp Does not need examples. -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168498,14 +181583,6 @@ A Statement class contains Option instances. An instance of Option can represent a file(), tcp(), udp(), etc. option. .sp Does not need examples. -.INDENT 7.0 -.TP -.B add_parameter(param) -.UNINDENT -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168546,10 +181623,6 @@ destination d_file { \fB/var/log/messages\fP is a SimpleParameter. .sp Does not need examples. -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168559,10 +181632,6 @@ A ParameterValuem which holds a simple type, like a string or a number. For example in ip(127.0.0.1) 127.0.0.1 is a SimpleParameterValue. .sp Does not need examples. -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168571,22 +181640,6 @@ It represents a syslog\-ng configuration statement, e.g. source, destination, filter. .sp Does not need examples. -.INDENT 7.0 -.TP -.B add_child(option) -.UNINDENT -.INDENT 7.0 -.TP -.B build_header() -.UNINDENT -.INDENT 7.0 -.TP -.B build_tail() -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B exception salt.modules.syslog_ng.SyslogNgError .UNINDENT .INDENT 0.0 .TP @@ -168610,14 +181663,6 @@ destination d_tcp { \fBip(127.0.0.1)\fP is a TypedParameter. .sp Does not need examples. -.INDENT 7.0 -.TP -.B add_value(value) -.UNINDENT -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168647,14 +181692,6 @@ source demo_tls_source { .UNINDENT .sp Does not need examples. -.INDENT 7.0 -.TP -.B add_argument(arg) -.UNINDENT -.INDENT 7.0 -.TP -.B build() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -168950,6 +181987,11 @@ salt \(aq*\(aq syslog_ng.write_version name="3.6" The sys module provides information about the available functions on the minion .INDENT 0.0 .TP +.B salt.modules.sysmod.__virtual__() +Return as sys +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.sysmod.argspec(module=\(aq\(aq) Return the argument specification of functions in Salt execution modules. @@ -169059,6 +182101,19 @@ salt \(aq*\(aq sys.list_functions \(aqsys.list_*\(aq .fi .UNINDENT .UNINDENT +.sp +New in version ?. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq sys.list_functions \(aqmodule.specific_function\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -169308,6 +182363,19 @@ salt \(aq*\(aq sys.list_state_functions \(aqfile.s*\(aq .fi .UNINDENT .UNINDENT +.sp +New in version ?. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq sys.list_state_functions \(aqmodule.specific_function\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -169664,6 +182732,11 @@ salt \(aq*\(aq sys.state_schema pkg.installed sysrc module for FreeBSD .INDENT 0.0 .TP +.B salt.modules.sysrc.__virtual__() +Only runs if sysrc exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.sysrc.get(**kwargs) Return system rc configuration variables .sp @@ -169730,6 +182803,126 @@ salt \(aq*\(aq sysrc.set name=sshd_flags value="\-p 2222" Support for reboot, shutdown, etc .INDENT 0.0 .TP +.B salt.modules.system.__virtual__() +Only supported on POSIX\-like systems +Windows, Solaris, and Mac have their own modules +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.system.get_computer_desc() +Get PRETTY_HOSTNAME value stored in /etc/machine\-info +If this file doesn\(aqt exist or the variable doesn\(aqt exist +return False. +.INDENT 7.0 +.TP +.B Returns +Value of PRETTY_HOSTNAME if this does not exist False. +.TP +.B Return type +\fI\%str\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_computer_desc +.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 +.UNINDENT +.sp +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 allow +negative offsets. +:return: Returns the system date. +:rtype: str +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_system_date +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.system.get_system_date_time(utc_offset=None) +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 +.UNINDENT +.sp +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 allow +negative offsets. +:return: Returns the system time in YYYY\-MM\-DD hh:mm:ss format. +:rtype: str +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_system_date_time "\(aq\-0500\(aq" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.system.get_system_time(utc_offset=None) +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 +.UNINDENT +.sp +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 allow +negative offsets. +:return: Returns the system time in HH:MM AM/PM format. +:rtype: str +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_system_time +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.system.halt() Halt a running system .sp @@ -169803,6 +182996,155 @@ salt \(aq*\(aq system.reboot .UNINDENT .INDENT 0.0 .TP +.B salt.modules.system.set_computer_desc(desc) +Set PRETTY_HOSTNAME value stored in /etc/machine\-info +This will create the file if it does not exist. If +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 +.TP +.B Returns +False on failure. True if successful. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.set_computer_desc "Michael\(aqs laptop" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.system.set_system_date(newdate, utc_offset=None) +Set the Windows system date. Use format for the date. +.INDENT 7.0 +.TP +.B Parameters +\fBnewdate\fP (\fI\%str\fP) \-\- The date to set. Can be any of the following formats +\- YYYY\-MM\-DD +\- MM\-DD\-YYYY +\- MM\-DD\-YY +\- MM/DD/YYYY +\- MM/DD/YY +\- YYYY/MM/DD +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.set_system_date \(aq03\-28\-13\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.system.set_system_date_time(years=None, months=None, days=None, hours=None, minutes=None, seconds=None, utc_offset=None) +Set the system date and time. Each argument is an element of the date, but +not required. If an element is not passed, the current system value for +that element will be used. For example, if you don\(aqt pass the year, the +current system year will be used. (Used by set_system_date and +set_system_time) +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fByears\fP (\fI\%int\fP) \-\- Years digit, ie: 2015 +.IP \(bu 2 +\fBmonths\fP (\fI\%int\fP) \-\- Months digit: 1 \- 12 +.IP \(bu 2 +\fBdays\fP (\fI\%int\fP) \-\- Days digit: 1 \- 31 +.IP \(bu 2 +\fBhours\fP (\fI\%int\fP) \-\- Hours digit: 0 \- 23 +.IP \(bu 2 +\fBminutes\fP (\fI\%int\fP) \-\- Minutes digit: 0 \- 59 +.IP \(bu 2 +\fBseconds\fP (\fI\%int\fP) \-\- Seconds digit: 0 \- 59 +.IP \(bu 2 +\fButc_offset\fP (\fI\%str\fP) \-\- The utc offset in 4 digit (+0600) format with an +.UNINDENT +.UNINDENT +.sp +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 allow +negative offsets. +:return: True if successful. Otherwise False. +:rtype: bool +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.set_system_date_time 2015 5 12 11 37 53 "\(aq\-0500\(aq" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.system.set_system_time(newtime, utc_offset=None) +Set the system time. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBnewtime\fP (\fI\%str\fP) \-\- +.sp +The time to set. Can be any of the following formats. +\- HH:MM:SS AM/PM +\- HH:MM AM/PM +\- HH:MM:SS (24 hour) +\- HH:MM (24 hour) +.sp +Note that the salt command line parser parses the date/time +before we obtain the argument (preventing us from doing utc) +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 +.UNINDENT +.UNINDENT +.sp +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 allow +negative offsets. +:return: Returns True if successful. Otherwise False. +:rtype: bool +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.set_system_time "\(aq11:20\(aq" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.system.shutdown(at_time=None) Shutdown a running system .INDENT 7.0 @@ -169832,6 +183174,11 @@ information about package receipts and installed applications. .sp New in version 2015.5.0. +.INDENT 0.0 +.TP +.B salt.modules.system_profiler.__virtual__() +Check to see if the system_profiler binary is available +.UNINDENT .INDENT 0.0 .TP .B salt.modules.system_profiler.applications() @@ -169896,6 +183243,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.systemd.__virtual__() +Only work on systems that have been booted with systemd +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.systemd.available(name) New in version 0.10.4. @@ -169918,7 +183270,7 @@ salt \(aq*\(aq service.available sshd .INDENT 0.0 .TP .B salt.modules.systemd.disable(name, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -169961,7 +183313,7 @@ salt \(aq*\(aq service.disabled .INDENT 0.0 .TP .B salt.modules.systemd.enable(name, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170019,7 +183371,7 @@ salt \(aq*\(aq service.execs .INDENT 0.0 .TP .B salt.modules.systemd.force_reload(name) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170098,6 +183450,23 @@ salt \(aq*\(aq service.get_enabled .UNINDENT .INDENT 0.0 .TP +.B salt.modules.systemd.get_running() +Return a list of all running services, so far as systemd is concerned +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.get_running +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.systemd.get_static() New in version 2015.8.5. @@ -170122,7 +183491,7 @@ salt \(aq*\(aq service.get_static New in version 2015.5.0. .sp -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170205,7 +183574,7 @@ salt \(aq*\(aq service.missing sshd .INDENT 0.0 .TP .B salt.modules.systemd.reload(name) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170231,7 +183600,7 @@ salt \(aq*\(aq service.reload .INDENT 0.0 .TP .B salt.modules.systemd.restart(name) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170272,7 +183641,7 @@ salt \(aq*\(aq service.show .INDENT 0.0 .TP .B salt.modules.systemd.start(name) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170316,7 +183685,7 @@ salt \(aq*\(aq service.status .INDENT 0.0 .TP .B salt.modules.systemd.stop(name) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170365,7 +183734,7 @@ salt \(aq*\(aq service.systemctl_reload New in version 2015.5.0. .sp -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 the \fBsalt\-minion\fP service is restarted while a service is being @@ -170828,10 +184197,6 @@ salt \(aq*\(aq test.kwarg num=1 txt="two" env=\(aq{a: 1, b: "hello"}\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.test.missing_func() -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.test.module_report() Return a dict containing all of the execution modules with a report on the overall availability via different references @@ -171190,15 +184555,16 @@ salt \(aq*\(aq test.versions_report .SS salt.modules.test_virtual .sp Module for running arbitrary tests with a __virtual__ function -.INDENT 0.0 -.TP -.B salt.modules.test_virtual.ping() -.UNINDENT .SS salt.modules.timezone .sp Module for managing timezone on POSIX\-like systems. .INDENT 0.0 .TP +.B salt.modules.timezone.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.timezone.get_hwclock() Get current hardware clock setting (UTC or localtime) .sp @@ -171472,6 +184838,11 @@ Created Certificate for "www.anothersometh.ing": /etc/pki/my_little/certs/someth .UNINDENT .INDENT 0.0 .TP +.B salt.modules.tls.__virtual__() +Only load this module if the ca config options are set +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.tls.ca_exists(ca_name, cacert_path=None, ca_filename=None) Verify whether a Certificate Authority (CA) already exists .INDENT 7.0 @@ -172452,7 +185823,12 @@ Apache Tomcat/7.0.37 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.tomcat.deploy_war(war, context, force=\(aqno\(aq, url=\(aqhttp://localhost:8080/manager\(aq, saltenv=\(aqbase\(aq, timeout=180, env=None, temp_war_location=None, version=\(aq\(aq) +.B salt.modules.tomcat.__virtual__() +Only load tomcat if it is installed or if grains/pillar config exists +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.tomcat.deploy_war(war, context, force=\(aqno\(aq, url=\(aqhttp://localhost:8080/manager\(aq, saltenv=\(aqbase\(aq, timeout=180, temp_war_location=None, version=\(aq\(aq) Deploy a WAR file .INDENT 7.0 .TP @@ -172911,7 +186287,7 @@ Apache Traffic Server execution module. New in version 2015.8.0. .sp -\fBtraffic_line\fP is used to execute individual Traffic Server commands and to +\fBtraffic_ctl\fP is used to execute individual Traffic Server commands and to script multiple commands in a shell. .INDENT 0.0 .TP @@ -172949,11 +186325,15 @@ salt \(aq*\(aq trafficserver.bounce_cluster .B salt.modules.trafficserver.bounce_local(drain=False) Bounce Traffic Server on the local node. Bouncing Traffic Server shuts down and immediately restarts the Traffic Server node. -.sp -This option modifies the behavior of traffic_line \-b and traffic_line \-L -such that traffic_server is not shut down until the number of active client -connections drops to the number given by the -proxy.config.restart.active_client_threshold configuration variable. +.INDENT 7.0 +.TP +.B drain +This option modifies the restart behavior such that traffic_server +is not shut down until the number of active client connections +drops to the number given by the +proxy.config.restart.active_client_threshold configuration +variable. +.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -173015,9 +186395,50 @@ salt \(aq*\(aq trafficserver.clear_node .UNINDENT .INDENT 0.0 .TP +.B salt.modules.trafficserver.match_config(regex) +Display the current values of all configuration variables whose +names match the given regular expression. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq trafficserver.match_config regex +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.trafficserver.match_metric(regex) +Display the current values of all metrics whose names match the +given regular expression. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq trafficserver.match_metric regex +.ft P +.fi +.UNINDENT +.UNINDENT +.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 Oxygen: Use \fBmatch_metric\fP or \fBmatch_config\fP instead. + .INDENT 7.0 .INDENT 3.5 .sp @@ -173051,10 +186472,48 @@ salt \(aq*\(aq trafficserver.offline /path/to/cache .UNINDENT .INDENT 0.0 .TP -.B salt.modules.trafficserver.read_var(*args) -Read variable definitions from the traffic_line command +.B salt.modules.trafficserver.read_config(*args) +Read Traffic Server configuration variable definitions. .sp -This allows reading arbitrary key=value pairs from within trafficserver +New in version 2016.11.0. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq trafficserver.read_config proxy.config.http.keep_alive_post_out +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.trafficserver.read_metric(*args) +Read Traffic Server one or more metrics. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq trafficserver.read_metric proxy.process.http.tcp_hit_count_stat +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.trafficserver.read_var(*args) +Read variable definitions from the traffic_line command. +.sp +Deprecated since version Oxygen: 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 @@ -173105,11 +186564,15 @@ salt \(aq*\(aq trafficserver.restart_cluster .TP .B salt.modules.trafficserver.restart_local(drain=False) Restart the traffic_manager and traffic_server processes on the local node. -.sp -This option modifies the behavior of traffic_line \-b and traffic_line \-L -such that traffic_server is not shut down until the number of active client -connections drops to the number given by the -proxy.config.restart.active_client_threshold configuration variable. +.INDENT 7.0 +.TP +.B drain +This option modifies the restart behavior such that +\fBtraffic_server\fP is not shut down until the number of +active client connections drops to the number given by the +\fBproxy.config.restart.active_client_threshold\fP configuration +variable. +.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -173124,17 +186587,49 @@ salt \(aq*\(aq trafficserver.restart_local drain=True .UNINDENT .INDENT 0.0 .TP +.B salt.modules.trafficserver.set_config(variable, value) +Set the value of a Traffic Server configuration variable. +.INDENT 7.0 +.TP +.B variable +Name of a Traffic Server configuration variable. +.TP +.B value +The new value to set. +.UNINDENT +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq trafficserver.set_config proxy.config.http.keep_alive_post_out 0 +.ft P +.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 -salt \(aq*\(aq trafficserver.set_var proxy.config.http.server_ports + .ft P .fi .UNINDENT .UNINDENT +.sp +Deprecated since version Oxygen: 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 @@ -173230,6 +186725,11 @@ Linux .UNINDENT .INDENT 0.0 .TP +.B salt.modules.tuned.__virtual__() +Check to see if tuned\-adm binary is installed on the system +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.tuned.active() Return current active profile .sp @@ -173330,6 +186830,11 @@ my\-twilio\-account: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.twilio_notify.__virtual__() +Only load this module if twilio is installed on this minion. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.twilio_notify.send_sms(profile, body, to, from_) Send an sms .sp @@ -173346,6 +186851,11 @@ Manage and query udev info .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.modules.udev.__virtual__() +Only work when udevadm is installed. +.UNINDENT .INDENT 0.0 .TP .B salt.modules.udev.env(dev) @@ -173366,6 +186876,13 @@ salt \(aq*\(aq udev.env /sys/class/net/eth0 .UNINDENT .INDENT 0.0 .TP +.B salt.modules.udev.exportdb() +Return all the udev database +.sp +CLI Example: +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.udev.info(dev) Extract all info delivered by udevadm .sp @@ -173498,6 +187015,11 @@ RHEL/CentOS 6. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.upstart.__virtual__() +Only work on Ubuntu +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.upstart.available(name) Returns \fBTrue\fP if the specified service is available, otherwise returns \fBFalse\fP\&. @@ -173776,6 +187298,11 @@ salt \(aq*\(aq service.stop .SS Wrapper around uptime API .INDENT 0.0 .TP +.B salt.modules.uptime.__virtual__() +Only load this module if the requests python module is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.uptime.check_exists(name) Check if a given URL is in being monitored by uptime .sp @@ -173861,6 +187388,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.useradd.__virtual__() +Set the user module if the kernel is Linux, OpenBSD or NetBSD +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.useradd.add(name, uid=None, gid=None, groups=None, home=None, shell=None, unique=True, system=False, fullname=\(aq\(aq, roomnumber=\(aq\(aq, workphone=\(aq\(aq, homephone=\(aq\(aq, createhome=True, loginclass=None, root=None) Add a user to the minion .sp @@ -174230,6 +187762,11 @@ all .UNINDENT .INDENT 0.0 .TP +.B salt.modules.uwsgi.__virtual__() +Only load the module if uwsgi is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.uwsgi.stats(socket) Return the data from \fIuwsgi \-\-connect\-and\-read\fP as a dictionary. .INDENT 7.0 @@ -174268,6 +187805,11 @@ from 3.x onwards .UNINDENT .INDENT 0.0 .TP +.B salt.modules.varnish.__virtual__() +Only load the module if varnish is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.varnish.ban(ban_expression) Add ban to the varnish cache .sp @@ -174373,6 +187915,11 @@ salt \(aq*\(aq varnish.version VirtualBox Guest Additions installer .INDENT 0.0 .TP +.B salt.modules.vbox_guest.__virtual__() +Set the vbox_guest module if the OS Linux +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.vbox_guest.additions_install(*args, **kwargs) Install VirtualBox Guest Additions. Uses the CD, connected by VirtualBox. .sp @@ -174588,6 +188135,11 @@ virtualbox .UNINDENT .INDENT 0.0 .TP +.B salt.modules.vboxmanage.__virtual__() +Only load the module if VBoxManage is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.vboxmanage.clonemedium(medium, uuid_in=None, file_in=None, uuid_out=None, file_out=None, mformat=None, variant=None, existing=False, **kwargs) Clone a new VM from an existing VM .sp @@ -174641,6 +188193,18 @@ salt \(aqhypervisor\(aq vboxmanage.create .TP .B salt.modules.vboxmanage.destroy(name) Unregister and destroy a VM +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.destroy my_vm +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -174696,46 +188260,154 @@ items contain that field. In those cases, another field must be specified. .TP .B salt.modules.vboxmanage.list_nodes() Return a list of registered VMs +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.list_nodes +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.list_nodes_full() Return a list of registered VMs, with detailed information +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.list_nodes_full +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.list_nodes_min() Return a list of registered VMs, with minimal information +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.list_nodes_min +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.list_ostypes() List the available OS Types +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.list_ostypes +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.register(filename) Register a VM +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.register my_vm_filename +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.start(name) Start a VM +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.start my_vm +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.stop(name) Stop a VM +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.stop my_vm +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.unregister(name, delete=False) Unregister a VM +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.unregister my_vm_filename +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.vboxmanage.vboxcmd() Return the location of the VBoxManage command +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq vboxmanage.vboxcmd +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.victorops .sp @@ -174747,6 +188419,11 @@ New in version 2015.8.0. Requires an \fBapi_key\fP in \fB/etc/salt/minion\fP: .INDENT 0.0 .TP +.B salt.modules.victorops.__virtual__() +Only load the module if apache is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.victorops.create_event(message_type=None, routing_key=\(aqeverybody\(aq, **kwargs) Create an event in VictorOps. Designed for use in states. .sp @@ -176686,7 +190363,7 @@ salt \(aq*\(aq vsphere.enable_firewall_ruleset my.vcenter.location root bad\-pas .UNINDENT .INDENT 0.0 .TP -.B salt.modules.vsphere.esxcli_cmd(host, username, password, cmd_str, protocol=None, port=None, esxi_hosts=None) +.B salt.modules.vsphere.esxcli_cmd(cmd_str, host=None, username=None, password=None, protocol=None, port=None, esxi_hosts=None) Run an ESXCLI command directly on the host or list of hosts. .INDENT 7.0 .TP @@ -178893,6 +192570,11 @@ 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.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_autoruns.list() Get a list of automatically running programs .sp @@ -178924,6 +192606,11 @@ salt \(aq*\(aq certutil.add_store salt://cert.cer "TrustedPublisher" .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_certutil.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_certutil.add_store(source, store, saltenv=\(aqbase\(aq) Add the given cert into the given Certificate Store .INDENT 7.0 @@ -178991,6 +192678,18 @@ Get the serial number of a certificate file .B cert_file The certificate file to find the serial for .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq certutil.get_cert_serial +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -179001,6 +192700,18 @@ Get all of the certificate serials in the specified store .B store The store to get all the certificate serials from .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq certutil.get_stored_cert_serials +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.win_dacl .sp @@ -179015,6 +192726,11 @@ winreg Python module .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_dacl.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_dacl.add_ace(path, objectType, user, permission, acetype, propagation) add an ace to an object .sp @@ -179040,29 +192756,77 @@ allow domain\efakeuser full control on HKLM\e\eSOFTWARE\e\esomekey, propagate to .INDENT 0.0 .TP .B salt.modules.win_dacl.check_ace(path, objectType, user, permission=None, acetype=None, propagation=None, exactPermissionMatch=False) -checks a path to verify the ACE (access control entry) specified exists -returns \(aqExists\(aq true if the ACE exists, false if it does not +Checks a path to verify the ACE (access control entry) specified exists +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- path to the file/reg key +.IP \(bu 2 +\fBobjectType\fP \-\- The type of object (FILE, DIRECTORY, REGISTRY) +.IP \(bu 2 +\fBuser\fP \-\- user that the ACL is for +.IP \(bu 2 +\fBpermission\fP \-\- permission to test for (READ, FULLCONTROL, etc) +.IP \(bu 2 +\fBacetype\fP \-\- the type of ACE (ALLOW or DENY) +.IP \(bu 2 +\fBpropagation\fP \-\- the propagation type of the ACE (FILES, FOLDERS, KEY, KEY&SUBKEYS, SUBKEYS, etc) +.IP \(bu 2 +\fBexactPermissionMatch\fP \-\- the ACL must match exactly, IE if READ is specified, the user must have READ exactly and not FULLCONTROL (which also has the READ permission obviously) +.UNINDENT +.UNINDENT .sp -path: path to the file/reg key -user: user that the ACL is for -permission: permission to test for (READ, FULLCONTROl, etc) -acetype: the type of ACE (ALLOW or DENY) -propagation: the propagation type of the ACE (FILES, FOLDERS, KEY, KEY&SUBKEYS, SUBKEYS, etc) -exactPermissionMatch: the ACL must match exactly, IE if READ is specified, the user must have READ exactly and not FULLCONTROL (which also has the READ permission obviously) +Returns (dict): \(aqExists\(aq true if the ACE exists, false if it does not +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq win_dacl.check_ace c: emp directory fullcontrol +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.win_dacl.check_inheritance(path, objectType, user=None) -check a specified path to verify if inheritance is enabled -returns \(aqInheritance\(aq of True/False +Check a specified path to verify if inheritance is enabled +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- path of the registry key or file system object to check +.IP \(bu 2 +\fBobjectType\fP \-\- The type of object (FILE, DIRECTORY, REGISTRY) +.IP \(bu 2 +\fBuser\fP \-\- if provided, will consider only the ACEs for that user +.UNINDENT +.UNINDENT .sp -path: path of the registry key or file system object to check -user: if provided, will consider only the ACEs for that user +Returns (bool): \(aqInheritance\(aq of True/False +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq win_dacl.check_inheritance c: emp directory +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B class salt.modules.win_dacl.daclConstants -dacl constants used throughout the module +DACL constants used throughout the module .INDENT 7.0 .TP .B getAceTypeBit(t) @@ -179117,21 +192881,95 @@ files/directories with environment variables expanded .INDENT 0.0 .TP .B salt.modules.win_dacl.disable_inheritance(path, objectType, copy=True) -disable inheritance on an object +Disable inheritance on an object +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- The path to the object +.IP \(bu 2 +\fBobjectType\fP \-\- The type of object (FILE, DIRECTORY, REGISTRY) +.IP \(bu 2 +\fBcopy\fP \-\- True will copy the Inherited ACEs to the DACL before disabling inheritance +.UNINDENT +.UNINDENT .sp -copy = True will copy the Inerhited ACEs to the DACL before disabling inheritance +Returns (dict): A dictionary containing the results +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq win_dacl.disable_inheritance c: emp directory +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.win_dacl.enable_inheritance(path, objectType, clear=False) enable/disable inheritance on an object +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- The path to the object +.IP \(bu 2 +\fBobjectType\fP \-\- The type of object (FILE, DIRECTORY, REGISTRY) +.IP \(bu 2 +\fBclear\fP \-\- True will remove non\-Inherited ACEs from the ACL +.UNINDENT +.UNINDENT .sp -clear = True will remove non\-Inherited ACEs from the ACL +Returns (dict): A dictionary containing the results +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq win_dacl.enable_inheritance c: emp directory +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.modules.win_dacl.get(path, objectType, user=None) -Get the acl of an object. Will filter by user if one is provided. +Get the ACL of an object. Will filter by user if one is provided. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBpath\fP \-\- The path to the object +.IP \(bu 2 +\fBobjectType\fP \-\- The type of object (FILE, DIRECTORY, REGISTRY) +.IP \(bu 2 +\fBuser\fP \-\- A user name to filter by +.UNINDENT +.UNINDENT +.sp +Returns (dict): A dictionary containing the ACL +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq win_dacl.get c: emp directory +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -179172,6 +193010,11 @@ win32api Python module .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_disk.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_disk.usage() Return usage information for volumes mounted on this minion .sp @@ -179194,36 +193037,47 @@ not running server versions\ of Windows. Some functions are only available on Windows 10. .INDENT 0.0 .TP +.B salt.modules.win_dism.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_dism.add_capability(capability, source=None, limit_access=False, image=None, restart=False) Install a capability .INDENT 7.0 .TP -.B Args: -capability (str): The capability to install -source (Optional[str]): The optional source of the capability. Default +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBcapability\fP (\fI\%str\fP) \-\- The capability to install +.IP \(bu 2 +\fBsource\fP (\fIOptional[str]\fP) \-\- The optional source of the capability. Default is set by group policy and can be Windows Update. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B limit_access (Optional[bool]): Prevent DISM from contacting Windows +.IP \(bu 2 +\fBlimit_access\fP (\fIOptional[bool]\fP) \-\- Prevent DISM from contacting Windows Update for the source package -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .TP -.B Raises: -NotImplementedError: For all versions of Windows that are not Windows 10 -and later. Server editions of Windows use ServerManager instead. +.B Raises +.INDENT 7.0 +.IP \(bu 2 +\fI\%NotImplementedError\fP \-\- +For all versions of Windows that are not Windows 10 +.IP \(bu 2 +\fBand later. Server editions of Windows use ServerManager instead.\fP \-\- +.UNINDENT .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Returns +A dictionary containing the results of the command +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179244,35 +193098,36 @@ salt \(aq*\(aq dism.add_capability Tools.Graphics.DirectX~~~~0.0.1.0 Install a feature using DISM .INDENT 7.0 .TP -.B Args: -feature (str): The feature to install -package (Optional[str]): The parent package for the feature. You do not +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBfeature\fP (\fI\%str\fP) \-\- The feature to install +.IP \(bu 2 +\fBpackage\fP (\fIOptional[str]\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 -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B source (Optional[str]): The optional source of the capability. Default +.IP \(bu 2 +\fBsource\fP (\fIOptional[str]\fP) \-\- The optional source of the capability. Default is set by group policy and can be Windows Update -.TP -.B limit_access (Optional[bool]): Prevent DISM from contacting Windows +.IP \(bu 2 +\fBlimit_access\fP (\fIOptional[bool]\fP) \-\- Prevent DISM from contacting Windows Update for the source package -.TP -.B enable_parent (Optional[bool]): True will enable all parent features of +.IP \(bu 2 +\fBenable_parent\fP (\fIOptional[bool]\fP) \-\- True will enable all parent features of the specified feature -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Returns +A dictionary containing the results of the command +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179293,27 +193148,30 @@ salt \(aq*\(aq dism.add_feature NetFx3 Install a package using DISM .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B package (str): The package to install. Can be a .cab file, a .msu file, +.IP \(bu 2 +\fBpackage\fP (\fI\%str\fP) \-\- The package to install. Can be a .cab file, a .msu file, or a folder -.TP -.B ignore_check (Optional[bool]): Skip installation of the package if the +.IP \(bu 2 +\fBignore_check\fP (\fIOptional[bool]\fP) \-\- Skip installation of the package if the applicability checks fail -.TP -.B prevent_pending (Optional[bool]): Skip the installation of the package +.IP \(bu 2 +\fBprevent_pending\fP (\fIOptional[bool]\fP) \-\- Skip the installation of the package if there are pending online actions -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Returns +A dictionary containing the results of the command +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179334,20 +193192,25 @@ salt \(aq*\(aq dism.add_package C:\ePackages\epackage.cab List the capabilities available on the system .INDENT 7.0 .TP -.B Args: -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.B Parameters +\fBimage\fP (\fIOptional[str]\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 +.IP \(bu 2 +\fBand later. Server editions of Windows use ServerManager instead.\fP \-\- .UNINDENT .TP -.B Raises: -NotImplementedError: For all versions of Windows that are not Windows 10 -and later. Server editions of Windows use ServerManager instead. +.B Returns +A list of available capabilities .TP -.B Returns: -list: A list of available capabilities +.B Return type +list .UNINDENT .sp CLI Example: @@ -179368,16 +193231,16 @@ salt \(aq*\(aq dism.installed_capabilities List the features available on the system .INDENT 7.0 .TP -.B Args: -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.B Parameters +\fBimage\fP (\fIOptional[str]\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 .TP -.B Returns: -list: A list of available features +.B Returns +A list of available features +.TP +.B Return type +list .UNINDENT .sp CLI Example: @@ -179398,20 +193261,25 @@ salt \(aq*\(aq dism.available_features List all capabilities on the system .INDENT 7.0 .TP -.B Args: -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.B Parameters +\fBimage\fP (\fIOptional[str]\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 +.IP \(bu 2 +\fBand later. Server editions of Windows use ServerManager instead.\fP \-\- .UNINDENT .TP -.B Raises: -NotImplementedError: For all versions of Windows that are not Windows 10 -and later. Server editions of Windows use ServerManager instead. +.B Returns +A list of capabilities .TP -.B Returns: -list: A list of capabilities +.B Return type +list .UNINDENT .sp CLI Example: @@ -179432,24 +193300,30 @@ salt \(aq*\(aq dism.get_capabilities List features on the system or in a package .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B package (Optional[str]): The full path to the package. Can be either a -\&.cab file or a folder. Should point to the original source of the +.IP \(bu 2 +\fBpackage\fP (\fIOptional[str]\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 package, not to where the file is installed. You cannot use this command to get package information for .msu files .sp This can also be the name of a package as listed in \fBdism.installed_packages\fP -.TP -.B image (Optional[str]): The path to the root directory of an offline + +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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 .TP -.B Returns: -list: A list of features +.B Returns +A list of features +.TP +.B Return type +list .UNINDENT .sp CLI Example: @@ -179481,20 +193355,25 @@ salt \(aq*\(aq dism.get_features Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86 List the capabilities installed on the system .INDENT 7.0 .TP -.B Args: -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.B Parameters +\fBimage\fP (\fIOptional[str]\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 +.IP \(bu 2 +\fBand later. Server editions of Windows use ServerManager instead.\fP \-\- .UNINDENT .TP -.B Raises: -NotImplementedError: For all versions of Windows that are not Windows 10 -and later. Server editions of Windows use ServerManager instead. +.B Returns +A list of installed capabilities .TP -.B Returns: -list: A list of installed capabilities +.B Return type +list .UNINDENT .sp CLI Example: @@ -179515,16 +193394,16 @@ salt \(aq*\(aq dism.installed_capabilities List the features installed on the system .INDENT 7.0 .TP -.B Args: -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.B Parameters +\fBimage\fP (\fIOptional[str]\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 .TP -.B Returns: -list: A list of installed features +.B Returns +A list of installed features +.TP +.B Return type +list .UNINDENT .sp CLI Example: @@ -179545,16 +193424,16 @@ salt \(aq*\(aq dism.installed_features List the packages installed on the system .INDENT 7.0 .TP -.B Args: -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.B Parameters +\fBimage\fP (\fIOptional[str]\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 .TP -.B Returns: -list: A list of installed packages +.B Returns +A list of installed packages +.TP +.B Return type +list .UNINDENT .sp CLI Example: @@ -179575,21 +193454,24 @@ salt \(aq*\(aq dism.installed_packages Display information about a package .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B package (str): The full path to the package. Can be either a .cab file +.IP \(bu 2 +\fBpackage\fP (\fI\%str\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 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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 .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Returns +A dictionary containing the results of the command +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179610,24 +193492,32 @@ salt \(aq*\(aq dism. package_info C:\epackages\epackage.cab Uninstall a capability .INDENT 7.0 .TP -.B Args: -capability(str): The capability to be removed -image (Optional[str]): The path to the root directory of an offline +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBcapability\fP (\fI\%str\fP) \-\- The capability to be removed +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\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 +.IP \(bu 2 +\fBand later. Server editions of Windows use ServerManager instead.\fP \-\- .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .TP -.B Raises: -NotImplementedError: For all versions of Windows that are not Windows 10 -and later. Server editions of Windows use ServerManager instead. +.B Returns +A dictionary containing the results of the command .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179648,25 +193538,26 @@ salt \(aq*\(aq dism.remove_capability Tools.Graphics.DirectX~~~~0.0.1.0 Disables the feature. .INDENT 7.0 .TP -.B Args: -feature (str): The feature to uninstall -remove_payload (Optional[bool]): Remove the feature\(aqs payload. Must +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBfeature\fP (\fI\%str\fP) \-\- The feature to uninstall +.IP \(bu 2 +\fBremove_payload\fP (\fIOptional[bool]\fP) \-\- Remove the feature\(aqs payload. Must supply source when enabling in the future. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Returns +A dictionary containing the results of the command +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179687,23 +193578,26 @@ salt \(aq*\(aq dism.remove_feature NetFx3 Uninstall a package .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B package (str): The full path to the package. Can be either a .cab file +.IP \(bu 2 +\fBpackage\fP (\fI\%str\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 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .TP -.B Returns: -dict: A dictionary containing the results of the command +.B Returns +A dictionary containing the results of the command +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp CLI Example: @@ -179727,6 +193621,11 @@ salt \(aq*\(aq dism.remove_package C:\epackages\epackage.cab Module for configuring DNS Client on Windows systems .INDENT 0.0 .TP +.B salt.modules.win_dns_client.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_dns_client.add_dns(ip, interface=\(aqLocal Area Connection\(aq, index=1) Add the DNS server to the network interface (index starts from 1) @@ -179816,7 +193715,7 @@ salt \(aq*\(aq win_dns_client.rm_dns .UNINDENT .SS salt.modules.win_dsc .sp -Module for managing PowerShell modules +Module for working with DSC (Alpha) .INDENT 0.0 .TP .B depends @@ -179825,11 +193724,14 @@ Module for managing PowerShell modules PowerShell 5.0 .UNINDENT .UNINDENT -.sp -Support for PowerShell .INDENT 0.0 .TP -.B salt.modules.win_dsc.apply_config(path, source=None, salt_env=\(aqbase\(aq) +.B salt.modules.win_dsc.__virtual__() +Set the system module of the kernel is Windows +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_dsc.apply_config(path, source=None, salt_env=u\(aqbase\(aq) Run an compiled DSC configuration (a folder containing a .mof file). The folder can be cached from the salt master using the \fBsource\fP option. .INDENT 7.0 @@ -179895,49 +193797,7 @@ salt \(aq*\(aq dsc.run_config C:\e\eDSC\e\eWebSiteConfiguration salt://dsc/confi .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_dsc.avail_modules(desc=False) -List available modules in registered Powershell module repositories. -.INDENT 7.0 -.TP -.B desc -False -If \fBTrue\fP, the verbose description will be returned. -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.avail_modules -salt \(aqwin01\(aq dsc.avail_modules desc=True -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_dsc.bootstrap() -Make sure that nuget\-anycpu.exe is installed. -This will download the official nuget\-anycpu.exe from the internet. -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.bootstrap -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_dsc.compile_config(path, source=None, config=None, salt_env=\(aqbase\(aq) +.B salt.modules.win_dsc.compile_config(path, source=None, config=None, salt_env=u\(aqbase\(aq) Compile a config from a powershell script (\fB\&.ps1\fP) .INDENT 7.0 .TP @@ -180011,26 +193871,6 @@ salt \(aq*\(aq dsc.compile_config C:\e\eDSC\e\eWebsiteConfig.ps1 salt://dsc/conf .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_dsc.enable_scripts() -Enable Powershell Scripts -.sp -Allows all Powershell scripts to be run. -Executes "Set\-ExecutionPolicy Unrestricted" on the system. -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.enable_scripts -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.win_dsc.get_config() Get the current DSC Configuration .INDENT 7.0 @@ -180107,92 +193947,7 @@ salt \(aq*\(aq dsc.get_lcm_config .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_dsc.install(name) -Install a Powershell DSC module on the system. -.INDENT 7.0 -.TP -.B name -Name of a Powershell DSC module -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.install PowerPlan -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_dsc.list_modules(desc=False) -List currently installed DSC Modules on the system. -.INDENT 7.0 -.TP -.B desc -False -If \fBTrue\fP, the verbose description will be returned. -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.list_modules -salt \(aqwin01\(aq dsc.list_modules desc=True -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_dsc.psversion() -Returns the Powershell version -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.psversion -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_dsc.remove(name) -Remove a Powershell DSC module from the system. -.INDENT 7.0 -.TP -.B name -Name of a Powershell DSC module -.UNINDENT -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aqwin01\(aq dsc.remove PowerPlan -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.win_dsc.run_config(path, source=None, config=None, salt_env=\(aqbase\(aq) +.B salt.modules.win_dsc.run_config(path, source=None, config=None, salt_env=u\(aqbase\(aq) Compile a DSC Configuration in the form of a powershell script (.ps1) and apply it. The powershell script can be cached from the master using the \fBsource\fP option. If there is more than one config within the powershell @@ -180245,7 +194000,7 @@ True if successfully compiled and applied, False if not \fI\%bool\fP .UNINDENT .sp -CLI Example +CLI Example: .sp To compile a config from a script that already exists on the system: .INDENT 7.0 @@ -180381,7 +194136,19 @@ All .sp current config. .sp -Returns: +Returns (bool): True if successful, otherwise False +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq dsc.set_lcm_config ApplyOnly +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -180426,6 +194193,11 @@ win32security .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_file.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_file.chgrp(path, group) Change the group of a file .sp @@ -181008,7 +194780,12 @@ salt \(aq*\(aq file.user_to_uid myusername Module for configuring Windows Firewall .INDENT 0.0 .TP -.B salt.modules.win_firewall.add_rule(name, localport, protocol=\(aqtcp\(aq, action=\(aqallow\(aq, dir=\(aqin\(aq) +.B salt.modules.win_firewall.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_firewall.add_rule(name, localport, protocol=\(aqtcp\(aq, action=\(aqallow\(aq, dir=\(aqin\(aq, remoteip=\(aqany\(aq) New in version 2015.5.0. .sp @@ -181022,6 +194799,7 @@ CLI Example: .ft C salt \(aq*\(aq firewall.add_rule \(aqtest\(aq \(aq8080\(aq \(aqtcp\(aq salt \(aq*\(aq firewall.add_rule \(aqtest\(aq \(aq1\(aq \(aqicmpv4\(aq +salt \(aq*\(aq firewall.add_rule \(aqtest_remote_ip\(aq \(aq8000\(aq \(aqtcp\(aq \(aqallow\(aq \(aqin\(aq \(aq192.168.0.1\(aq .ft P .fi .UNINDENT @@ -181029,7 +194807,7 @@ salt \(aq*\(aq firewall.add_rule \(aqtest\(aq \(aq1\(aq \(aqicmpv4\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_firewall.delete_rule(name, localport, protocol=\(aqtcp\(aq, dir=\(aqin\(aq) +.B salt.modules.win_firewall.delete_rule(name, localport, protocol=\(aqtcp\(aq, dir=\(aqin\(aq, remoteip=\(aqany\(aq) New in version 2015.8.0. .sp @@ -181042,6 +194820,7 @@ CLI Example: .nf .ft C salt \(aq*\(aq firewall.delete_rule \(aqtest\(aq \(aq8080\(aq \(aqtcp\(aq \(aqin\(aq +salt \(aq*\(aq firewall.delete_rule \(aqtest_remote_ip\(aq \(aq8000\(aq \(aqtcp\(aq \(aqin\(aq \(aq192.168.0.1\(aq .ft P .fi .UNINDENT @@ -181135,6 +194914,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_groupadd.__virtual__() +Set the group module if the kernel is Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_groupadd.add(name, gid=None, system=False) Add the specified group .sp @@ -181237,6 +195021,23 @@ salt \(aq*\(aq group.info foo .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_groupadd.list_groups(refresh=False) +Return a list of groups +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq group.getent +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_groupadd.members(name, members_list) remove a user from a group .sp @@ -181263,10 +195064,63 @@ Windows .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.modules.win_iis.__virtual__() +Load only on Windows +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.create_app(name, site, sourcepath, apppool=None) +Create an IIS application. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The IIS application. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +.IP \(bu 2 +\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.create_app name=\(aqapp0\(aq site=\(aqsite0\(aq sourcepath=\(aqC:\esite0\(aq apppool=\(aqsite0\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.modules.win_iis.create_apppool(name) -Create IIS Application pools +Create an IIS application pool. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -181282,8 +195136,32 @@ salt \(aq*\(aq win_iis.create_apppool name=\(aqMyTestPool\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_iis.create_site(name, protocol, sourcepath, port, apppool=\(aq\(aq, hostheader=\(aq\(aq, ipaddress=\(aq\(aq) -Create a basic website in IIS +.B salt.modules.win_iis.create_binding(site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=80, protocol=\(aqhttp\(aq, sslflags=0) +Create an IIS binding. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.IP \(bu 2 +\fBprotocol\fP (\fI\%str\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. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -181291,7 +195169,171 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq win_iis.create_site name=\(aqMy Test Site\(aq protocol=\(aqhttp\(aq sourcepath=\(aqc:\estage\(aq port=\(aq80\(aq apppool=\(aqTestPool\(aq +salt \(aq*\(aq win_iis.create_binding site=\(aqsite0\(aq hostheader=\(aqexample\(aq ipaddress=\(aq*\(aq port=\(aq80\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.create_cert_binding(name, site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=443, sslflags=0) +Assign a certificate to an IIS binding. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\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. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.create_cert_binding name=\(aqAAA000\(aq site=\(aqsite0\(aq hostheader=\(aqexample\(aq ipaddress=\(aq*\(aq port=\(aq443\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.create_site(name, sourcepath, apppool=\(aq\(aq, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=80, protocol=\(aqhttp\(aq) +Create a basic website in IIS. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path of the IIS site. +.IP \(bu 2 +\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.IP \(bu 2 +\fBprotocol\fP (\fI\%str\fP) \-\- The application protocol of the binding. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.create_site name=\(aqMy Test Site\(aq sourcepath=\(aqc:\estage\(aq apppool=\(aqTestPool\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.create_vdir(name, site, sourcepath, app=\(aq/\(aq) +Create an IIS virtual directory. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +.IP \(bu 2 +\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.create_vdir name=\(aqvd0\(aq site=\(aqsite0\(aq sourcepath=\(aqC:\einetpub\evdirs\evd0\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.get_container_setting(name, container, settings) +Get the value of the setting for the IIS container. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS container. +.IP \(bu 2 +\fBcontainer\fP (\fI\%str\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. +.UNINDENT +.TP +.B Returns +A dictionary of the provided settings and their values. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.get_container_setting name=\(aqMyTestPool\(aq container=\(aqAppPools\(aq + settings="[\(aqprocessModel.identityType\(aq]" .ft P .fi .UNINDENT @@ -181300,7 +195342,15 @@ salt \(aq*\(aq win_iis.create_site name=\(aqMy Test Site\(aq protocol=\(aqhttp\( .INDENT 0.0 .TP .B salt.modules.win_iis.list_apppools() -List all configured IIS Application pools +List all configured IIS application pools. +.INDENT 7.0 +.TP +.B Returns +A dictionary of IIS application pools and their details. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -181316,8 +195366,103 @@ salt \(aq*\(aq win_iis.list_apppools .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_iis.list_apps(site) +Get all configured IIS applications for the specified site. +.INDENT 7.0 +.TP +.B Parameters +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.TP +.B Returns +A dictionary of the application names and properties. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.list_apps site +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.list_bindings(site) +Get all configured IIS bindings for the specified site. +.INDENT 7.0 +.TP +.B Parameters +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.TP +.B Returns +A dictionary of the binding names and properties. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.list_bindings site +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.list_cert_bindings(site) +List certificate bindings for an IIS site. +.INDENT 7.0 +.TP +.B Parameters +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.TP +.B Returns +A dictionary of the binding names and properties. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.list_bindings site +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_iis.list_sites() -List all the currently deployed websites +List all the currently deployed websites. +.INDENT 7.0 +.TP +.B Returns +A dictionary of the IIS sites and their properties. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -181333,8 +195478,86 @@ salt \(aq*\(aq win_iis.list_sites .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_iis.list_vdirs(site, app=\(aq/\(aq) +Get all configured IIS virtual directories for the specified site, or for the +combination of site and application. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +.UNINDENT +.TP +.B Returns +A dictionary of the virtual directory names and properties. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.list_vdirs site +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.remove_app(name, site) +Remove an IIS application. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The application name. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.remove_app name=\(aqapp0\(aq site=\(aqsite0\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_iis.remove_apppool(name) -Removes IIS Application pools +Remove an IIS application pool. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -181350,8 +195573,92 @@ salt \(aq*\(aq win_iis.remove_apppool name=\(aqMyTestPool\(aq .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_iis.remove_binding(site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=80) +Remove an IIS binding. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.remove_binding site=\(aqsite0\(aq hostheader=\(aqexample\(aq ipaddress=\(aq*\(aq port=\(aq80\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.remove_cert_binding(name, site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=443) +Remove a certificate from an IIS binding. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.remove_cert_binding name=\(aqAAA000\(aq site=\(aqsite0\(aq hostheader=\(aqexample\(aq ipaddress=\(aq*\(aq port=\(aq443\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_iis.remove_site(name) -Delete website from IIS +Delete a website from IIS. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -181365,11 +195672,122 @@ salt \(aq*\(aq win_iis.remove_site name=\(aqMy Test Site\(aq .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.remove_vdir(name, site, app=\(aq/\(aq) +Remove an IIS virtual directory. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.remove_vdir name=\(aqvdir0\(aq site=\(aqsite0\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.restart_apppool(name) +Restart an IIS application pool. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.restart_apppool name=\(aqMyTestPool\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_iis.set_container_setting(name, container, settings) +Set the value of the setting for an IIS container. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS container. +.IP \(bu 2 +\fBcontainer\fP (\fI\%str\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. +.UNINDENT +.TP +.B Returns +A boolean representing whether all changes succeeded. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq win_iis.set_container_setting name=\(aqMyTestPool\(aq container=\(aqAppPools\(aq + settings="{\(aqmanagedPipeLineMode\(aq: \(aqIntegrated\(aq}" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.modules.win_ip .sp The networking module for Windows based systems .INDENT 0.0 .TP +.B salt.modules.win_ip.__virtual__() +Confine this module to Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_ip.disable(iface) Disable an interface .sp @@ -181643,6 +196061,11 @@ salt \(aq*\(aq license.install XXXXX\-XXXXX\-XXXXX\-XXXXX\-XXXXX .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_license.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_license.activate() Attempt to activate the current machine via Windows Activation .sp @@ -181754,6 +196177,11 @@ salt \(aq*\(aq license.uninstall Module for gathering and managing network information .INDENT 0.0 .TP +.B salt.modules.win_network.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_network.connect(host, port=None, **kwargs) Test connectivity to a host using a particular port from the minion. @@ -182010,7 +196438,7 @@ salt \(aq*\(aq network.nslookup archlinux.org .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_network.ping(host) +.B salt.modules.win_network.ping(host, timeout=False, return_boolean=False) Performs a ping to a host .sp CLI Example: @@ -182024,6 +196452,33 @@ salt \(aq*\(aq network.ping archlinux.org .fi .UNINDENT .UNINDENT +.sp +New in version 2016.11.0. + +.sp +Return a True or False instead of ping output. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq network.ping archlinux.org return_boolean=True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Set the time to wait for a response in seconds. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq network.ping archlinux.org timeout=3 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -182065,6 +196520,11 @@ Management of NTP servers on Windows .sp New in version 2014.1.0. +.INDENT 0.0 +.TP +.B salt.modules.win_ntp.__virtual__() +This only supports Windows +.UNINDENT .INDENT 0.0 .TP .B salt.modules.win_ntp.get_servers() @@ -182108,11 +196568,16 @@ Only the ones that listen to the WM_SETTINGCHANGE message \fI\%http://support.microsoft.com/kb/104011\fP .INDENT 0.0 .TP +.B salt.modules.win_path.__virtual__() +Load only on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_path.add(path, index=0) Add the directory to the SYSTEM path in the index location .INDENT 7.0 .TP -.B Returns: +.B Returns boolean True if successful, False if unsuccessful .UNINDENT .sp @@ -182139,7 +196604,7 @@ Check if the directory is configured in the SYSTEM path Case\-insensitive and ignores trailing backslash .INDENT 7.0 .TP -.B Returns: +.B Returns boolean True if path exists, False if not .UNINDENT .sp @@ -182194,7 +196659,7 @@ salt \(aq*\(aq win_path.rehash Remove the directory from the SYSTEM path .INDENT 7.0 .TP -.B Returns: +.B Returns boolean True if successful, False if unsuccessful .UNINDENT .sp @@ -182223,15 +196688,56 @@ 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 +The following functions require the existence of a windows repository metadata DB, typically created by running +\fI\%pkg.refresh_db\fP: +.INDENT 0.0 +.IP \(bu 2 +\fI\%pkg.get_repo_data\fP +.IP \(bu 2 +\fI\%pkg.install\fP +.IP \(bu 2 +\fI\%pkg.latest_version\fP +.IP \(bu 2 +\fI\%pkg.list_available\fP +.IP \(bu 2 +\fI\%pkg.list_pkgs\fP +.IP \(bu 2 +\fI\%pkg.list_upgrades\fP +.IP \(bu 2 +\fI\%pkg.remove\fP +.UNINDENT +.sp +If a metadata DB does not already exist and one of these functions is run, then +one will be created from the repo SLS files that are present. +.sp +As the creation of this metadata can take some time, the +\fBwinrepo_cache_expire_min\fP minion config option can be used to +suppress refreshes when the metadata is less than a given number of seconds +old. .INDENT 0.0 .TP -.B salt.modules.win_pkg.compare_versions(ver1=\(aq\(aq, oper=\(aq==\(aq, ver2=\(aq\(aq) -Compare software package versions +.B salt.modules.win_pkg.__virtual__() +Set the virtual pkg module if the os is Windows .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.genrepo(saltenv=\(aqbase\(aq) -Generate winrepo_cachefile based on sls files in the winrepo +.B salt.modules.win_pkg.compare_versions(ver1=u\(aq\(aq, oper=u\(aq==\(aq, ver2=u\(aq\(aq) +Compare software package versions +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBver1\fP (\fI\%str\fP) \-\- A software version to compare +.IP \(bu 2 +\fBoper\fP (\fI\%str\fP) \-\- The operand to use to compare +.IP \(bu 2 +\fBver2\fP (\fI\%str\fP) \-\- A software version to compare +.UNINDENT +.UNINDENT +.sp +Returns (bool): True if the comparison is valid, otherwise False .sp CLI Example: .INDENT 7.0 @@ -182239,7 +196745,7 @@ CLI Example: .sp .nf .ft C -salt\-run winrepo.genrepo +salt \(aq*\(aq pkg.compare_versions 1.2 >= 1.3 .ft P .fi .UNINDENT @@ -182247,12 +196753,56 @@ salt\-run winrepo.genrepo .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.get_name_map() +.B salt.modules.win_pkg.genrepo(**kwargs) +Generate package metedata db based on files within the winrepo_source_dir +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-run pkg.genrepo +salt \-G \(aqos:windows\(aq pkg.genrepo verbose=true failhard=false +salt \-G \(aqos:windows\(aq pkg.genrepo saltenv=base +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fIKeyword Arguments (kwargs)\fP +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsaltenv\fP (\fI\%str\fP) \-\- Salt environment. Default: \fBbase\fP +.IP \(bu 2 +\fBverbose\fP (\fI\%bool\fP) \-\- Return verbose data structure which includes \(aqsuccess_list\(aq, a list of +all sls files and the package names contained within. Default \(aqFalse\(aq +.IP \(bu 2 +\fBfailhard\fP (\fI\%bool\fP) \-\- If \fBTrue\fP, an error will be raised if any repo SLS files failed to +proess. If \fBFalse\fP, no error will be raised, and a dictionary +containing the full results will be returned. +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.get_repo_data(saltenv=\(aqbase\(aq) -Returns the cached winrepo data +.B salt.modules.win_pkg.get_repo_data(saltenv=u\(aqbase\(aq) +Returns the existing package meteadata db. +Will create it, if it does not exist, however will not refresh it. +.INDENT 7.0 +.TP +.B Parameters +\fBsaltenv\fP (\fI\%str\fP) \-\- Salt environment. Default \fBbase\fP +.TP +.B Returns +Returns a dict containing contents of metadata db. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -182268,7 +196818,7 @@ salt \(aq*\(aq pkg.get_repo_data .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.install(name=None, refresh=False, pkgs=None, saltenv=\(aqbase\(aq, **kwargs) +.B salt.modules.win_pkg.install(name=None, refresh=False, pkgs=None, **kwargs) Install the passed package(s) on the system using winrepo .INDENT 7.0 .TP @@ -182284,8 +196834,6 @@ the winrepo db \fBpkgs\fP (\fIlist or None\fP) \-\- A list of packages to install from a software repository. All packages listed under \fBpkgs\fP will be installed via a single command. -.IP \(bu 2 -\fBsaltenv\fP (\fI\%str\fP) \-\- The salt environment to use. Default is \fBbase\fP\&. .UNINDENT .UNINDENT .sp @@ -182308,6 +196856,27 @@ directory. Only applies to files on \fBsalt://\fP \fBcache_dir\fP (\fI\%bool\fP) \-\- True will copy the contents of the installer directory. This is useful for installations that are not a single file. Only applies to directories on \fBsalt://\fP +.IP \(bu 2 +\fBsaltenv\fP (\fI\%str\fP) \-\- Salt environment. Default \(aqbase\(aq +.IP \(bu 2 +\fBreport_reboot_exit_codes\fP (\fI\%bool\fP) \-\- +.sp +If the installer exits with a recognized exit code indicating that +a reboot is required, the module function +.INDENT 2.0 +.INDENT 3.5 +\fIwin_system.set_reboot_required_witnessed\fP +.UNINDENT +.UNINDENT +.sp +will be called, preserving the knowledge of this event +for the remainder of the current boot session. For the time being, +3010 is the only recognized exit code. The value of this param +defaults to True. +.sp +New in version 2016.11.0. + + .UNINDENT .TP .B Returns @@ -182440,22 +197009,39 @@ salt \(aq*\(aq pkg.latest_version ... .fi .UNINDENT .UNINDENT +.sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: Salt environment. Default \fBbase\fP +:param bool refresh: Refresh package metadata. Default \fBTrue\fP .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.list_available(*names) +.B salt.modules.win_pkg.list_available(*names, **kwargs) Return a list of available versions of the specified package. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- One or more package names +.TP +.B Returns +For multiple package names listed returns dict of package names and versions +For single package name returns a version string +.TP +.B Return type +dict or string +.UNINDENT +.sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: The salt environment to use. Default \fBbase\fP\&. +:param bool refresh: Refresh package metadata. Default \fBTrue\fP\&. +:param bool return_dict_always: Default \fBFalse\fP dict when a single package name is queried. .sp CLI Example: +.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq pkg.list_available +salt \(aq*\(aq pkg.list_available return_dict_always=True salt \(aq*\(aq pkg.list_available -.ft P -.fi .UNINDENT .UNINDENT .UNINDENT @@ -182468,9 +197054,28 @@ List the packages currently installed in a dict: .sp .nf .ft C -{\(aq\(aq: \(aq\(aq} +*Keyword Arguments (kwargs)* .ft P .fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsaltenv\fP (\fI\%str\fP) \-\- The salt environment to use. Default \fBbase\fP\&. +.IP \(bu 2 +\fBrefresh\fP (\fI\%bool\fP) \-\- +.sp +Refresh package metadata. Default +.nf +\(ga\(ga +.fi +False\(ga. +.sp +{\(aq\(aq: \(aq\(aq} + .UNINDENT .UNINDENT .sp @@ -182491,6 +197096,14 @@ salt \(aq*\(aq pkg.list_pkgs versions_as_list=True .TP .B salt.modules.win_pkg.list_upgrades(refresh=True, **kwargs) 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 +.UNINDENT +.sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: Salt environment. Default \fBbase\fP .sp CLI Example: .INDENT 7.0 @@ -182528,6 +197141,10 @@ 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 .sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: Salt environment. Default \fBbase\fP +:param bool refresh: Refresh package metadata. Default \fBFalse\fP +.sp New in version 0.16.0. .sp @@ -182549,18 +197166,8 @@ salt \(aq*\(aq pkg.purge pkgs=\(aq["foo", "bar"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.refresh_db(saltenv=\(aqbase\(aq) -Just recheck the repository and return a dict: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -{\(aq\(aq: Bool} -.ft P -.fi -.UNINDENT -.UNINDENT +.B salt.modules.win_pkg.refresh_db(**kwargs) +Fectches metadata files and calls \fI\%pkg.genrepo\fP to compile updated repository metadata. .sp CLI Example: .INDENT 7.0 @@ -182569,6 +197176,7 @@ CLI Example: .nf .ft C salt \(aq*\(aq pkg.refresh_db +salt \(aq*\(aq pkg.refresh_db saltenv=base .ft P .fi .UNINDENT @@ -182603,6 +197211,10 @@ Multiple Package Options: .sp New in version 0.16.0. +.sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: Salt environment. Default \fBbase\fP +:param bool refresh: Refresh package metadata. Default \fBFalse\fP .INDENT 7.0 .TP .B Returns @@ -182647,19 +197259,17 @@ salt \(aq*\(aq pkg.remove pkgs=\(aq["foo", "bar"]\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.upgrade(refresh=True) -Run a full system upgrade +.B salt.modules.win_pkg.upgrade(**kwargs) +Upgrade all software. Currently not implemented .sp -Return a dict containing the new package names and versions: +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: The salt environment to use. Default \fBbase\fP\&. +:param bool refresh: Refresh package metadata. Default \fBTrue\fP\&. +.sp +\fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 -.sp -.nf -.ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} -.ft P -.fi +This feature is not yet implemented for Windows. .UNINDENT .UNINDENT .sp @@ -182677,8 +197287,23 @@ salt \(aq*\(aq pkg.upgrade .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_pkg.upgrade_available(name) +.B salt.modules.win_pkg.upgrade_available(name, **kwargs) Check whether or not an upgrade is available for a given package +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP \-\- The name of a single package +.TP +.B Returns +Return True if newer version available +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: Salt environment +:param bool refresh: Refresh package metadata. Default \fBTrue\fP .sp CLI Example: .INDENT 7.0 @@ -182696,16 +197321,29 @@ salt \(aq*\(aq pkg.upgrade_available .TP .B salt.modules.win_pkg.version(*names, **kwargs) Returns a version if the package is installed, else returns an empty string +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- One or more package names +.TP +.B Returns +For multiple package names listed returns dict of package names and current version +For single package name returns a current version string +.TP +.B Return type +dict or string +.UNINDENT +.sp +\fIKeyword Arguments (kwargs)\fP +:param str saltenv: The salt environment to use. Default \fBbase\fP\&. +:param bool refresh: Refresh package metadata. Default \fBFalse\fP\&. .sp CLI Example: +.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 -.sp -.nf -.ft C salt \(aq*\(aq pkg.version -.ft P -.fi +salt \(aq*\(aq pkg.version .UNINDENT .UNINDENT .UNINDENT @@ -182729,6 +197367,11 @@ salt \(aq*\(aq powercfg.set_disk_timeout 120 power=ac .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_powercfg.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_powercfg.get_disk_timeout() Get the current disk timeout of the current scheme .sp @@ -182904,6 +197547,11 @@ Module to manage Windows software repo on a Standalone Minion For documentation on Salt\(aqs Windows Repo feature, see here\&. .INDENT 0.0 .TP +.B salt.modules.win_repo.__virtual__() +Set the winrepo module if the OS is Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_repo.genrepo() Generate winrepo_cachefile based on sls files in the winrepo_dir .sp @@ -182938,15 +197586,23 @@ it directly processes the file specified in \fIname\fP .UNINDENT .INDENT 7.0 .TP -.B Args: -name str: The name/path of the package you want to view. This can be the -full path to a file on the minion file system or a file on the local -minion cache. -.sp -saltenv str: The default environment is \fBbase\fP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBstr\fP (\fIsaltenv\fP) \-\- The name/path of the package you want to view. This can be the +.IP \(bu 2 +\fBpath to a file on the minion file system or a file on the local\fP (\fIfull\fP) \-\- +.IP \(bu 2 +\fBcache.\fP (\fIminion\fP) \-\- +.IP \(bu 2 +\fBstr\fP \-\- The default environment is \fBbase\fP +.UNINDENT .TP -.B Returns: -dict: Returns a dictionary containing the rendered data structure +.B Returns +Returns a dictionary containing the rendered data structure +.TP +.B Return type +\fI\%dict\fP .UNINDENT .sp \fBNOTE:\fP @@ -183035,7 +197691,12 @@ salt\-call winrepo.update_git_repos Manage Windows features via the ServerManager powershell module .INDENT 0.0 .TP -.B salt.modules.win_servermanager.install(feature, recurse=False, source=None, restart=False, exclude=None) +.B salt.modules.win_servermanager.__virtual__() +Load only on windows with servermanager module +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_servermanager.install(feature, recurse=False, restart=False, source=None, exclude=None) Install a feature .sp \fBNOTE:\fP @@ -183080,6 +197741,8 @@ command, the feature will be installed with other sub\-features and will then be removed. .UNINDENT +.IP \(bu 2 +\fBrestart\fP \-\- Restarts the computer when installation is complete, if required by the role feature installed. .UNINDENT .TP .B Returns @@ -183206,11 +197869,29 @@ salt \-t 600 \(aq*\(aq win_servermanager.remove Telnet\-Client .SS salt.modules.win_service .sp Windows Service module. +.sp +Changed in version 2016.11.0: \- Rewritten to use PyWin32 + +.INDENT 0.0 +.TP +.B salt.modules.win_service.__virtual__() +Only works on Windows systems with PyWin32 installed +.UNINDENT .INDENT 0.0 .TP .B salt.modules.win_service.available(name) -Returns \fBTrue\fP if the specified service is available, otherwise returns -\fBFalse\fP\&. +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 +.TP +.B Returns +\fBTrue\fP if the service is available, \fBFalse\fP otherwise +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183227,162 +197908,99 @@ salt \(aq*\(aq service.available .INDENT 0.0 .TP .B salt.modules.win_service.config(name, bin_path=None, display_name=None, svc_type=None, start_type=None, error=None, group=None, tag=None, depend=None, obj=None, password=None, **kwargs) -Modify the named service. -.sp -New in version 2015.8.8. +Deprecated since version 2016.11.0: Use \fBservice.modify\fP instead .sp -Required parameters: +Modify the named service. Because this is deprecated it will use the passed +parameters to run \fBservice.modify\fP instead. .INDENT 7.0 .TP .B Parameters -\fBname\fP (\fI\%str\fP) \-\- Specifies the service name returned by the getkeyname -.UNINDENT -.sp -operation -.sp -Optional parameters: .INDENT 7.0 -.TP -.B Parameters -\fBbin_path\fP (\fI\%str\fP) \-\- Specifies the path to the service binary file, -.UNINDENT -.sp -backslashes must be escaped -\- eg: C:\epath\eto\ebinary.exe -.INDENT 7.0 -.TP -.B Parameters +.IP \(bu 2 +\fBname\fP (\fI\%str\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. +.IP \(bu 2 +\fBmust be escaped, eg\fP (\fIBackslashes\fP) \-\- C:\epath\eto\ebinary.exe +.IP \(bu 2 \fBdisplay_name\fP (\fI\%str\fP) \-\- the name to be displayed in the service manager -.UNINDENT -.sp -Specifies a more descriptive name for identifying the service in user -interface programs. -.INDENT 7.0 -.TP -.B Parameters -.INDENT 7.0 .IP \(bu 2 -\fBsvc_type\fP (\fI\%str\fP) \-\- -.sp -Specifies the service type. Acceptable values are: -\- own (default): Service runs in its own process -\- share: Service runs as a shared process -\- interact: Service can interact with the desktop -\- kernel: Service is a driver -\- filesys: Service is a system driver -\- rec: Service is a file system\-recognized driver that identifies -.INDENT 2.0 -.INDENT 3.5 -filesystems on the computer -.UNINDENT -.UNINDENT -.INDENT 2.0 +\fBsvc_type\fP (\fI\%str\fP) \-\- Specifies the service type. Default is \fBown\fP\&. .IP \(bu 2 -adapt: Service is an adapter driver that identifies hardware such as -keyboards, mice and disk drives +\fBoptions are as follows\fP (\fIValid\fP) \-\- .INDENT 2.0 +.IP \(bu 2 +kernel: Driver service +.IP \(bu 2 +filesystem: File system driver service +.IP \(bu 2 +adapter: Adapter driver service (reserved) +.IP \(bu 2 +recognizer: Recognizer driver service (reserved) +.IP \(bu 2 +own (default): Service runs in its own process +.IP \(bu 2 +share: Service shares a process with one or more other services .UNINDENT .IP \(bu 2 -\fBstart_type\fP (\fI\%str\fP) \-\- Specifies the start type for the service. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Acceptable values are: -.INDENT 7.0 +\fBstart_type\fP (\fI\%str\fP) \-\- Specifies the service start type. Valid options are as +follows: +\- boot: Device driver that is loaded by the boot loader +\- system: Device driver that is started during kernel initialization +\- auto: Service that automatically starts +\- manual (default): Service must be started manually +\- disabled: Service cannot be started .IP \(bu 2 -boot: Device driver that is loaded by the boot loader +\fBerror\fP (\fI\%str\fP) \-\- The severity of the error, and action taken, if this .IP \(bu 2 -system: Device driver that is started during kernel initialization +\fBfails to start. Valid options are as follows\fP (\fIservice\fP) \-\- .INDENT 2.0 .IP \(bu 2 -auto: Service that automatically starts +normal (normal): Error is logged and a message box is displayed .IP \(bu 2 -demand (default): Service must be started manually +severe: Error is logged and computer attempts a restart with the +last known good configuration .IP \(bu 2 -disabled: Service cannot be started +critical: Error is logged, computer attempts to restart with the +last known good configuration, system halts on failure .IP \(bu 2 -delayed\-auto: Service starts automatically after other auto\-services -start +ignore: Error is logged and startup continues, no notification is +given to the user .UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Parameters -\fBerror\fP (\fI\%str\fP) \-\- Specifies the severity of the error if the service -.UNINDENT -.INDENT 7.0 -.TP -.B fails to start. Acceptable values are: -.INDENT 7.0 + .IP \(bu 2 -normal (default): Error is logged and a message box is displayed +\fBgroup\fP \-\- The name of the load order group to which this service +belongs .IP \(bu 2 -severe: Error is logged and computer attempts a restart with last known -good configuration +\fBdepend\fP (\fIlist\fP) \-\- A list of services or load ordering groups that .IP \(bu 2 -critical: Error is logged, computer attempts to restart with last known -good configuration, system halts on failure +\fBstart before this service\fP (\fImust\fP) \-\- .IP \(bu 2 -ignore: Error is logged and startup continues, no notification is given -to the user -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B Parameters -\fBgroup\fP (\fI\%str\fP) \-\- Specifies the name of the group of which this service is a -.UNINDENT -.sp -member. The list of groups is stored in the registry, in the -HKLMSystemCurrentControlSetControlServiceGroupOrder subkey. The default -is null. -.INDENT 7.0 -.TP -.B Parameters -\fBtag\fP (\fI\%str\fP) \-\- Specifies whether or not to obtain a TagID from the -.UNINDENT -.sp -CreateService call. For boot\-start and system\-start drivers only. -Acceptable values are: -.INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 +\fBobj\fP (\fI\%str\fP) \-\- The name of the account under which the service .IP \(bu 2 -yes/no +\fBrun. For own type services this should be in the\fP (\fIshould\fP) \-\- +.IP \(bu 2 +\fBformat. The following are examples of valid built\-in\fP (\fIdomain\eusername\fP) \-\- +.IP \(bu 2 +\fBaccounts\fP (\fIservice\fP) \-\- .INDENT 2.0 +.IP \(bu 2 +NT Authority\eLocalService +.IP \(bu 2 +NT Authority\eNetworkService +.IP \(bu 2 +NT Authority\eLocalSystem +.IP \(bu 2 +\&.\eLocalSystem .UNINDENT + +.IP \(bu 2 +\fBpassword\fP (\fI\%str\fP) \-\- The password for the account name specified in +.IP \(bu 2 +\fBFor the above built\-in accounts, this can be None.\fP (\fIaccount_name.\fP) \-\- +.IP \(bu 2 +\fBa password must be specified.\fP (\fIOtherwise\fP) \-\- .UNINDENT .UNINDENT -.INDENT 7.0 -.TP -.B Parameters -\fBdepend\fP (\fI\%str\fP) \-\- Specifies the names of services or groups that must start -.UNINDENT -.sp -before this service. The names are separated by forward slashes. -.INDENT 7.0 -.TP -.B Parameters -\fBobj\fP (\fI\%str\fP) \-\- Specifies th name of an account in which a service will run -.UNINDENT -.sp -or specifies a name of the Windows driver object in which the driver will -run. Default is LocalSystem -.INDENT 7.0 -.TP -.B Parameters -\fBpassword\fP (\fI\%str\fP) \-\- Specifies a password. Required if other than -.UNINDENT -.sp -LocalSystem account is used. -.INDENT 7.0 -.TP -.B Returns -True if successful, False if not -.TP -.B Return type -\fI\%bool\fP -.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183398,66 +198016,130 @@ salt \(aq*\(aq service.config display_name=\(aq .TP .B salt.modules.win_service.disable(name, **kwargs) 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 +.TP +.B Returns +\fBTrue\fP if disabled, \fBFalse\fP otherwise +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183527,6 +198231,17 @@ salt \(aq*\(aq service.disable .TP .B salt.modules.win_service.disabled(name) 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 +.TP +.B Returns +True if the service is disabled +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183544,6 +198259,17 @@ salt \(aq*\(aq service.disabled .TP .B salt.modules.win_service.enable(name, **kwargs) Enable the named service to start at boot +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the service to enable. +.TP +.B Returns +\fBTrue\fP if successful, \fBFalse\fP otherwise +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183561,6 +198287,17 @@ salt \(aq*\(aq service.enable .TP .B salt.modules.win_service.enabled(name, **kwargs) 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 +.TP +.B Returns +True if the service is set to start +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183595,6 +198332,14 @@ salt \(aq*\(aq service.execute_salt_restart_task() .TP .B salt.modules.win_service.get_all() Return all installed services +.INDENT 7.0 +.TP +.B Returns +Returns a list of all services on the system. +.TP +.B Return type +list +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183611,7 +198356,16 @@ salt \(aq*\(aq service.get_all .INDENT 0.0 .TP .B salt.modules.win_service.get_disabled() -Return the disabled services +Return a list of disabled services. Disabled is defined as a service that is +marked \(aqDisabled\(aq or \(aqManual\(aq. +.INDENT 7.0 +.TP +.B Returns +A list of disabled services. +.TP +.B Return type +list +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183628,7 +198382,16 @@ salt \(aq*\(aq service.get_disabled .INDENT 0.0 .TP .B salt.modules.win_service.get_enabled() -Return the enabled services +Return a list of enabled services. Enabled is defined as a service that is +marked to Auto Start. +.INDENT 7.0 +.TP +.B Returns +A list of enabled services +.TP +.B Return type +list +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183656,7 +198419,7 @@ service Display Names and the values are the Service Names. .sp If arguments are passed, create a dict of Display Names and Service Names .sp -CLI Example: +CLI Examples: .INDENT 7.0 .INDENT 3.5 .sp @@ -183672,7 +198435,18 @@ salt \(aq*\(aq service.get_service_name \(aqGoogle Update Service (gupdate)\(aq .INDENT 0.0 .TP .B salt.modules.win_service.getsid(name) -Return the sid for this windows service +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 +.TP +.B Returns +A string representing the SID for the service +.TP +.B Return type +\fI\%str\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183688,10 +198462,52 @@ salt \(aq*\(aq service.getsid .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_service.info(name) +Get information about a service on the system +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The name of the service. This is not the display name. Use +.IP \(bu 2 +\fBto find the service name.\fP (\fIget_service_name\fP) \-\- +.UNINDENT +.TP +.B Returns +A dictionary containing information about the service. +.TP +.B Return type +\fI\%dict\fP +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.info spooler +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_service.missing(name) The inverse of service.available. -Returns \fBTrue\fP if the specified service is not available, otherwise returns -\fBFalse\fP\&. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\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 +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183707,8 +198523,158 @@ salt \(aq*\(aq service.missing .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_service.modify(name, bin_path=None, exe_args=None, display_name=None, description=None, service_type=None, start_type=None, start_delayed=None, error_control=None, load_order_group=None, dependencies=None, account_name=None, account_password=None, run_interactive=None) +Modify a service\(aqs parameters. Changes will not be made for parameters that +are not passed. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The name of the service. Can be found using the +.IP \(bu 2 +\fBfunction\fP (\fIservice.get_service_name\fP) \-\- +.IP \(bu 2 +\fBbin_path\fP (\fI\%str\fP) \-\- The path to the service executable. Backslashes must be +.IP \(bu 2 +\fBeg\fP (\fIescaped,\fP) \-\- C:\epath\eto\ebinary.exe +.IP \(bu 2 +\fBexe_args\fP (\fI\%str\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 +.IP \(bu 2 +\fBdescription\fP (\fI\%str\fP) \-\- The description to display for the service +.IP \(bu 2 +\fBservice_type\fP (\fI\%str\fP) \-\- Specifies the service type. Default is \fBown\fP\&. +.IP \(bu 2 +\fBoptions are as follows\fP (\fIValid\fP) \-\- .INDENT 2.0 +.IP \(bu 2 +kernel: Driver service +.IP \(bu 2 +filesystem: File system driver service +.IP \(bu 2 +adapter: Adapter driver service (reserved) +.IP \(bu 2 +recognizer: Recognizer driver service (reserved) +.IP \(bu 2 +own (default): Service runs in its own process +.IP \(bu 2 +share: Service shares a process with one or more other services +.UNINDENT + +.IP \(bu 2 +\fBstart_type\fP (\fI\%str\fP) \-\- Specifies the service start type. Valid options are as +follows: +\- boot: Device driver that is loaded by the boot loader +\- system: Device driver that is started during kernel initialization +\- auto: Service that automatically starts +\- manual: Service must be started manually +\- disabled: Service cannot be started +.IP \(bu 2 +\fBstart_delayed\fP (\fI\%bool\fP) \-\- Set the service to Auto(Delayed Start). Only valid +.IP \(bu 2 +\fBthe start_type is set to Auto. If service_type is not passed, but\fP (\fIif\fP) \-\- +.IP \(bu 2 +\fBservice is already set to Auto, then the flag will be set.\fP (\fIthe\fP) \-\- +.IP \(bu 2 +\fBerror_control\fP (\fI\%str\fP) \-\- The severity of the error, and action taken, if +.IP \(bu 2 +\fBservice fails to start. Valid options are as follows\fP (\fIthis\fP) \-\- .INDENT 2.0 +.IP \(bu 2 +normal: Error is logged and a message box is displayed +.IP \(bu 2 +severe: Error is logged and computer attempts a restart with the +last known good configuration +.IP \(bu 2 +critical: Error is logged, computer attempts to restart with the +last known good configuration, system halts on failure +.IP \(bu 2 +ignore: Error is logged and startup continues, no notification is +given to the user +.UNINDENT + +.IP \(bu 2 +\fBload_order_group\fP \-\- The name of the load order group to which this service +belongs +.IP \(bu 2 +\fBdependencies\fP (\fIlist\fP) \-\- A list of services or load ordering groups that +.IP \(bu 2 +\fBstart before this service\fP (\fImust\fP) \-\- +.IP \(bu 2 +\fBaccount_name\fP (\fI\%str\fP) \-\- The name of the account under which the service +.IP \(bu 2 +\fBrun. For own type services this should be in the\fP (\fIshould\fP) \-\- +.IP \(bu 2 +\fBformat. The following are examples of valid built\-in\fP (\fIdomain\eusername\fP) \-\- +.IP \(bu 2 +\fBaccounts\fP (\fIservice\fP) \-\- .INDENT 2.0 +.IP \(bu 2 +NT Authority\eLocalService +.IP \(bu 2 +NT Authority\eNetworkService +.IP \(bu 2 +NT Authority\eLocalSystem +.IP \(bu 2 +\&.LocalSystem +.UNINDENT + +.IP \(bu 2 +\fBaccount_password\fP (\fI\%str\fP) \-\- The password for the account name specified in +.IP \(bu 2 +\fBFor the above built\-in accounts, this can be None.\fP (\fIaccount_name.\fP) \-\- +.IP \(bu 2 +\fBa password must be specified.\fP (\fIOtherwise\fP) \-\- +.IP \(bu 2 +\fBrun_interactive\fP (\fI\%bool\fP) \-\- If this setting is True, the service will be +.IP \(bu 2 +\fBto interact with the user. Not recommended for services that run\fP (\fIallowed\fP) \-\- +.IP \(bu 2 +\fBelevated privileges.\fP (\fIwith\fP) \-\- +.UNINDENT +.UNINDENT +.sp +Returns (dict): A dictionary of changes made +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq service.modify spooler start_type=disabled +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_service.restart(name) -Restart the named service +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 +.sp +\fBNOTE:\fP +.INDENT 7.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. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Returns +\fBTrue\fP if successful, \fBFalse\fP otherwise +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183734,17 +198700,16 @@ You cannot start a disabled service in Windows. If the service is disabled, it will be changed to \fBManual\fP start. .UNINDENT .UNINDENT -.sp -Args: -.INDENT 7.0 -.INDENT 3.5 -name (str): The name of the service to start -.UNINDENT -.UNINDENT .INDENT 7.0 .TP -.B Returns: -bool: True if successful, otherwise False +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the service to start +.TP +.B Returns +True if successful, False otherwise +.TP +.B Return type +\fI\%bool\fP .UNINDENT .sp CLI Example: @@ -183762,9 +198727,23 @@ salt \(aq*\(aq service.start .INDENT 0.0 .TP .B salt.modules.win_service.status(name, sig=None) -Return the status for a service, returns the PID or an empty string if the -service is running or not, pass a signature to use to find the service via -ps +Return the status for a service +.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 +.TP +.B Returns +True if running, False otherwise +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183782,6 +198761,17 @@ salt \(aq*\(aq service.status [service signature] .TP .B salt.modules.win_service.stop(name) Stop the specified service +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the service to stop +.TP +.B Returns +True if successful, False otherwise +.TP +.B Return type +\fI\%bool\fP +.UNINDENT .sp CLI Example: .INDENT 7.0 @@ -183809,6 +198799,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_shadow.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_shadow.info(name) Return information for the specified user This is just returns dummy data so that salt states can work. @@ -183845,6 +198840,18 @@ True if successful. False if unsuccessful. .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq shadow.require_password_change +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -183866,6 +198873,18 @@ True if successful. False if unsuccessful. .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq shadow.set_expire 2016/7/1 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -183915,6 +198934,18 @@ True if successful. False if unsuccessful. .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq shadow.unlock_account +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.win_status .sp @@ -183936,6 +198967,11 @@ wmi .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_status.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_status.cpuload() New in version 2015.8.0. @@ -184099,13 +199135,14 @@ win32net Support for reboot, shutdown, etc .INDENT 0.0 .TP +.B salt.modules.win_system.__virtual__() +Set the system module of the kernel is Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_system.get_computer_desc() Get the Windows computer description -.INDENT 7.0 -.TP -.B Returns -Returns the computer description if found. Otherwise returns False -.UNINDENT +:returns: Returns the computer description if found. Otherwise returns False .sp CLI Example: .INDENT 7.0 @@ -184159,6 +199196,18 @@ The name of the domain or workgroup .B Return type \fI\%str\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq system.get_domain_workgroup +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -184187,6 +199236,34 @@ salt \(aqminion\-id\(aq system.get_hostname .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_system.get_pending_component_servicing() +Determine whether there are pending Component Based Servicing tasks that require a reboot. +.INDENT 7.0 +.TP +.B Returns +A boolean representing whether there are pending Component Based Servicing tasks. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_pending_component_servicing +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_system.get_pending_computer_name() Get a pending computer name. If the computer name has been changed, and the change is pending a system reboot, this function will return the pending @@ -184214,6 +199291,181 @@ salt \(aqminion\-id\(aq system.get_pending_computer_name .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_system.get_pending_domain_join() +Determine whether there is a pending domain join action that requires a reboot. +.INDENT 7.0 +.TP +.B Returns +A boolean representing whether there is a pending domain join action. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_pending_domain_join +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_system.get_pending_file_rename() +Determine whether there are pending file rename operations that require a reboot. +.INDENT 7.0 +.TP +.B Returns +A boolean representing whether there are pending file rename operations. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_pending_file_rename +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_system.get_pending_reboot() +Determine whether there is a reboot pending. +.INDENT 7.0 +.TP +.B Returns +A boolean representing whether reboots are pending. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_pending_reboot +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_system.get_pending_servermanager() +Determine whether there are pending Server Manager tasks that require a reboot. +.INDENT 7.0 +.TP +.B Returns +A boolean representing whether there are pending Server Manager tasks. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_pending_servermanager +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_system.get_pending_update() +Determine whether there are pending updates that require a reboot. +.INDENT 7.0 +.TP +.B Returns +A boolean representing whether there are pending updates. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq system.get_pending_update +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.win_system.get_reboot_required_witnessed() +New in version 2016.11.0. + +.sp +This tells us if, at any time during the current boot session +the salt minion witnessed an event indicating +that a reboot is required. +(For the time being, this function will return True +if an install completed with exit code 3010 during the current +boot session and this usage can be extended where appropriate +in the future) +.INDENT 7.0 +.TP +.B Returns +a boolean which will be True if the salt\-minion reported +a required reboot during the current boot session, otherwise False. +.TP +.B Return type +\fI\%bool\fP +.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.win_system.get_system_date() Get the Windows system date .INDENT 7.0 @@ -184250,6 +199502,18 @@ name, description, version, etc... .B Return type \fI\%dict\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq system.get_info +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -184258,11 +199522,23 @@ Get the system time. .INDENT 7.0 .TP .B Returns -Returns the system time in HH:MM AM/PM format. +Returns the system time in HH:MM:SS AM/PM format. .TP .B Return type \fI\%str\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq system.get_system_time +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -184391,6 +199667,18 @@ True if successful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq system.lock +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -184434,7 +199722,7 @@ salt \(aq*\(aq system.poweroff 5 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_system.reboot(timeout=5, in_seconds=False, wait_for_reboot=False) +.B salt.modules.win_system.reboot(timeout=5, in_seconds=False, wait_for_reboot=False, only_on_pending_reboot=False) Reboot a running system. .INDENT 7.0 .TP @@ -184463,6 +199751,12 @@ to start until after the restart i.e You could end up with a half finished state New in version 2015.8.0. +.IP \(bu 2 +\fBonly_on_pending_reboot\fP (\fI\%bool\fP) \-\- If this is set to True, then then the reboot will only proceed +if the system reports a pending reboot. Setting this paramater to +True could be useful when calling this function from a final housekeeping +state intended to be executed +at the end of a state run (using \fIorder: last\fP). .UNINDENT .TP .B Returns @@ -184484,6 +199778,25 @@ salt \(aq*\(aq system.reboot 5 True .fi .UNINDENT .UNINDENT +.sp +As example of invoking this function from within a final housekeeping state +is as follows: +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +final housekeeping: + module.run: + \- name: system.reboot + \- only_on_pending_reboot: True + \- order: last +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -184564,6 +199877,52 @@ salt \(aqminion\-id\(aq system.set_hostname newhostname .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_system.set_reboot_required_witnessed() +New in version 2016.11.0. + +.sp +This function is used to remember that +an event indicating that a reboot is required was witnessed. +This function relies on the salt\-minion\(aqs ability to create the following +volatile registry key in the \fIHKLM\fP hive: +.INDENT 7.0 +.INDENT 3.5 +\fISYSTEM\eCurrentControlSet\eServices\esalt\-minion\eVolatile\-Data\fP +.UNINDENT +.UNINDENT +.sp +Because this registry key is volatile, it will not persist +beyond the current boot session. +Also, in the scope of this key, the name \fI\(aqReboot required\(aq\fP will be +assigned the value of \fI1\fP\&. +.sp +(For the time being, this this function is being used +whenever an install completes with exit code 3010 and +this usage can be extended where appropriate in the future.) +.INDENT 7.0 +.TP +.B Returns +A boolean indicating whether or not the salt minion was +able to perform the necessary registry operations. +.TP +.B Return type +\fI\%bool\fP +.UNINDENT +.sp +CLI Example: +.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.win_system.set_system_date(newdate) Set the Windows system date. Use format for the date. .INDENT 7.0 @@ -184653,10 +200012,22 @@ Returns True if successful. Otherwise False. .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq system.set_system_time 12:01 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_system.shutdown(message=None, timeout=5, force_close=True, reboot=False, in_seconds=False) +.B salt.modules.win_system.shutdown(message=None, timeout=5, force_close=True, reboot=False, in_seconds=False, only_on_pending_reboot=False) Shutdown a running system. .INDENT 7.0 .TP @@ -184698,6 +200069,9 @@ instructing the user to close the applications. .IP \(bu 2 \fBreboot\fP (\fI\%bool\fP) \-\- True restarts the computer immediately after shutdown. False caches to disk and safely powers down the system. +.IP \(bu 2 +\fBonly_on_pending_reboot\fP (\fI\%bool\fP) \-\- If this is set to True, then then shutdown will only proceed +if the system reports a pending reboot. .UNINDENT .TP .B Returns @@ -184732,6 +200106,18 @@ True if successful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq system.shutdown_abort +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -184888,6 +200274,11 @@ You can add and clear triggers and actions. You can list all tasks, folders, triggers, and actions. .INDENT 0.0 .TP +.B salt.modules.win_task.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_task.add_action(name=None, location=\(aq\e\e\(aq, action_type=\(aqExecute\(aq, **kwargs) Add an action to a task. .INDENT 7.0 @@ -185000,6 +200391,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.add_action cmd=\(aqdel /Q /S C:\e\eTemp\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185279,6 +200682,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.add_trigger trigger_type=Once trigger_enabled=True start_date=2016/12/1 start_time=12:01 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185305,6 +200720,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.clear_trigger +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185333,6 +200760,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.create_folder +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185388,6 +200827,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.create_task user_name=System force=True action_type=Execute cmd=\(aqdel /Q /S C:\e\eTemp\(aq trigger_type=Once start_date=2016\-12\-1 start_time=01:00 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185445,6 +200896,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.create_task_from_xml xml_path=C:\etask.xml +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185471,6 +200934,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.delete_folder +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185497,6 +200972,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.delete_task +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185752,6 +201239,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.edit_task description=\(aqThis task is awesome\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185778,6 +201277,18 @@ Default is \(aq\e\(aq which is the root for the task scheduler .B Return type \fI\%dict\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.info +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185804,6 +201315,18 @@ Returns a list of actions. .B Return type list .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_actions +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185825,6 +201348,18 @@ Returns a list of folders. .B Return type list .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_folders +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185846,6 +201381,18 @@ Returns a list of tasks. .B Return type list .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_tasks +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185872,6 +201419,18 @@ Returns a list of triggers. .B Return type list .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_triggers +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185898,6 +201457,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_run +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185924,6 +201495,18 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_run_wait +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185964,6 +201547,18 @@ Running .B Return type string .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_status +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -185990,12 +201585,29 @@ True if successful, False if unsuccessful .B Return type \fI\%bool\fP .UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aqminion\-id\(aq task.list_stop +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.modules.win_timezone .sp Module for managing timezone on Windows systems. .INDENT 0.0 .TP +.B salt.modules.win_timezone.__virtual__() +Only load on windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_timezone.get_hwclock() Get current hardware clock setting (UTC or localtime) .sp @@ -186202,68 +201814,8 @@ it\(aqs enumeration is described here: \fI\%https://msdn.microsoft.com/en\-us/li 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 +.B salt.modules.win_update.__virtual__() +Only works on Windows systems .UNINDENT .INDENT 0.0 .TP @@ -186493,6 +202045,11 @@ This currently only works with local user accounts, not domain accounts .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_useradd.__virtual__() +Set the user module if the kernel is Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_useradd.add(name, password=None, fullname=False, description=None, groups=None, home=None, homedrive=None, profile=None, logonscript=None) Add a user to the minion. .INDENT 7.0 @@ -186645,7 +202202,7 @@ salt \(aq*\(aq user.chgroups jsnuffy Administrators,Users True .UNINDENT .INDENT 0.0 .TP -.B salt.modules.win_useradd.chhome(name, home, persist=False) +.B salt.modules.win_useradd.chhome(name, home, **kwargs) Change the home directory of the user, pass True for persist to move files to the new home directory if the old home directory exist. .INDENT 7.0 @@ -186656,8 +202213,6 @@ to the new home directory if the old home directory exist. \fBname\fP (\fI\%str\fP) \-\- name of the user whose home directory you wish to change .IP \(bu 2 \fBhome\fP (\fI\%str\fP) \-\- new location of the home directory -.IP \(bu 2 -\fBpersist\fP (\fI\%bool\fP) \-\- True to move the contents of the existing home directory to the new location .UNINDENT .TP .B Returns @@ -186857,55 +202412,28 @@ Return user information \fBname\fP (\fI\%str\fP) \-\- Username for which to display information .TP .B Returns -.INDENT 7.0 -.TP -.B A dictionary containing user information -.INDENT 7.0 -.IP \(bu 2 -fullname -.IP \(bu 2 -username -.IP \(bu 2 -SID -.IP \(bu 2 -passwd (will always return None) -.IP \(bu 2 -comment (same as description, left here for backwards compatibility) -.IP \(bu 2 -description -.IP \(bu 2 -active -.IP \(bu 2 -logonscript -.IP \(bu 2 -profile -.IP \(bu 2 -home -.IP \(bu 2 -homedrive -.IP \(bu 2 -groups -.IP \(bu 2 -password_changed -.IP \(bu 2 -successful_logon_attempts -.IP \(bu 2 -failed_logon_attempts -.IP \(bu 2 -last_logon -.IP \(bu 2 -account_disabled -.IP \(bu 2 -account_locked -.IP \(bu 2 -password_never_expires -.IP \(bu 2 -disallow_change_password -.IP \(bu 2 -gid -.UNINDENT -.UNINDENT - +A dictionary containing user information +\- fullname +\- username +\- SID +\- passwd (will always return None) +\- comment (same as description, left here for backwards compatibility) +\- description +\- active +\- logonscript +\- profile +\- home +\- homedrive +\- groups +\- password_changed +\- successful_logon_attempts +\- failed_logon_attempts +\- last_logon +\- account_disabled +\- account_locked +\- password_never_expires +\- disallow_change_password +\- gid .TP .B Return type \fI\%dict\fP @@ -187165,6 +202693,11 @@ pythoncom .UNINDENT .INDENT 0.0 .TP +.B salt.modules.win_wua.__virtual__() +Only works on Windows systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.win_wua.download_update(guid=None) Downloads a single update .INDENT 7.0 @@ -187249,10 +202782,12 @@ Get current Windows Update settings. .TP .B Returns .INDENT 7.0 -.TP -.B Featured Updates: +.INDENT 3.5 Boolean value that indicates whether to display notifications for featured updates. +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B Group Policy Required (Read\-only): Boolean value that indicates whether Group Policy requires the Automatic @@ -187303,6 +202838,9 @@ updates. Time at which Automatic Updates installs or uninstalls updates. .UNINDENT +.TP +.B Return type +Featured Updates .UNINDENT .sp CLI Examples: @@ -187539,7 +203077,6 @@ Important .UNINDENT .TP .B Returns -Returns a dict containing either a summary or a list of updates: .INDENT 7.0 .INDENT 3.5 .sp @@ -187578,6 +203115,9 @@ Summary of Updates: .UNINDENT .UNINDENT +.TP +.B Return type +Returns a dict containing either a summary or a list of updates .TP .B Return type dict @@ -187705,7 +203245,17 @@ New in version 2015.8.0. .INDENT 0.0 .TP -.B salt.modules.x509.create_certificate(path=None, text=False, ca_server=None, **kwargs) +.B depends +M2Crypto +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.x509.__virtual__() +only load this module if m2crypto is available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.x509.create_certificate(path=None, text=False, overwrite=True, ca_server=None, **kwargs) Create an X509 certificate. .INDENT 7.0 .TP @@ -187713,15 +203263,24 @@ Create an X509 certificate. Path to write the certificate to. .TP .B text: -If \fBTrue\fP, return the PEM text without writing to a file. Default \fBFalse\fP\&. +If \fBTrue\fP, return the PEM text without writing to a file. +Default \fBFalse\fP\&. +.TP +.B overwrite: +If True(default), create_certificate will overwrite the entire pem +file. Set False to preserve existing private keys and dh params that +may exist in the pem file. .TP .B kwargs: -Any of the properties below can be included as additional keyword arguments. +Any of the properties below can be included as additional +keyword arguments. .TP .B ca_server: -Request a remotely signed certificate from ca_server. For this to work, a \fBsigning_policy\fP must -be specified, and that same policy must be configured on the ca_server. See \fBsigning_policy\fP for -details. Also the salt master must permit peers to call the \fBsign_remote_certificate\fP function. +Request a remotely signed certificate from ca_server. For this to +work, a \fBsigning_policy\fP must be specified, and that same policy +must be configured on the ca_server. See \fBsigning_policy\fP for +details. Also the salt master must permit peers to call the +\fBsign_remote_certificate\fP function. .sp Example: .sp @@ -187773,39 +203332,46 @@ State or Province .UNINDENT .TP .B signing_private_key: -A path or string of the private key in PEM format that will be used to sign this certificate. -If neither \fBsigning_cert\fP, \fBpublic_key\fP, or \fBcsr\fP are included, it will be assumed that -this is a self\-signed certificate, and the public key matching \fBsigning_private_key\fP will +A path or string of the private key in PEM format that will be used +to sign this certificate. If neither \fBsigning_cert\fP, \fBpublic_key\fP, +or \fBcsr\fP are included, it will be assumed that this is a self\-signed +certificate, and the public key matching \fBsigning_private_key\fP will be used to create the certificate. .TP .B signing_cert: -A certificate matching the private key that will be used to sign this certificate. This is used -to populate the issuer values in the resulting certificate. Do not include this value for +A certificate matching the private key that will be used to sign this +certificate. This is used to populate the issuer values in the +resulting certificate. Do not include this value for self\-signed certificates. .TP .B public_key: -The public key to be included in this certificate. This can be sourced from a public key, -certificate, csr or private key. If a private key is used, the matching public key from -the private key will be generated before any processing is done. This means you can request a -certificate from a remote CA using a private key file as your public_key and only the -public key will be sent across the network to the CA. -If neither \fBpublic_key\fP or \fBcsr\fP are -specified, it will be assumed that this is a self\-signed certificate, and the public key -derived from \fBsigning_private_key\fP will be used. Specify either \fBpublic_key\fP or \fBcsr\fP, -not both. Because you can input a CSR as a public key or as a CSR, it is important to understand -the difference. If you import a CSR as a public key, only the public key will be added -to the certificate, subject or extension information in the CSR will be lost. +The public key to be included in this certificate. This can be sourced +from a public key, certificate, csr or private key. If a private key +is used, the matching public key from the private key will be +generated before any processing is done. This means you can request a +certificate from a remote CA using a private key file as your +public_key and only the public key will be sent across the network to +the CA. If neither \fBpublic_key\fP or \fBcsr\fP are specified, it will be +assumed that this is a self\-signed certificate, and the public key +derived from \fBsigning_private_key\fP will be used. Specify either +\fBpublic_key\fP or \fBcsr\fP, not both. Because you can input a CSR as a +public key or as a CSR, it is important to understand the difference. +If you import a CSR as a public key, only the public key will be added +to the certificate, subject or extension information in the CSR will +be lost. .TP .B csr: -A file or PEM string containing a certificate signing request. This will be used to supply the -subject, extensions and public key of a certificate. Any subject or extensions specified -explicitly will overwrite any in the CSR. +A file or PEM string containing a certificate signing request. This +will be used to supply the subject, extensions and public key of a +certificate. Any subject or extensions specified explicitly will +overwrite any in the CSR. .TP .B basicConstraints: X509v3 Basic Constraints extension. .TP .B extensions: -The following arguments set X509v3 Extension values. If the value starts with +The following arguments set X509v3 Extension values. If the value +starts with .nf \(ga\(ga .fi @@ -187813,19 +203379,21 @@ critical .nf \(ga\(ga .fi -, -the extension will be marked as critical. +, the extension will be marked as critical. .sp -Some special extensions are \fBsubjectKeyIdentifier\fP and \fBauthorityKeyIdentifier\fP\&. +Some special extensions are \fBsubjectKeyIdentifier\fP and +\fBauthorityKeyIdentifier\fP\&. .sp -\fBsubjectKeyIdentifier\fP can be an explicit value or it can be the special string \fBhash\fP\&. -\fBhash\fP will set the subjectKeyIdentifier equal to the SHA1 hash of the modulus of the -public key in this certificate. Note that this is not the exact same hashing method used by -OpenSSL when using the hash value. +\fBsubjectKeyIdentifier\fP can be an explicit value or it can be the +special string \fBhash\fP\&. \fBhash\fP will set the subjectKeyIdentifier +equal to the SHA1 hash of the modulus of the public key in this +certificate. Note that this is not the exact same hashing method used +by OpenSSL when using the hash value. .sp -\fBauthorityKeyIdentifier\fP Use values acceptable to the openssl CLI tools. This will -automatically populate \fBauthorityKeyIdentifier\fP with the \fBsubjectKeyIdentifier\fP of -\fBsigning_cert\fP\&. If this is a self\-signed cert these values will be the same. +\fBauthorityKeyIdentifier\fP Use values acceptable to the openssl CLI +tools. This will automatically populate \fBauthorityKeyIdentifier\fP +with the \fBsubjectKeyIdentifier\fP of \fBsigning_cert\fP\&. If this is a +self\-signed cert these values will be the same. .INDENT 7.0 .TP .B basicConstraints: @@ -187875,33 +203443,46 @@ Netscape Certificate Type .UNINDENT .TP .B days_valid: -The number of days this certificate should be valid. This sets the \fBnotAfter\fP property -of the certificate. Defaults to 365. +The number of days this certificate should be valid. This sets the +\fBnotAfter\fP property of the certificate. Defaults to 365. .TP .B version: -The version of the X509 certificate. Defaults to 3. This is automatically converted to the -version value, so \fBversion=3\fP sets the certificate version field to 0x2. +The version of the X509 certificate. Defaults to 3. This is +automatically converted to the version value, so \fBversion=3\fP +sets the certificate version field to 0x2. .TP .B serial_number: -The serial number to assign to this certificate. If omitted a random serial number of size -\fBserial_bits\fP is generated. +The serial number to assign to this certificate. If omitted a random +serial number of size \fBserial_bits\fP is generated. .TP .B serial_bits: -The number of bits to use when randomly generating a serial number. Defaults to 64. +The number of bits to use when randomly generating a serial number. +Defaults to 64. .TP .B algorithm: -The hashing algorithm to be used for signing this certificate. Defaults to sha256. +The hashing algorithm to be used for signing this certificate. +Defaults to sha256. .TP .B copypath: -An additional path to copy the resulting certificate to. Can be used to maintain a copy -of all certificates issued for revocation purposes. +An additional path to copy the resulting certificate to. Can be used +to maintain a copy of all certificates issued for revocation purposes. +.TP +.B prepend_cn: +If set to True, the CN and a dash will be prepended to the copypath\(aqs filename. +.INDENT 7.0 +.TP +.B Example: +/etc/pki/issued_certs/www.example.com\-DE:CA:FB:AD:00:00:00:00.crt +.UNINDENT .TP .B signing_policy: -A signing policy that should be used to create this certificate. 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. +A signing policy that should be used to create this certificate. +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. .sp Example: .INDENT 7.0 @@ -187962,39 +203543,45 @@ PyOpenSSL Python module Path to write the crl to. .TP .B text: -If \fBTrue\fP, return the PEM text without writing to a file. Default \fBFalse\fP\&. +If \fBTrue\fP, return the PEM text without writing to a file. +Default \fBFalse\fP\&. .TP .B signing_private_key: -A path or string of the private key in PEM format that will be used to sign this crl. -This is required. +A path or string of the private key in PEM format that will be used +to sign this crl. This is required. .TP .B signing_cert: -A certificate matching the private key that will be used to sign this crl. This is -required. +A certificate matching the private key that will be used to sign +this crl. This is required. .TP .B revoked: -A list of dicts containing all the certificates to revoke. Each dict represents one -certificate. A dict must contain either the key \fBserial_number\fP with the value of -the serial number to revoke, or \fBcertificate\fP with either the PEM encoded text of -the certificate, or a path ot the certificate to revoke. +A list of dicts containing all the certificates to revoke. Each dict +represents one certificate. A dict must contain either the key +\fBserial_number\fP with the value of the serial number to revoke, or +\fBcertificate\fP with either the PEM encoded text of the certificate, +or a path ot the certificate to revoke. .sp -The dict can optionally contain the \fBrevocation_date\fP key. If this key is omitted -the revocation date will be set to now. If should be a string in the format "%Y\-%m\-%d %H:%M:%S". +The dict can optionally contain the \fBrevocation_date\fP key. If this +key is omitted the revocation date will be set to now. If should be a +string in the format "%Y\-%m\-%d %H:%M:%S". .sp -The dict can also optionally contain the \fBnot_after\fP key. This is redundant if the -\fBcertificate\fP key is included. If the \fBCertificate\fP key is not included, this -can be used for the logic behind the \fBinclude_expired\fP parameter. -If should be a string in the format "%Y\-%m\-%d %H:%M:%S". +The dict can also optionally contain the \fBnot_after\fP key. This is +redundant if the \fBcertificate\fP key is included. If the +\fBCertificate\fP key is not included, this can be used for the logic +behind the \fBinclude_expired\fP parameter. If should be a string in +the format "%Y\-%m\-%d %H:%M:%S". .sp -The dict can also optionally contain the \fBreason\fP key. This is the reason code for the -revocation. Available choices are \fBunspecified\fP, \fBkeyCompromise\fP, \fBCACompromise\fP, -\fBaffiliationChanged\fP, \fBsuperseded\fP, \fBcessationOfOperation\fP and \fBcertificateHold\fP\&. +The dict can also optionally contain the \fBreason\fP key. This is the +reason code for the revocation. Available choices are \fBunspecified\fP, +\fBkeyCompromise\fP, \fBCACompromise\fP, \fBaffiliationChanged\fP, +\fBsuperseded\fP, \fBcessationOfOperation\fP and \fBcertificateHold\fP\&. .TP .B include_expired: Include expired certificates in the CRL. Default is \fBFalse\fP\&. .TP .B days_valid: -The number of days that the CRL should be valid. This sets the Next Update field in the CRL. +The number of days that the CRL should be valid. This sets the Next +Update field in the CRL. .TP .B digest: The digest to use for signing the CRL. @@ -188007,9 +203594,11 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.create_crl path=/etc/pki/mykey.key signing_private_key=/etc/pki/ca.key \e +salt \(aq*\(aq x509.create_crl path=/etc/pki/mykey.key \e + signing_private_key=/etc/pki/ca.key \e signing_cert=/etc/pki/ca.crt \e - revoked="{\(aqcompromized\-web\-key\(aq: {\(aqcertificate\(aq: \(aq/etc/pki/certs/www1.crt\(aq, \e + revoked="{\(aqcompromized\-web\-key\(aq: \e + {\(aqcertificate\(aq: \(aq/etc/pki/certs/www1.crt\(aq, \e \(aqrevocation_date\(aq: \(aq2015\-03\-01 00:00:00\(aq}}" .ft P .fi @@ -188026,14 +203615,16 @@ Create a certificate signing request. Path to write the certificate to. .TP .B text: -If \fBTrue\fP, return the PEM text without writing to a file. Default \fBFalse\fP\&. +If \fBTrue\fP, return the PEM text without writing to a file. +Default \fBFalse\fP\&. .TP .B algorithm: The hashing algorithm to be used for signing this request. Defaults to sha256. .TP .B kwargs: The subject, extension and version arguments from -\fI\%x509.create_certificate\fP can be used. +\fI\%x509.create_certificate\fP +can be used. .UNINDENT .sp CLI Example: @@ -188042,7 +203633,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.create_csr path=/etc/pki/myca.csr public_key=\(aq/etc/pki/myca.key\(aq CN=\(aqMy Cert +salt \(aq*\(aq x509.create_csr path=/etc/pki/myca.csr \e + public_key=\(aq/etc/pki/myca.key\(aq CN=\(aqMy Cert .ft P .fi .UNINDENT @@ -188050,18 +203642,26 @@ salt \(aq*\(aq x509.create_csr path=/etc/pki/myca.csr public_key=\(aq/etc/pki/my .UNINDENT .INDENT 0.0 .TP -.B salt.modules.x509.create_private_key(path=None, text=False, bits=2048) +.B salt.modules.x509.create_private_key(path=None, text=False, bits=2048, verbose=True) Creates a private key in PEM format. .INDENT 7.0 .TP .B path: -The path to write the file to, either \fBpath\fP or \fBtext\fP are required. +The path to write the file to, either \fBpath\fP or \fBtext\fP +are required. .TP .B text: -If \fBTrue\fP, return the PEM text without writing to a file. Default \fBFalse\fP\&. +If \fBTrue\fP, return the PEM text without writing to a file. +Default \fBFalse\fP\&. .TP .B bits: Length of the private key in bits. Default 2048 +.TP +.B verbose: +Provide visual feedback on stdout. Default True +.sp +New in version 2016.11.0. + .UNINDENT .sp CLI Example: @@ -188078,6 +203678,33 @@ salt \(aq*\(aq x509.create_private_key path=/etc/pki/mykey.key .UNINDENT .INDENT 0.0 .TP +.B salt.modules.x509.expired(certificate) +Returns a dict containing limited details of a +certificate and whether the certificate has expired. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B certificate: +The certificate to be read. Can be a path to a certificate file, +or a string containing the PEM formatted text of the certificate. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq x509.expired "/etc/pki/mycert.crt" +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.x509.get_pem_entries(glob_path) Returns a dict containing PEM entries in files matching a glob .INDENT 7.0 @@ -188106,11 +203733,12 @@ any whitespace or line\-break issues .INDENT 7.0 .TP .B text: -Text containing the X509 PEM entry to be returned or path to a file containing the text. +Text containing the X509 PEM entry to be returned or path to +a file containing the text. .TP .B pem_type: -If specified, this function will only return a pem of a certain type, for example -\(aqCERTIFICATE\(aq or \(aqCERTIFICATE REQUEST\(aq. +If specified, this function will only return a pem of a certain type, +for example \(aqCERTIFICATE\(aq or \(aqCERTIFICATE REQUEST\(aq. .UNINDENT .sp CLI Example: @@ -188119,7 +203747,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.get_pem_entry "\-\-\-\-\-BEGIN CERTIFICATE REQUEST\-\-\-\-\-MIICyzCC Ar8CAQI...\-\-\-\-\-END CERTIFICATE REQUEST" +salt \(aq*\(aq x509.get_pem_entry "\-\-\-\-\-BEGIN CERTIFICATE REQUEST\-\-\-\-\-\e + MIICyzCC Ar8CAQI...\-\-\-\-\-END CERTIFICATE REQUEST" .ft P .fi .UNINDENT @@ -188154,8 +203783,8 @@ Returns a string containing the public key in PEM format. .INDENT 7.0 .TP .B key: -A path or PEM encoded string containing a CSR, Certificate or Private Key from which -a public key can be retrieved. +A path or PEM encoded string containing a CSR, Certificate or +Private Key from which a public key can be retrieved. .UNINDENT .sp CLI Example: @@ -188173,8 +203802,9 @@ salt \(aq*\(aq x509.get_public_key /etc/pki/mycert.cer .INDENT 0.0 .TP .B salt.modules.x509.get_signing_policy(signing_policy_name) -Returns the details of a names signing policy, including the text of the public key that will be used -to sign it. Does not return the private key. +Returns the details of a names signing policy, including the text of +the public key that will be used to sign it. Does not return the +private key. .sp CLI Example: .INDENT 7.0 @@ -188191,12 +203821,13 @@ salt \(aq*\(aq x509.get_signing_policy www .INDENT 0.0 .TP .B salt.modules.x509.read_certificate(certificate) -Returns a dict containing details of a certificate. Input can be a PEM string or file path. +Returns a dict containing details of a certificate. Input can be a PEM +string or file path. .INDENT 7.0 .TP .B certificate: -The certificate to be read. Can be a path to a certificate file, or a string containing -the PEM formatted text of the certificate. +The certificate to be read. Can be a path to a certificate file, or +a string containing the PEM formatted text of the certificate. .UNINDENT .sp CLI Example: @@ -188236,7 +203867,8 @@ salt \(aq*\(aq x509.read_certificates "/etc/pki/*.crt" .INDENT 0.0 .TP .B salt.modules.x509.read_crl(crl) -Returns a dict containing details of a certificate revocation list. Input can be a PEM string or file path. +Returns a dict containing details of a certificate revocation list. +Input can be a PEM string or file path. .INDENT 7.0 .TP .B Depends @@ -188300,8 +203932,9 @@ Request a certificate to be remotely signed according to a signing policy. .INDENT 7.0 .TP .B argdic: -A dict containing all the arguments to be passed into the create_certificate function. -This will become kwargs when passed to create_certificate. +A dict containing all the arguments to be passed into the +create_certificate function. This will become kwargs when passed +to create_certificate. .TP .B kwargs: kwargs delivered from publish.publish @@ -188313,8 +203946,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.sign_remote_certificate argdic="{\(aqpublic_key\(aq: \(aq/etc/pki/www.key\(aq, \e - \(aqsigning_policy\(aq: \(aqwww\(aq}" __pub_id=\(aqwww1\(aq +salt \(aq*\(aq x509.sign_remote_certificate argdic="{\(aqpublic_key\(aq: \e + \(aq/etc/pki/www.key\(aq, \(aqsigning_policy\(aq: \(aqwww\(aq}" __pub_id=\(aqwww1\(aq .ft P .fi .UNINDENT @@ -188354,11 +203987,12 @@ Verify that \(aqprivate_key\(aq matches \(aqpublic_key\(aq .INDENT 7.0 .TP .B private_key: -The private key to verify, can be a string or path to a private key in PEM format. +The private key to verify, can be a string or path to a private +key in PEM format. .TP .B public_key: -The public key to verify, can be a string or path to a PEM formatted certificate, csr, -or another private key. +The public key to verify, can be a string or path to a PEM formatted +certificate, csr, or another private key. .UNINDENT .sp CLI Example: @@ -188367,7 +204001,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.verify_private_key private_key=/etc/pki/myca.key public_key=/etc/pki/myca.crt +salt \(aq*\(aq x509.verify_private_key private_key=/etc/pki/myca.key \e + public_key=/etc/pki/myca.crt .ft P .fi .UNINDENT @@ -188380,11 +204015,12 @@ Verify that \fBcertificate\fP has been signed by \fBsigning_pub_key\fP .INDENT 7.0 .TP .B certificate: -The certificate to verify. Can be a path or string containing a PEM formatted certificate. +The certificate to verify. Can be a path or string containing a +PEM formatted certificate. .TP .B signing_pub_key: -The public key to verify, can be a string or path to a PEM formatted certificate, csr, -or private key. +The public key to verify, can be a string or path to a PEM formatted +certificate, csr, or private key. .UNINDENT .sp CLI Example: @@ -188393,7 +204029,8 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.verify_private_key private_key=/etc/pki/myca.key public_key=/etc/pki/myca.crt +salt \(aq*\(aq x509.verify_signature /etc/pki/mycert.pem \e + signing_pub_key=/etc/pki/myca.crt .ft P .fi .UNINDENT @@ -188401,8 +204038,37 @@ salt \(aq*\(aq x509.verify_private_key private_key=/etc/pki/myca.key public_key= .UNINDENT .INDENT 0.0 .TP -.B salt.modules.x509.write_pem(text, path, pem_type=None) -Writes out a PEM string fixing any formatting or whitespace issues before writing. +.B salt.modules.x509.will_expire(certificate, days) +Returns a dict containing details of a certificate and whether +the certificate will expire in the specified number of days. +Input can be a PEM string or file path. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B certificate: +The certificate to be read. Can be a path to a certificate file, +or a string containing the PEM formatted text of the certificate. +.UNINDENT +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq x509.will_expire "/etc/pki/mycert.crt" days=30 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.x509.write_pem(text, path, overwrite=True, pem_type=None) +Writes out a PEM string fixing any formatting or whitespace +issues before writing. .INDENT 7.0 .TP .B text: @@ -188411,9 +204077,15 @@ PEM string input to be written out. .B path: Path of the file to write the pem out to. .TP +.B overwrite: +If True(default), write_pem will overwrite the entire pem file. +Set False to preserve existing private keys and dh params that may +exist in the pem file. +.TP .B pem_type: -The PEM type to be saved, for example \fBCERTIFICATE\fP or \fBPUBLIC KEY\fP\&. Adding this -will allow the function to take input that may contain multiple pem types. +The PEM type to be saved, for example \fBCERTIFICATE\fP or +\fBPUBLIC KEY\fP\&. Adding this will allow the function to take +input that may contain multiple pem types. .UNINDENT .sp CLI Example: @@ -188422,7 +204094,9 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq x509.write_pem "\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-MIIGMzCCBBugA..." path=/etc/pki/mycert.crt +salt \(aq*\(aq x509.write_pem \e + "\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-MIIGMzCCBBugA..." \e + path=/etc/pki/mycert.crt .ft P .fi .UNINDENT @@ -189030,6 +204704,11 @@ salt \(aq*\(aq virt.vm_state Module for managing XFS file systems. .INDENT 0.0 .TP +.B salt.modules.xfs.__virtual__() +Only work on POSIX\-like systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.xfs.defragment(device) Defragment mounted XFS filesystem. In order to mount a filesystem, device should be properly mounted and writable. @@ -189308,24 +204987,8 @@ my\-xmpp\-login: .UNINDENT .INDENT 0.0 .TP -.B class salt.modules.xmpp.SendMsgBot(jid, password, recipient, msg) -.INDENT 7.0 -.TP -.B classmethod create_multi(jid, password, msg, recipients=None, rooms=None, nick=\(aqSaltStack Bot\(aq) -Alternate constructor that accept multiple recipients and rooms -.UNINDENT -.INDENT 7.0 -.TP -.B start(event) -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B class salt.modules.xmpp.SleekXMPPMUC(name=\(aq\(aq) -.INDENT 7.0 -.TP -.B filter(record) -.UNINDENT +.B salt.modules.xmpp.__virtual__() +Only load this module if sleekxmpp is installed on this minion. .UNINDENT .INDENT 0.0 .TP @@ -189387,6 +205050,11 @@ automatically in place of YUM in Fedora 22 and newer. .UNINDENT .INDENT 0.0 .TP +.B salt.modules.yumpkg.__virtual__() +Confine this module to yum based systems +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.yumpkg.clean_metadata(**kwargs) New in version 2014.1.0. @@ -189793,8 +205461,8 @@ salt \(aq*\(aq pkg.info_installed ... .UNINDENT .INDENT 0.0 .TP -.B salt.modules.yumpkg.install(name=None, refresh=False, skip_verify=False, pkgs=None, sources=None, reinstall=False, normalize=True, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +.B salt.modules.yumpkg.install(name=None, refresh=False, skip_verify=False, pkgs=None, sources=None, reinstall=False, normalize=True, update_holds=False, **kwargs) +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any yum/dnf commands spawned by Salt when the @@ -189854,6 +205522,17 @@ Skip the GPG verification check (e.g., \fB\-\-nogpgcheck\fP) .B version Install a specific version of the package, e.g. 1.2.3\-4.el5. Ignored if "pkgs" or "sources" is passed. +.TP +.B update_holds +False +If \fBTrue\fP, and this function would update the package version, any +packages held using the yum/dnf "versionlock" plugin will be unheld so +that they can be updated. Otherwise, if this function attempts to +update a held package, the held package(s) will be skipped and an +error will be raised. +.sp +New in version 2016.11.0. + .UNINDENT .sp Repository Options: @@ -190334,7 +206013,7 @@ salt \(aq*\(aq pkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf .INDENT 0.0 .TP .B salt.modules.yumpkg.purge(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any yum/dnf commands spawned by Salt when the @@ -190430,7 +206109,7 @@ salt \(aq*\(aq pkg.refresh_db .INDENT 0.0 .TP .B salt.modules.yumpkg.remove(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any yum/dnf commands spawned by Salt when the @@ -190535,7 +206214,7 @@ not be installed. Changed in version 2014.7.0. .sp -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any yum/dnf commands spawned by Salt when the @@ -190547,14 +206226,14 @@ from killing any yum/dnf commands spawned by Salt when the .sp Run a full system upgrade, a yum upgrade .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -190690,6 +206369,9 @@ New in version 2014.1.0. .sp Runs an rpm \-Va on a system, and returns the results in a dict .sp +Pass options to modify rpm verify behavior using the \fBverify_options\fP +keyword argument +.sp Files with an attribute of config, doc, ghost, license or readme in the package header can be ignored using the \fBignore_types\fP keyword argument .sp @@ -190703,6 +206385,7 @@ salt \(aq*\(aq pkg.verify salt \(aq*\(aq pkg.verify httpd salt \(aq*\(aq pkg.verify \(aqhttpd postfix\(aq salt \(aq*\(aq pkg.verify \(aqhttpd postfix\(aq ignore_types=[\(aqconfig\(aq,\(aqdoc\(aq] +salt \(aq*\(aq pkg.verify \(aqhttpd postfix\(aq verify_options=[\(aqnodeps\(aq,\(aqnosize\(aq] .ft P .fi .UNINDENT @@ -190764,11 +206447,15 @@ salt \(aq*\(aq pkg.version_cmp \(aq0.2\-001\(aq \(aq0.2.0.1\-002\(aq Support for Zabbix .INDENT 0.0 .TP +.B optdepends +.INDENT 7.0 +.IP \(bu 2 +zabbix server +.UNINDENT +.TP .B configuration This module is not usable until the zabbix user and zabbix password are specified either in a pillar or in the minion\(aqs config file. Zabbix url should be also specified. -.sp -For example: .INDENT 7.0 .INDENT 3.5 .sp @@ -190784,8 +206471,6 @@ zabbix.url: http://127.0.0.1/zabbix/api_jsonrpc.php .sp Connection arguments from the minion config file can be overridden on the CLI by using arguments with _connection_ prefix. -.sp -For example: .INDENT 7.0 .INDENT 3.5 .sp @@ -190802,20 +206487,29 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zabbix.__virtual__() +Only load the module if Zabbix server is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zabbix.apiinfo_version(**connection_args) Retrieve the version of the Zabbix API. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.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: +.B Returns On success string with Zabbix API version, False on failure. .UNINDENT .sp @@ -190831,40 +206525,47 @@ salt \(aq*\(aq zabbix.apiinfo_version .TP .B salt.modules.zabbix.host_create(host, groups, interfaces, **connection_args) Create new host. +NOTE: This function accepts all standard host properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -host: technical name of the host -groups: groupids of host groups to add the host to -interfaces: interfaces to be created for the host +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) -.INDENT 7.0 -.TP -.B visible_name: string with visible name of the host, use \(aqvisible_name\(aq instead of \(aqname\(aq parameter +.IP \(bu 2 +\fBhost\fP \-\- technical name of the host +.IP \(bu 2 +\fBgroups\fP \-\- groupids of host groups to add the host to +.IP \(bu 2 +\fBinterfaces\fP \-\- interfaces to be created for the host +.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) +.IP \(bu 2 +\fBvisible_name\fP \-\- string with visible name of the host, use \(aqvisible_name\(aq instead of \(aqname\(aq parameter +.UNINDENT +.UNINDENT +.sp to not mess with value supplied from Salt sls file. -.UNINDENT .sp -all standard host properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host\fP -.UNINDENT -.TP -.B Returns: -ID of the created host, False on failure. -.UNINDENT +return: ID of the created host. .sp CLI Example: -.. code\-block:: bash .INDENT 7.0 .INDENT 3.5 +.sp +.nf +.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 +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -190872,20 +206573,25 @@ visible_name=\(aqHost Visible Name\(aq .TP .B salt.modules.zabbix.host_delete(hostids, **connection_args) Delete hosts. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -hostids: Hosts (hostids) to delete. +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBhostids\fP \-\- Hosts (hostids) to delete. +.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: -IDs of the deleted hosts, False on failure. +.B Returns +IDs of the deleted hosts. .UNINDENT .sp CLI Example: @@ -190900,23 +206606,32 @@ salt \(aq*\(aq zabbix.host_delete 10106 .TP .B salt.modules.zabbix.host_exists(host=None, hostid=None, name=None, node=None, nodeids=None, **connection_args) Checks if at least one host that matches the given filter criteria exists. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -host: technical name of the host -hostids: Hosts (hostids) to delete. -name: visible name of the host -node: name of the node the hosts must belong to (zabbix API < 2.4) -nodeids: IDs of the node the hosts must belong to (zabbix API < 2.4) +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBhost\fP \-\- technical name of the host +.IP \(bu 2 +\fBhostids\fP \-\- Hosts (hostids) to delete. +.IP \(bu 2 +\fBname\fP \-\- visible name of the host +.IP \(bu 2 +\fBnode\fP \-\- name of the node the hosts must belong to (zabbix API < 2.4) +.IP \(bu 2 +\fBnodeids\fP \-\- IDs of the node the hosts must belong to (zabbix API < 2.4) +.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: +.B Returns IDs of the deleted hosts, False on failure. .UNINDENT .sp @@ -190932,25 +206647,30 @@ salt \(aq*\(aq zabbix.host_exists \(aqZabbix server\(aq .TP .B salt.modules.zabbix.host_get(host=None, name=None, hostids=None, **connection_args) Retrieve hosts according to the given parameters. +NOTE: This function accepts all optional host.get parameters: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/get\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -host: technical name of the host -name: visible name of the host -hostids: ids of the hosts +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 host.get parameters: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/get\fP +.IP \(bu 2 +\fBhost\fP \-\- technical name of the host +.IP \(bu 2 +\fBname\fP \-\- visible name of the host +.IP \(bu 2 +\fBhostids\fP \-\- ids of the 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: +.B Returns Array with convenient hosts details, False if no host found or on failure. .UNINDENT .sp @@ -190966,14 +206686,22 @@ salt \(aq*\(aq zabbix.host_get \(aqZabbix server\(aq .TP .B salt.modules.zabbix.host_list(**connection_args) Retrieve all hosts. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.B Parameters +.INDENT 7.0 +.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: +.B Returns Array with details about hosts, False on failure. .UNINDENT .sp @@ -190989,31 +206717,34 @@ salt \(aq*\(aq zabbix.host_list .TP .B salt.modules.zabbix.host_update(hostid, **connection_args) Update existing hosts. -.INDENT 7.0 -.TP -.B Args: -hostid: ID of the host to update -.INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) -.INDENT 7.0 -.TP -.B visible_name: string with visible name of the host, use \(aqvisible_name\(aq instead of \(aqname\(aq parameter -to not mess with value supplied from Salt sls file. -.UNINDENT -.sp -all standard host and host.update properties: keyword argument names differ depending on -your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/update\fP +NOTE: This function accepts all standard host and host.update properties: keyword argument names differ depending +on your zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/update\fP \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host\fP -.UNINDENT +.sp +New in version 2016.3.0. + +.INDENT 7.0 .TP -.B Returns: -ID of the updated host, False on failure. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhostid\fP \-\- ID of the host to update +.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) +.IP \(bu 2 +\fBvisible_name\fP \-\- string with visible name of the host, use \(aqvisible_name\(aq instead of \(aqname\(aq parameter +.UNINDENT +.UNINDENT +.sp +to not mess with value supplied from Salt sls file. +.INDENT 7.0 +.TP +.B Returns +ID of the updated host. .UNINDENT .sp CLI Example: @@ -191028,24 +206759,27 @@ salt \(aq*\(aq zabbix.host_update 10084 name=\(aqZabbix server2\(aq .TP .B salt.modules.zabbix.hostgroup_create(name, **connection_args) Create a host group. +NOTE: This function accepts all standard host group properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/hostgroup/object#host_group\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: name of the host group +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 standard host group properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/hostgroup/object#host_group\fP +.IP \(bu 2 +\fBname\fP \-\- name of the host group +.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 created host group, False on failure. +.B Returns +ID of the created host group. .UNINDENT .sp CLI Example: @@ -191060,19 +206794,24 @@ salt \(aq*\(aq zabbix.hostgroup_create MyNewGroup .TP .B salt.modules.zabbix.hostgroup_delete(hostgroupids, **connection_args) Delete the host group. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -hostgroupids: IDs of the host groups to delete +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBhostgroupids\fP \-\- IDs of the host groups to delete +.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: +.B Returns ID of the deleted host groups, False on failure. .UNINDENT .sp @@ -191088,22 +206827,30 @@ salt \(aq*\(aq zabbix.hostgroup_delete 23 .TP .B salt.modules.zabbix.hostgroup_exists(name=None, groupid=None, node=None, nodeids=None, **connection_args) Checks if at least one host group that matches the given filter criteria exists. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: names of the host groups -groupid: host group IDs -node: name of the node the host groups must belong to (zabbix API < 2.4) -nodeids: IDs of the nodes the host groups must belong to (zabbix API < 2.4) +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBname\fP \-\- names of the host groups +.IP \(bu 2 +\fBgroupid\fP \-\- host group IDs +.IP \(bu 2 +\fBnode\fP \-\- name of the node the host groups must belong to (zabbix API < 2.4) +.IP \(bu 2 +\fBnodeids\fP \-\- IDs of the nodes the host groups must belong to (zabbix API < 2.4) +.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: +.B Returns True if at least one host group exists, False if not or on failure. .UNINDENT .sp @@ -191117,29 +206864,36 @@ salt \(aq*\(aq zabbix.hostgroup_exists MyNewGroup .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zabbix.hostgroup_get(name=None, groupids=None, **connection_args) +.B salt.modules.zabbix.hostgroup_get(name=None, groupids=None, hostids=None, **connection_args) Retrieve host groups according to the given parameters. +NOTE: This function accepts all standard hostgroup.get properities: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.2/manual/api/reference/hostgroup/get\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: names of the host groups -groupid: host group IDs -node: name of the node the host groups must belong to -nodeids: IDs of the nodes the host groups must belong to +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 standard hostgroup.get properities: keyword argument names differ -depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.2/manual/api/reference/hostgroup/get\fP +.IP \(bu 2 +\fBname\fP \-\- names of the host groups +.IP \(bu 2 +\fBgroupid\fP \-\- host group IDs +.IP \(bu 2 +\fBnode\fP \-\- name of the node the host groups must belong to +.IP \(bu 2 +\fBnodeids\fP \-\- IDs of the nodes the host groups must belong to +.IP \(bu 2 +\fBhostids\fP \-\- return only host groups that contain 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: +.B Returns Array with host groups details, False if no convenient host group found or on failure. .UNINDENT .sp @@ -191155,18 +206909,22 @@ salt \(aq*\(aq zabbix.hostgroup_get MyNewGroup .TP .B salt.modules.zabbix.hostgroup_list(**connection_args) Retrieve all host groups. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.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: +.B Returns Array with details about host groups, False on failure. .UNINDENT .sp @@ -191182,25 +206940,29 @@ salt \(aq*\(aq zabbix.hostgroup_list .TP .B salt.modules.zabbix.hostgroup_update(groupid, name=None, **connection_args) Update existing hosts group. +NOTE: This function accepts all standard host group properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/hostgroup/object#host_group\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -groupid: ID of the host group to update -name: name of the host group +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 standard host group properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/hostgroup/object#host_group\fP +.IP \(bu 2 +\fBgroupid\fP \-\- ID of the host group to update +.IP \(bu 2 +\fBname\fP \-\- name of the host group +.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: -IDs of updated host groups, False on failure. +.B Returns +IDs of updated host groups. .UNINDENT .sp CLI Example: @@ -191213,31 +206975,196 @@ salt \(aq*\(aq zabbix.hostgroup_update 24 name=\(aqRenamed Name\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zabbix.user_addmedia(users, medias, **connection_args) -Add new media to multiple users. +.B salt.modules.zabbix.hostinterface_create(hostid, ip, dns=\(aq\(aq, main=1, type=1, useip=1, port=None, **connection_args) +Create new host interface +NOTE: This function accepts all standard host group interface: keyword argument names differ depending +on your zabbix version, see: \fI\%https://www.zabbix.com/documentation/3.0/manual/api/reference/hostinterface/object\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -users: Users (userids) to add the media to. -madias: media to create for the given users +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBhostid\fP \-\- ID of the host the interface belongs to +.IP \(bu 2 +\fBip\fP \-\- IP address used by the interface +.IP \(bu 2 +\fBdns\fP \-\- DNS name used by the interface +.IP \(bu 2 +\fBmain\fP \-\- whether the interface is used as default on the host (0 \- not default, 1 \- default) +.IP \(bu 2 +\fBport\fP \-\- port number used by the interface +.IP \(bu 2 +\fBtype\fP \-\- Interface type (1 \- agent; 2 \- SNMP; 3 \- IPMI; 4 \- JMX) +.IP \(bu 2 +\fBuseip\fP \-\- Whether the connection should be made via IP (0 \- connect using host DNS name; 1 \- connect using .UNINDENT +.UNINDENT +.sp +host IP address for this host interface) +:param _connection_user: Optional \- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +:param _connection_password: Optional \- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +:param _connection_url: Optional \- url of zabbix frontend (can also be set in opts, pillar, see module\(aqs docstring) +.INDENT 7.0 .TP -.B Returns: -IDs of the created media, False on failure. +.B Returns +ID of the created host interface, False on failure. .UNINDENT .sp CLI Example: .. code\-block:: bash .INDENT 7.0 .INDENT 3.5 -salt \(aq*\(aq zabbix.user_addmedia 16 -medias=\(aq{mediatypeid: 1, sendto: "\fI\%support@example.com\fP", active: 0, severity: 63, period: "1\-7,00:00\-24:00"}\(aq +salt \(aq*\(aq zabbix.hostinterface_create 10105 192.193.194.197 +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.hostinterface_delete(interfaceids, **connection_args) +Delete host interface +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBinterfaceids\fP \-\- IDs of the host interfaces to delete +.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 deleted host interfaces, False on failure. +.UNINDENT +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq zabbix.hostinterface_delete 50 +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.hostinterface_get(hostids, **connection_args) +Retrieve host groups according to the given parameters. +NOTE: This function accepts all standard hostinterface.get properities: keyword argument names differ depending +on your zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/hostinterface/get\fP +.sp +New in version 2016.3.0. + +.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.hostinterface_get 101054 +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.hostinterface_update(interfaceid, **connection_args) +Update host interface +NOTE: This function accepts all standard hostinterface: keyword argument names differ depending on your zabbix +version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/hostinterface/object#host_interface\fP +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBinterfaceid\fP \-\- ID of the hostinterface to update +.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 interface, False on failure. +.UNINDENT +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq zabbix.hostinterface_update 6 ip=0.0.0.2 +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.user_addmedia(userids, active, mediatypeid, period, sendto, severity, **connection_args) +Add new media to multiple users. +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBuserids\fP \-\- ID of the user that uses the media +.IP \(bu 2 +\fBactive\fP \-\- Whether the media is enabled (0 enabled, 1 disabled) +.IP \(bu 2 +\fBmediatypeid\fP \-\- ID of the media type used by the media +.IP \(bu 2 +\fBperiod\fP \-\- Time when the notifications can be sent as a time period +.IP \(bu 2 +\fBsendto\fP \-\- Address, user name or other identifier of the recipient +.IP \(bu 2 +\fBseverity\fP \-\- Trigger severities to send notifications about +.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 +IDs of the created media. +.UNINDENT +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq zabbix.user_addmedia 4 active=0 mediatypeid=1 period=\(aq1\-7,00:00\-24:00\(aq \fI\%sendto=\(aqsupport2@example.com\fP\(aq +severity=63 .UNINDENT .UNINDENT .UNINDENT @@ -191245,31 +207172,34 @@ medias=\(aq{mediatypeid: 1, sendto: "\fI\%support@example.com\fP", active: 0, se .TP .B salt.modules.zabbix.user_create(alias, passwd, usrgrps, **connection_args) Create new zabbix user. +NOTE: This function accepts all standard user properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.0/manual/appendix/api/user/definitions#user\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -alias: user alias -passwd: user\(aqs password -usrgrps: user groups to add the user to +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) -.INDENT 7.0 -.TP -.B firstname: string with firstname of the user, use \(aqfirstname\(aq instead of \(aqname\(aq parameter to not mess +.IP \(bu 2 +\fBalias\fP \-\- user alias +.IP \(bu 2 +\fBpasswd\fP \-\- user\(aqs password +.IP \(bu 2 +\fBusrgrps\fP \-\- user groups to add the user to +.IP \(bu 2 +\fB_connection_user\fP \-\- zabbix user (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_password\fP \-\- zabbix password (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fB_connection_url\fP \-\- url of zabbix frontend (can also be set in opts or pillar, see module\(aqs docstring) +.IP \(bu 2 +\fBfirstname\fP \-\- string with firstname of the user, use \(aqfirstname\(aq instead of \(aqname\(aq parameter to not mess with value supplied from Salt sls file. .UNINDENT -.sp -all standard user properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.0/manual/appendix/api/user/definitions#user\fP -.UNINDENT .TP -.B Returns: -On success string with id of the created user, False on failure. +.B Returns +On success string with id of the created user. .UNINDENT .sp CLI Example: @@ -191284,20 +207214,25 @@ salt \(aq*\(aq zabbix.user_create james password007 \(aq[7, 12]\(aq firstname=\( .TP .B salt.modules.zabbix.user_delete(users, **connection_args) Delete zabbix users. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -users: array of users (userids) to delete +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBusers\fP \-\- array of users (userids) to delete +.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: -On success array with userids of deleted users, False on failure. +.B Returns +On success array with userids of deleted users. .UNINDENT .sp CLI Example: @@ -191312,19 +207247,24 @@ salt \(aq*\(aq zabbix.user_delete 15 .TP .B salt.modules.zabbix.user_deletemedia(mediaids, **connection_args) Delete media by id. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -mediaids: IDs of the media to delete +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBmediaids\fP \-\- IDs of the media to delete +.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: +.B Returns IDs of the deleted media, False on failure. .UNINDENT .sp @@ -191340,19 +207280,24 @@ salt \(aq*\(aq zabbix.user_deletemedia 27 .TP .B salt.modules.zabbix.user_exists(alias, **connection_args) Checks if user with given alias exists. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -alias: user alias +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBalias\fP \-\- user alias +.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: +.B Returns True if user exists, else False. .UNINDENT .sp @@ -191368,20 +207313,26 @@ salt \(aq*\(aq zabbix.user_exists james .TP .B salt.modules.zabbix.user_get(alias=None, userids=None, **connection_args) Retrieve users according to the given parameters. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -alias: user alias -userids: return only users with the given IDs +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBalias\fP \-\- user alias +.IP \(bu 2 +\fBuserids\fP \-\- return only users with the given IDs +.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: +.B Returns Array with details of convenient users, False on failure of if no user found. .UNINDENT .sp @@ -191395,21 +207346,60 @@ salt \(aq*\(aq zabbix.user_get james .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zabbix.user_list(**connection_args) -Retrieve all of the configured users. +.B salt.modules.zabbix.user_getmedia(userids=None, **connection_args) +Retrieve media according to the given parameters NOTE: This function accepts all standard usermedia.get properties: +keyword argument names differ depending on your zabbix version, see: +\fI\%https://www.zabbix.com/documentation/3.2/manual/api/reference/usermedia/get\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBuserids\fP \-\- return only media that are used by the given users +.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 user details, False on failure. +.B Returns +List of retreived media, False on failure. +.UNINDENT +.sp +CLI Example: +.. code\-block:: bash +.INDENT 7.0 +.INDENT 3.5 +salt \(aq*\(aq zabbix.user_getmedia +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.modules.zabbix.user_list(**connection_args) +Retrieve all of the configured users. +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.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 user details. .UNINDENT .sp CLI Example: @@ -191423,25 +207413,28 @@ salt \(aq*\(aq zabbix.user_list .INDENT 0.0 .TP .B salt.modules.zabbix.user_update(userid, **connection_args) -Update existing users. -.INDENT 7.0 -.TP -.B Args: -userid: id of the user to update -.INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 standard user properties: keyword argument names differ depending on your zabbix version, see: -.sp +Update existing users. NOTE: This function accepts all standard user properties: keyword argument names differ +depending on your zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.0/manual/appendix/api/user/definitions#user\fP +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBuserid\fP \-\- id of the user to update +.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 user, False on failure. +.B Returns +Id of the updated user on success. .UNINDENT .sp CLI Example: @@ -191454,62 +207447,29 @@ salt \(aq*\(aq zabbix.user_update 16 visible_name=\(aqJames Brown\(aq .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zabbix.user_updatemedia(users, medias, **connection_args) -Update media for multiple users. -.INDENT 7.0 -.TP -.B Args: -users: Users (userids) to update. -madias: Media to replace existing media. If a media has the mediaid property defined it will be updated, -.INDENT 7.0 -.INDENT 3.5 -otherwise a new media will be created. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) -.UNINDENT -.TP -.B Returns: -IDs of the updated users, False on failure. -.UNINDENT -.sp -CLI Example: -.. code\-block:: bash -.INDENT 7.0 -.INDENT 3.5 -salt \(aq*\(aq zabbix.user_updatemedia 17 -medias=\(aq{mediaid: 24, mediatypeid: 1, sendto: "\fI\%support_new@example.com\fP", active: 0, -severity: 63, period: "1\-7,00:00\-24:00"}\(aq -.UNINDENT -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.modules.zabbix.usergroup_create(name, **connection_args) Create new user group. +NOTE: This function accepts all standard user group properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.0/manual/appendix/api/usergroup/definitions#user_group\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: name of the user group +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 standard user group properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.0/manual/appendix/api/usergroup/definitions#user_group\fP +.IP \(bu 2 +\fBname\fP \-\- name of the user group +.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: -IDs of the created user groups, False on failure. +.B Returns +IDs of the created user groups. .UNINDENT .sp CLI Example: @@ -191523,21 +207483,24 @@ salt \(aq*\(aq zabbix.usergroup_create GroupName .INDENT 0.0 .TP .B salt.modules.zabbix.usergroup_delete(usergroupids, **connection_args) -Delete user groups by id. +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -usergroupids: IDs of the user groups to delete +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBusergroupids\fP \-\- IDs of the user groups to delete +.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: -IDs of the deleted user groups, False on failure. +.B Returns +IDs of the deleted user groups. .UNINDENT .sp CLI Example: @@ -191552,21 +207515,28 @@ salt \(aq*\(aq zabbix.usergroup_delete 28 .TP .B salt.modules.zabbix.usergroup_exists(name=None, node=None, nodeids=None, **connection_args) Checks if at least one user group that matches the given filter criteria exists +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: names of the user groups -node: name of the node the user groups must belong to (This will override the nodeids parameter.) -nodeids: IDs of the nodes the user groups must belong to +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.IP \(bu 2 +\fBname\fP \-\- names of the user groups +.IP \(bu 2 +\fBnode\fP \-\- name of the node the user groups must belong to (This will override the nodeids parameter.) +.IP \(bu 2 +\fBnodeids\fP \-\- IDs of the nodes the user groups must belong to +.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: +.B Returns True if at least one user group that matches the given filter criteria exists, else False. .UNINDENT .sp @@ -191580,26 +207550,32 @@ salt \(aq*\(aq zabbix.usergroup_exists Guests .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zabbix.usergroup_get(name=None, usrgrpids=None, **connection_args) +.B salt.modules.zabbix.usergroup_get(name=None, usrgrpids=None, userids=None, **connection_args) Retrieve user groups according to the given parameters. +NOTE: This function accepts all usergroup_get properties: keyword argument names differ depending on your zabbix +version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/usergroup/get\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: names of the user groups -usrgrpids: return only user groups with the given IDs +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 usergroup_get properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/usergroup/get\fP +.IP \(bu 2 +\fBname\fP \-\- names of the user groups +.IP \(bu 2 +\fBusrgrpids\fP \-\- return only user groups with the given IDs +.IP \(bu 2 +\fBuserids\fP \-\- return only user groups that contain the given users +.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: +.B Returns Array with convenient user groups details, False if no user group found or on failure. .UNINDENT .sp @@ -191615,18 +207591,22 @@ salt \(aq*\(aq zabbix.usergroup_get Guests .TP .B salt.modules.zabbix.usergroup_list(**connection_args) Retrieve all enabled user groups. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) +.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: +.B Returns Array with enabled user groups details, False on failure. .UNINDENT .sp @@ -191642,23 +207622,26 @@ salt \(aq*\(aq zabbix.usergroup_list .TP .B salt.modules.zabbix.usergroup_update(usrgrpid, **connection_args) Update existing user group. +NOTE: This function accepts all standard user group properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/usergroup/object#user_group\fP +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -usrgrpid: ID of the user group to update. +.B Parameters .INDENT 7.0 -.TP -.B optional connection_args: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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 standard user group properties: keyword argument names differ depending on your zabbix version, see: -.sp -\fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/usergroup/object#user_group\fP +.IP \(bu 2 +\fBusrgrpid\fP \-\- ID of the user group to update. +.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: +.B Returns IDs of the updated user group, False on failure. .UNINDENT .sp @@ -191700,6 +207683,11 @@ buildout .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zcbuildout.__virtual__() +Only load if buildout libs are present +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zcbuildout.bootstrap(*a, **kw) Run the buildout bootstrap dance (python bootstrap.py). .INDENT 7.0 @@ -191943,15 +207931,28 @@ zenoss: .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zenoss.__virtual__() +Only load if requests is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zenoss.add_device(device=None, device_class=None, collector=\(aqlocalhost\(aq, prod_state=1000) A function to connect to a zenoss server and add a new device entry. .INDENT 7.0 .TP -.B Parameters: -device: (Optional) Will use the grain \(aqfqdn\(aq by default. -device_class: (Optional) The device class to use. If none, will determine based on kernel grain. -collector: (Optional) The collector to use for this device. Defaults to \(aqlocalhost\(aq. -prod_state: (Optional) The prodState to set on the device. If none, defaults to 1000 ( production ) +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBdevice\fP \-\- (Optional) Will use the grain \(aqfqdn\(aq by default. +.IP \(bu 2 +\fBdevice_class\fP \-\- (Optional) The device class to use. If none, will determine based on kernel grain. +.IP \(bu 2 +\fBcollector\fP \-\- (Optional) The collector to use for this device. Defaults to \(aqlocalhost\(aq. +.IP \(bu 2 +\fBprod_state\fP \-\- (Optional) The prodState to set on the device. If none, defaults to 1000 ( production ) +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B CLI Example: salt \(aq*\(aq zenoss.add_device @@ -191963,8 +207964,10 @@ salt \(aq*\(aq zenoss.add_device Check to see if a device already exists in Zenoss. .INDENT 7.0 .TP -.B Parameters: -device: (Optional) Will use the grain \(aqfqdn\(aq by default +.B Parameters +\fBdevice\fP \-\- (Optional) Will use the grain \(aqfqdn\(aq by default +.UNINDENT +.INDENT 7.0 .TP .B CLI Example: salt \(aq*\(aq zenoss.device_exists @@ -191976,8 +207979,10 @@ salt \(aq*\(aq zenoss.device_exists Find a device in Zenoss. If device not found, returns None. .INDENT 7.0 .TP -.B Parameters: -device: (Optional) Will use the grain \(aqfqdn\(aq by default +.B Parameters +\fBdevice\fP \-\- (Optional) Will use the grain \(aqfqdn\(aq by default +.UNINDENT +.INDENT 7.0 .TP .B CLI Example: salt \(aq*\(aq zenoss.find_device @@ -191989,9 +207994,15 @@ salt \(aq*\(aq zenoss.find_device A function to set the prod_state in zenoss. .INDENT 7.0 .TP -.B Parameters: -prod_state: (Required) Integer value of the state -device: (Optional) Will use the grain \(aqfqdn\(aq by default. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBprod_state\fP \-\- (Required) Integer value of the state +.IP \(bu 2 +\fBdevice\fP \-\- (Optional) Will use the grain \(aqfqdn\(aq by default. +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B CLI Example: salt zenoss.set_prod_state 1000 hostname @@ -192007,6 +208018,11 @@ Nitin Madhok <\fI\%nmadhok@clemson.edu\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zfs.__virtual__() +Makes sure that ZFS kernel module is loaded. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zfs.bookmark(snapshot, bookmark) New in version 2016.3.0. @@ -192964,7 +208980,7 @@ The path in zookeeper where the lock is zookeeper connect string .TP .B identifier -Name to identify this minion +Name to identify this minion, if unspecified defaults to the hostname .TP .B max_concurrency Maximum number of lock holders @@ -193001,7 +209017,7 @@ The path in zookeeper where the lock is zookeeper connect string .TP .B identifier -Name to identify this minion +Name to identify this minion, if unspecified defaults to hostname .TP .B max_concurrency Maximum number of lock holders @@ -193024,8 +209040,9 @@ salt minion zk_concurrency.lock_holders /lock/path host1:1234,host2:1234 .UNINDENT .INDENT 0.0 .TP -.B salt.modules.zk_concurrency.party_members(path, zk_hosts) -Get the List of identifiers in a particular party +.B salt.modules.zk_concurrency.party_members(path, zk_hosts, min_nodes=1, blocking=False) +Get the List of identifiers in a particular party, optionally waiting for the +specified minimum number of nodes (min_nodes) to appear .INDENT 7.0 .TP .B path @@ -193033,6 +209050,12 @@ The path in zookeeper where the lock is .TP .B zk_hosts zookeeper connect string +.TP +.B min_nodes +The minimum number of nodes expected to be present in the party +.TP +.B blocking +The boolean indicating if we need to block until min_nodes are available .UNINDENT .sp Example: @@ -193041,6 +209064,7 @@ Example: .INDENT 7.0 .INDENT 3.5 salt minion zk_concurrency.party_members /lock/path host1:1234,host2:1234 +salt minion zk_concurrency.party_members /lock/path host1:1234,host2:1234 min_nodes=3 blocking=True .UNINDENT .UNINDENT .UNINDENT @@ -193057,7 +209081,7 @@ The path in zookeeper where the lock is zookeeper connect string .TP .B identifier -Name to identify this minion +Name to identify this minion, if unspecified defaults to hostname .TP .B max_concurrency Maximum number of lock holders @@ -193088,6 +209112,11 @@ New in version 2014.7.0. Provides an interface to basic ZNC functionality .INDENT 0.0 .TP +.B salt.modules.znc.__virtual__() +Only load the module if znc is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.znc.buildmod(*modules) Build module using znc\-buildmod .sp @@ -193164,6 +209193,11 @@ Nitin Madhok <\fI\%nmadhok@clemson.edu\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zpool.__virtual__() +Provides zpool. +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zpool.add(zpool, *vdevs, **kwargs) Changed in version 2016.3.0. @@ -194083,26 +210117,6 @@ salt \(aq*\(aq zpool.upgrade myzpool .UNINDENT .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.modules.zpool.zpool_list() -Deprecated since version 2014.7.0: Use \fI\%list()\fP instead. - -.sp -Return a list of all pools in the system with health status and space usage -.sp -CLI Example: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -salt \(aq*\(aq zpool.zpool_list -.ft P -.fi -.UNINDENT -.UNINDENT -.UNINDENT .SS salt.modules.zypper .sp Package support for openSUSE via the zypper package manager @@ -194125,6 +210139,11 @@ minion, and it is using a different module (or gives an error similar to .UNINDENT .INDENT 0.0 .TP +.B salt.modules.zypper.__virtual__() +Set the virtual pkg module if the os is openSUSE +.UNINDENT +.INDENT 0.0 +.TP .B salt.modules.zypper.add_lock(packages, **kwargs) Add a package lock. Specify packages to lock by exact name. .sp @@ -194389,72 +210408,17 @@ salt \(aq*\(aq pkg.info_installed ... attr=vers .UNINDENT .INDENT 0.0 .TP -.B salt.pillar.virtkey.ext_pillar(hyper_id, pillar, name, key) -Accept the key for the VM on the hyper, if authorized. -.UNINDENT -.SS Full list of builtin proxy modules -.TS -center; -|l|l|. -_ -T{ -\fBchronos\fP -T} T{ -Chronos -T} -_ -T{ -\fBesxi\fP -T} T{ -Proxy Minion interface module for managing VMware ESXi hosts. -T} -_ -T{ -\fBfx2\fP -T} T{ -Dell FX2 chassis -T} -_ -T{ -\fBjunos\fP -T} T{ -T} -_ -T{ -\fBmarathon\fP -T} T{ -Marathon -T} -_ -T{ -\fBphillips_hue\fP -T} T{ -T} -_ -T{ -\fBrest_sample\fP -T} T{ -This is a simple proxy\-minion designed to connect to and communicate with -T} -_ -T{ -\fBssh_sample\fP -T} T{ -This is a simple proxy\-minion designed to connect to and communicate with a server that exposes functionality via SSH. -T} -_ -.TE -.SS salt.proxy.chronos module -.SS Chronos +.B salt.modules.zypper.install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, downloadonly=None, skip_verify=False, version=None, ignore_repo_failure=False, **kwargs) +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 which modify installed packages from the +\fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd +from killing any zypper commands spawned by Salt when the +\fBsalt\-minion\fP service is restarted. (see \fBKillMode\fP in the +\fI\%systemd.kill(5)\fP manpage for more information). If desired, usage of +\fI\%systemd\-run(1)\fP can be suppressed by setting a \fBconfig option\fP called \fBsystemd.scope\fP, with a value of +\fBFalse\fP (no quotes). + .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 -.B salt.modules.zypper.install(name=None, refresh=False, fromrepo=None, pkgs=None, sources=None, downloadonly=None, skip_verify=False, version=None, **kwargs) Install the passed package(s), add refresh=True to force a \(aqzypper refresh\(aq before package is installed. .INDENT 7.0 @@ -194497,24 +210461,6 @@ Can be either a version number, or the combination of a comparison operator (<, >, <=, >=, =) and a version number (ex. \(aq>1.2.3\-4\(aq). This parameter is ignored if \fBpkgs\fP or \fBsources\fP is passed. .UNINDENT -.SS salt.proxy.esxi -.sp -Proxy Minion interface module for managing VMware ESXi hosts. -.sp -New in version 2015.8.4. - -.sp -\fBSpecial Note: SaltStack thanks\fP \fI\%Adobe Corporation\fP -\fBfor their support in creating this Proxy Minion integration.\fP -.sp -This proxy minion enables VMware ESXi (hereafter referred to as simply \(aqESXi\(aq) -hosts to be treated individually like a Salt Minion. -.sp -Since the ESXi host may not necessarily run on an OS capable of hosting a -Python stack, the ESXi host can\(aqt run a Salt Minion directly. Salt\(aqs -"Proxy Minion" functionality enables you to designate another machine to host -a minion process that "proxies" communication from the Salt Master. The master -does not know nor care that the target is not a "real" Salt Minion. .sp Multiple Package Installation Options: .INDENT 7.0 @@ -194919,7 +210865,7 @@ salt \(aq*\(aq pkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf .INDENT 0.0 .TP .B salt.modules.zypper.purge(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any zypper commands spawned by Salt when the @@ -194994,7 +210940,7 @@ salt \(aq*\(aq pkg.refresh_db .INDENT 0.0 .TP .B salt.modules.zypper.remove(name=None, pkgs=None, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any zypper commands spawned by Salt when the @@ -195084,7 +211030,7 @@ salt \(aq*\(aq pkg.search .INDENT 0.0 .TP .B salt.modules.zypper.upgrade(refresh=True, dryrun=False, dist_upgrade=False, fromrepo=None, novendorchange=False, skip_verify=False, **kwargs) -Changed in version 2015.8.12,2016.3.3,Carbon: On minions running systemd>=205, \fI\%systemd\-run(1)\fP is now used to +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 which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing any zypper commands spawned by Salt when the @@ -195119,14 +211065,14 @@ If set to True, no allow vendor changes. Default: False Skip the GPG verification check (e.g., \fB\-\-no\-gpg\-checks\fP) .UNINDENT .sp -Return a dict containing the new package names and versions: +Returns a dictionary containing the changes: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, - \(aqnew\(aq: \(aq\(aq}} +{\(aq\(aq: {\(aqold\(aq: \(aq\(aq, + \(aqnew\(aq: \(aq\(aq}} .ft P .fi .UNINDENT @@ -195273,7 +211219,7 @@ ws4py Python module for websockets support. .B client_libraries .INDENT 7.0 .IP \(bu 2 -Java: \fI\%https://github.com/SUSE/saltstack\-netapi\-client\-java\fP +Java: \fI\%https://github.com/SUSE/salt\-netapi\-client\fP .IP \(bu 2 Python: \fI\%https://github.com/saltstack/pepper\fP .UNINDENT @@ -195358,12 +211304,22 @@ The socket interface for the HTTP server to listen on. Starts the web server in development mode. It will reload itself when the underlying code is changed and will output more debugging info. .TP +.B log_access_file +Path to a file to write HTTP access logs. +.TP +.B log_error_file +Path to a file to write HTTP error logs. +.TP .B ssl_crt The path to a SSL certificate. (See below) .TP .B ssl_key The path to the private key for your SSL certificate. (See below) .TP +.B ssl_chain +(Optional when using PyOpenSSL) the certificate chain to pass to +\fBContext.load_verify_locations\fP\&. +.TP .B disable_ssl A flag to disable SSL. Warning: your Salt authentication credentials will be sent in the clear! @@ -195500,6 +211456,36 @@ curl \-sSk https://localhost:8000 \e .fi .UNINDENT .UNINDENT +.sp +Another example using the \fBrequests\fP library in Python: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +>>> import requests +>>> session = requests.Session() +>>> session.post(\(aqhttp://localhost:8000/login\(aq, json={ + \(aqusername\(aq: \(aqsaltdev\(aq, + \(aqpassword\(aq: \(aqsaltdev\(aq, + \(aqeauth\(aq: \(aqauto\(aq, +}) + +>>> resp = session.post(\(aqhttp://localhost:8000\(aq, json=[{ + \(aqclient\(aq: \(aqlocal\(aq, + \(aqtgt\(aq: \(aq*\(aq, + \(aqfun\(aq: \(aqtest.arg\(aq, + \(aqarg\(aq: [\(aqfoo\(aq, \(aqbar\(aq], + \(aqkwarg\(aq: {\(aqbaz\(aq: \(aqBaz!\(aq}, +}]) +>>> resp.json() +{u\(aqreturn\(aq: [{ + ...snip... +}]} +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .sp \fBSEE ALSO:\fP @@ -195905,16 +211891,6 @@ Content\-Type: application/json .UNINDENT .UNINDENT .UNINDENT -.INDENT 7.0 -.TP -.B POST -Mock out specified imports. -.sp -This allows autodoc to do its thing without having oodles of req\(aqd -installed libs. This doesn\(aqt work with \fBimport *\fP imports. -.sp -\fI\%https://read\-the\-docs.readthedocs.io/en/latest/faq.html#i\-get\-import\-errors\-on\-libraries\-that\-depend\-on\-c\-modules\fP -.UNINDENT .UNINDENT .SS \fB/login\fP .INDENT 0.0 @@ -196210,6 +212186,8 @@ Start an execution command and immediately return the job id .IP \(bu 2 \fB200\fP \-\- success .IP \(bu 2 +\fB400\fP \-\- bad or malformed request +.IP \(bu 2 \fB401\fP \-\- authentication required .IP \(bu 2 \fB406\fP \-\- requested Content\-Type not available @@ -196427,7 +212405,7 @@ Run commands bypassing the \fI\%normal session handling\fP .B POST /run This entry point is primarily for "one\-off" commands. Each request must pass full Salt authentication credentials. Otherwise this URL -is identical to the \fI\%root URL (/)\fP\&. +is identical to the \fBroot URL (/)\fP\&. .sp lowstate data describing Salt commands must be sent in the request body. @@ -196438,6 +212416,8 @@ request body. .IP \(bu 2 \fB200\fP \-\- success .IP \(bu 2 +\fB400\fP \-\- bad or malformed request +.IP \(bu 2 \fB401\fP \-\- authentication required .IP \(bu 2 \fB406\fP \-\- requested Content\-Type not available @@ -197762,43 +213742,43 @@ data: { .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.SaltAPIHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS \fB/login\fP .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.SaltAuthHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS \fB/minions\fP .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.MinionSaltAPIHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS \fB/jobs\fP .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.JobsSaltAPIHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS \fB/run\fP .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.RunSaltAPIHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS \fB/events\fP .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.EventsSaltAPIHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS \fB/hook\fP .INDENT 0.0 .TP .B salt.netapi.rest_tornado.saltnado.WebhookSaltAPIHandler -alias of \fB\fP +alias of \fB\fP .UNINDENT .SS rest_wsgi .SS A minimalist REST API for Salt @@ -197982,12 +213962,6 @@ center; |l|l|. _ T{ -\fBcompact\fP -T} T{ -Display compact output data structure -T} -_ -T{ \fBhighstate\fP T} T{ Outputter for displaying results of state runs @@ -198072,16 +214046,6 @@ Display return data in YAML format T} _ .TE -.SS salt.output.compact -.SS Display compact output data structure -.sp -Example output:: -\(aqsaltdev\(aq: {\(aqtest_|\-always\-passes_|\-foo_|\-succeed_without_changes\(aq: {\(aqcomment\(aq: \(aqSuccess!\(aq, \(aqname\(aq: \(aqfoo\(aq, \(aqstart_time\(aq: \(aq05:16:26.111814\(aq, \(aqresult\(aq: True, \(aqduration\(aq: 1, \(aq__run_num__\(aq: 0, \(aqchanges\(aq: {}}, \(aqtest_|\-my\-custom\-combo_|\-foo_|\-configurable_test_state\(aq: {\(aqcomment\(aq: \(aqbar.baz\(aq, \(aqname\(aq: \(aqfoo\(aq, \(aqstart_time\(aq: \(aq05:16:26.117177\(aq, \(aqresult\(aq: False, \(aqduration\(aq: 1, \(aq__run_num__\(aq: 4, \(aqchanges\(aq: {\(aqtesting\(aq: {\(aqnew\(aq: \(aqSomething pretended to change\(aq, \(aqold\(aq: \(aqUnchanged\(aq}}}, \(aqtest_|\-always\-fails_|\-foo_|\-fail_without_changes\(aq: {\(aqcomment\(aq: \(aqFailure!\(aq, \(aqname\(aq: \(aqfoo\(aq, \(aqstart_time\(aq: \(aq05:16:26.113124\(aq, \(aqresult\(aq: False, \(aqduration\(aq: 1, \(aq__run_num__\(aq: 1, \(aqchanges\(aq: {}}, \(aqtest_|\-always\-changes\-and\-succeeds_|\-foo_|\-succeed_with_changes\(aq: {\(aqcomment\(aq: \(aqSuccess!\(aq, \(aqname\(aq: \(aqfoo\(aq, \(aqstart_time\(aq: \(aq05:16:26.114570\(aq, \(aqresult\(aq: True, \(aqduration\(aq: 0, \(aq__run_num__\(aq: 2, \(aqchanges\(aq: {\(aqtesting\(aq: {\(aqnew\(aq: \(aqSomething pretended to change\(aq, \(aqold\(aq: \(aqUnchanged\(aq}}}, \(aqtest_|\-always\-changes\-and\-fails_|\-foo_|\-fail_with_changes\(aq: {\(aqcomment\(aq: \(aqFailure!\(aq, \(aqname\(aq: \(aqfoo\(aq, \(aqstart_time\(aq: \(aq05:16:26.115561\(aq, \(aqresult\(aq: False, \(aqduration\(aq: 1, \(aq__run_num__\(aq: 3, \(aqchanges\(aq: {\(aqtesting\(aq: {\(aqnew\(aq: \(aqSomething pretended to change\(aq, \(aqold\(aq: \(aqUnchanged\(aq}}}}}{\(aqmyminion\(aq: {\(aqfoo\(aq: {\(aqlist\(aq: [\(aqHello\(aq, \(aqWorld\(aq], \(aqbar\(aq: \(aqbaz\(aq, \(aqdictionary\(aq: {\(aqabc\(aq: 123, \(aqdef\(aq: 456}}}} -.INDENT 0.0 -.TP -.B salt.output.compact.output(data) -Rather basic.... -.UNINDENT .SS salt.output.highstate .SS Outputter for displaying results of state runs .sp @@ -198100,8 +214064,8 @@ instruct the highstate outputter to omit displaying anything in green, this means that nothing with a result of True and no changes will not be printed .TP .B state_output: -The highstate outputter has five output modes, \fBfull\fP, \fBterse\fP, -\fBmixed\fP, \fBchanges\fP and \fBfilter\fP\&. +The highstate outputter has six output modes, \fBfull\fP, \fBterse\fP, +\fBmixed\fP, \fBmixed_id\fP, \fBchanges\fP and \fBfilter\fP\&. .INDENT 7.0 .IP \(bu 2 The default is set to \fBfull\fP, which will display many lines of detailed @@ -198113,6 +214077,10 @@ only one line. If \fBmixed\fP is used, then terse output will be used unless a state failed, in which case full output will be used. .IP \(bu 2 +If \fBmixed_id\fP is used, then the mixed form will be used, but the value for \fBname\fP +will be drawn from the state ID. This is useful for cases where the name +value might be very long and hard to read. +.IP \(bu 2 If \fBchanges\fP is used, then terse output will be used if there was no error and no changes, otherwise full output will be used. .IP \(bu 2 @@ -198220,7 +214188,7 @@ Total: 0 .UNINDENT .INDENT 0.0 .TP -.B salt.output.highstate.output(data) +.B salt.output.highstate.output(data, **kwargs) The HighState Outputter is only meant to be used with the state.highstate function, or a function that returns highstate return data. .UNINDENT @@ -198269,7 +214237,12 @@ single\-line output format and to parse each line individually. Example output .UNINDENT .INDENT 0.0 .TP -.B salt.output.json_out.output(data) +.B salt.output.json_out.__virtual__() +Rename to json +.UNINDENT +.INDENT 0.0 +.TP +.B salt.output.json_out.output(data, **kwargs) Print the output data in JSON .UNINDENT .SS salt.output.key @@ -198278,7 +214251,7 @@ Print the output data in JSON The \fBsalt\-key\fP command makes use of this outputter to format its output. .INDENT 0.0 .TP -.B salt.output.key.output(data) +.B salt.output.key.output(data, **kwargs) Read in the dict structure generated by the salt key API methods and print the structure. .UNINDENT @@ -198321,14 +214294,10 @@ Manage the nested display contents .B display(ret, indent, prefix, out) Recursively iterate down through data structures to determine output .UNINDENT -.INDENT 7.0 -.TP -.B ustring(indent, color, msg, prefix=\(aq\(aq, suffix=\(aq\(aq, endc=None) -.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.output.nested.output(ret) +.B salt.output.nested.output(ret, **kwargs) Display ret data .UNINDENT .SS salt.output.newline_values_only @@ -198418,7 +214387,7 @@ suitable. .UNINDENT .INDENT 0.0 .TP -.B salt.output.newline_values_only.output(data) +.B salt.output.newline_values_only.output(data, **kwargs) Display modified ret data .UNINDENT .SS salt.output.no_out @@ -198427,7 +214396,7 @@ Display modified ret data No output is produced when this outputter is selected .INDENT 0.0 .TP -.B salt.output.no_out.output(ret) +.B salt.output.no_out.output(ret, **kwargs) Don\(aqt display data. Used when you only are interested in the return. .UNINDENT @@ -198462,7 +214431,7 @@ Recursively iterate down through data structures to determine output .UNINDENT .INDENT 0.0 .TP -.B salt.output.no_return.output(ret) +.B salt.output.no_return.output(ret, **kwargs) Display ret data .UNINDENT .SS salt.output.overstatestage @@ -198472,7 +214441,7 @@ This outputter is used to display OverState stages, and should not be called directly. .INDENT 0.0 .TP -.B salt.output.overstatestage.output(data) +.B salt.output.overstatestage.output(data, **kwargs) Format the data for printing stage information from the overstate system .UNINDENT .SS salt.output.pprint_out @@ -198496,7 +214465,12 @@ Example output: .UNINDENT .INDENT 0.0 .TP -.B salt.output.pprint_out.output(data) +.B salt.output.pprint_out.__virtual__() +Change the name to pprint +.UNINDENT +.INDENT 0.0 +.TP +.B salt.output.pprint_out.output(data, **kwargs) Print out via pretty print .UNINDENT .SS salt.output.progress @@ -198504,7 +214478,7 @@ Print out via pretty print Display return data as a progress bar .INDENT 0.0 .TP -.B salt.output.progress.output(ret, bar) +.B salt.output.progress.output(ret, bar, **kwargs) Update the progress bar .UNINDENT .INDENT 0.0 @@ -198535,7 +214509,7 @@ Example output: .UNINDENT .INDENT 0.0 .TP -.B salt.output.raw.output(data) +.B salt.output.raw.output(data, **kwargs) Rather basic.... .UNINDENT .SS salt.output.txt @@ -198546,7 +214520,7 @@ commands on minions appear as they do when the command is executed on the minion. .INDENT 0.0 .TP -.B salt.output.txt.output(data) +.B salt.output.txt.output(data, **kwargs) Output the data in lines, very nice for running commands .UNINDENT .SS salt.output.virt_query @@ -198556,7 +214530,7 @@ Used to display the output from the \fBvirt.query\fP runner. .INDENT 0.0 .TP -.B salt.output.virt_query.output(data) +.B salt.output.virt_query.output(data, **kwargs) Display output for the salt\-run virt.query function .UNINDENT .SS salt.output.yaml_out @@ -198585,7 +214559,7 @@ saltmine: .UNINDENT .INDENT 0.0 .TP -.B salt.output.yaml_out.output(data) +.B salt.output.yaml_out.output(data, **kwargs) Print out YAML using the block mode .UNINDENT .SS pillar modules @@ -198618,9 +214592,15 @@ A module to pull data from Cobbler via its API into the Pillar dictionary T} _ T{ +\fBconfidant\fP +T} T{ +An external pillar module for getting credentials from confidant. +T} +_ +T{ \fBconsul_pillar\fP T} T{ -Use consul data as a Pillar source +Use Consul K/V as a Pillar source with values parsed as YAML T} _ T{ @@ -198702,6 +214682,11 @@ Use Openstack Neutron data as a Pillar source. T} _ T{ +\fBnodegroups\fP +T} T{ +T} +_ +T{ \fBpepa\fP T} T{ Pepa @@ -198774,6 +214759,12 @@ Use \fI\%Varstack\fP data as a Pillar source T} _ T{ +\fBvault\fP +T} T{ +Vault Pillar Module +T} +_ +T{ \fBvirtkey\fP T} T{ Accept a key from a hypervisor if the virt runner has already submitted an authorization request @@ -198835,9 +214826,75 @@ cobbler.password: password # default is no password .B salt.pillar.cobbler.ext_pillar(minion_id, pillar, key=None, only=()) Read pillar data from Cobbler via its API. .UNINDENT +.SS salt.pillar.confidant +.sp +An external pillar module for getting credentials from confidant. +.SS Configuring the Confidant module +.sp +The module can be configured via ext_pillar in the minion config: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C + +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B ext_pillar: +.INDENT 7.0 +.IP \(bu 2 +.INDENT 2.0 +.TP +.B confidant: +.INDENT 7.0 +.TP +.B profile: +# The URL of the confidant web service +url: \(aq\fI\%https://confidant\-production.example.com\fP\(aq +# The context to use for KMS authentication +auth_context: +from: example\-production\-iad +to: confidant\-production\-iad +user_type: service +# The KMS master key to use for authentication +auth_key: "alias/authnz" +# Cache file for KMS auth token +token_cache_file: /run/confidant/confidant_token +# The duration of the validity of a token, in minutes +token_duration: 60 +# key, keyid and region can be defined in the profile, but it\(aqs +# generally best to use IAM roles or environment variables for AWS +# auth. +keyid: 98nh9h9h908h09kjjk +key: jhf908gyeghehe0he0g8h9u0j0n0n09hj09h0 +region: us\-east\-1 +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B depends +confidant\-common, confidant\-client +.UNINDENT +.SS Module Documentation +.INDENT 0.0 +.TP +.B salt.pillar.confidant.__virtual__() +Only return if requests and boto are installed. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.pillar.confidant.ext_pillar(minion_id, pillar, profile=None) +Read pillar data from Confidant via its API. +.UNINDENT .SS salt.pillar.consul_pillar module .sp -Use consul data as a Pillar source +Use Consul K/V as a Pillar source with values parsed as YAML .INDENT 0.0 .TP .B depends @@ -198857,13 +214914,78 @@ configuration file: my_consul_config: consul.host: 127.0.0.1 consul.port: 8500 - consul.token: my_consul_acl_token + consul.token: b6376760\-a8bb\-edd5\-fcda\-33bc13bfc556 + consul.scheme: http + consul.consistency: default + consul.dc: dev + consul.verify: True .ft P .fi .UNINDENT .UNINDENT .sp -The \fBconsul.token\fP is optional and requires python\-consul >= 0.4.7. +All parameters are optional. +.sp +The \fBconsul.token\fP requires python\-consul >= 0.4.7. +.sp +If you have a multi\-datacenter Consul cluster you can map your \fBpillarenv\(ga\(gas +to your data centers by providing a dictionary of mappings in \(ga\(gaconsul.dc\fP +field: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_consul_config: + consul.dc: + dev: us\-east\-1 + prod: us\-west\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In the example above we specifying static mapping between Pillar environments +and data centers: the data for \fBdev\fP and \fBprod\fP Pillar environments will +be fetched from \fBus\-east\-1\fP and \fBus\-west\-1\fP datacenter respectively. +.sp +In fact when \fBconsul.dc\fP is set to dictionary keys are processed as regular +expressions (that can capture named parameters) and values are processed as +string templates as per PEP 3101. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_consul_config: + consul.dc: + ^dev\-.*$: dev\-datacenter + ^(?P.*)\-prod$: prod\-datacenter\-{region} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This example maps all Pillar environments starting with \fBdev\-\fP to +\fBdev\-datacenter\fP whereas Pillar environment like \fBeu\-prod\fP will be +mapped to \fBprod\-datacenter\-eu\fP\&. +.sp +Before evaluation patterns are sorted by length in descending order. +.sp +If Pillar environment names correspond to data center names a single pattern +can be used: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_consul_config: + consul.dc: + ^(?P.*)$: \(aq{env}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT .sp After the profile is created, configure the external pillar system to use it. Optionally, a root may be specified. @@ -198896,8 +215018,8 @@ ext_pillar: .UNINDENT .UNINDENT .sp -The \fBminion_id\fP may be used in the \fBroot\fP path to expose minion\-specific -information stored in consul. +Either the \fBminion_id\fP, or the \fBrole\fP, or the \fBenvironment\fP grain may be used in the \fBroot\fP +path to expose minion\-specific information stored in consul. .INDENT 0.0 .INDENT 3.5 .sp @@ -198905,6 +215027,8 @@ information stored in consul. .ft C ext_pillar: \- consul: my_consul_config root=/salt/%(minion_id)s + \- consul: my_consul_config root=/salt/%(role)s + \- consul: my_consul_config root=/salt/%(environment)s .ft P .fi .UNINDENT @@ -198924,6 +215048,25 @@ ext_pillar: .fi .UNINDENT .UNINDENT +.sp +If using the \fBrole\fP or \fBenvironment\fP grain in the consul key path, be sure to define it using +\fI/etc/salt/grains\fP, or similar: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +role: my\-minion\-role +environment: dev +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.pillar.consul_pillar.__virtual__() +Only return if python\-consul is installed +.UNINDENT .INDENT 0.0 .TP .B salt.pillar.consul_pillar.consul_fetch(client, path) @@ -199061,6 +215204,11 @@ ext_pillar: .SS Module Documentation .INDENT 0.0 .TP +.B salt.pillar.django_orm.__virtual__() +Always load +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.django_orm.ext_pillar(minion_id, pillar, pillar_name, project_path, settings_module, django_app, env=None, env_file=None, *args, **kwargs) Connect to a Django database through the ORM and retrieve model fields .INDENT 7.0 @@ -199119,6 +215267,12 @@ 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.__virtual__() +Check for required version of boto and make this pillar available +depending on outcome. +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.ec2_pillar.ext_pillar(minion_id, pillar, use_grain=False, minion_ids=None) Execute a command and read the output as YAML .UNINDENT @@ -199227,6 +215381,11 @@ etcdctl set /salt\-private/special_minion_id/mykey my_other_value .UNINDENT .INDENT 0.0 .TP +.B salt.pillar.etcd_pillar.__virtual__() +Only return if python\-etcd is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.etcd_pillar.ext_pillar(minion_id, pillar, conf) Check etcd for all data .UNINDENT @@ -199477,6 +215636,11 @@ Further information can be found on \fI\%GitHub\fP\&. .SS Module Documentation .INDENT 0.0 .TP +.B salt.pillar.foreman.__virtual__() +Only return if all the modules are available +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.foreman.ext_pillar(minion_id, pillar, key=None, only=()) Read pillar data from Foreman via its API. .UNINDENT @@ -199766,6 +215930,11 @@ URL, the \fBname\fP option is required. .UNINDENT .INDENT 0.0 .TP +.B salt.pillar.git_pillar.__virtual__() +Only load if gitpython is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.git_pillar.ext_pillar(minion_id, repo, pillar_dirs) Checkout the ext_pillar sources and compile the resulting pillar SLS .UNINDENT @@ -199803,16 +215972,17 @@ Cleanup mercurial command server .UNINDENT .INDENT 7.0 .TP -.B pull() -.UNINDENT -.INDENT 7.0 -.TP .B update(branch=\(aqdefault\(aq) Ensure we are using the latest revision in the hg repository .UNINDENT .UNINDENT .INDENT 0.0 .TP +.B salt.pillar.hg_pillar.__virtual__() +Only load if hglib is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.hg_pillar.ext_pillar(minion_id, pillar, repo, branch=\(aqdefault\(aq, root=None) Extract pillar from an hg repository .UNINDENT @@ -199826,6 +215996,11 @@ Execute an hg pull on all the repos Use hiera data as a Pillar source .INDENT 0.0 .TP +.B salt.pillar.hiera.__virtual__() +Only return if hiera is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.hiera.ext_pillar(minion_id, pillar, conf) Execute hiera and return the data .UNINDENT @@ -199834,7 +216009,7 @@ Execute hiera and return the data A module that adds data to the Pillar structure retrieved by an http request .SS Configuring the HTTP_YAML ext_pillar .sp -Set the following Salt config to setup Foreman as external pillar source: +Set the following Salt config to setup an http endpoint as the external pillar source: .INDENT 0.0 .INDENT 3.5 .sp @@ -199853,7 +216028,7 @@ ext_pillar: .SS Module Documentation .INDENT 0.0 .TP -.B salt.pillar.http_yaml.ext_pillar(minion_id, pillar, url=None) +.B salt.pillar.http_yaml.ext_pillar(minion_id, pillar, url) Read pillar data from HTTP response. .sp :param url String to make request @@ -199946,16 +216121,16 @@ dict in your SLS templates. Connect to a mongo database and read per\-node pillar information. .INDENT 7.0 .TP -.B Parameters: +.B Parameters .INDENT 7.0 .IP \(bu 2 -\fIcollection\fP: The mongodb collection to read data from. Defaults to +\fBcollection\fP (\fI*\fP) \-\- The mongodb collection to read data from. Defaults to \fB\(aqpillar\(aq\fP\&. .IP \(bu 2 -\fIid_field\fP: The field in the collection that represents an individual +\fBid_field\fP (\fI*\fP) \-\- The field in the collection that represents an individual minion id. Defaults to \fB\(aq_id\(aq\fP\&. .IP \(bu 2 -\fIre_pattern\fP: If your naming convention in the collection is shorter +\fBre_pattern\fP (\fI*\fP) \-\- If your naming convention in the collection is shorter than the minion id, you can use this to trim the name. \fIre_pattern\fP will be used to match the name, and \fIre_replace\fP will be used to replace it. Backrefs are supported as they are in the @@ -199963,10 +216138,10 @@ Python standard library. If \fBNone\fP, no mangling of the name will be performed \- the collection will be searched with the entire minion id. Defaults to \fBNone\fP\&. .IP \(bu 2 -\fIre_replace\fP: Use as the replacement value in node ids matched with +\fBre_replace\fP (\fI*\fP) \-\- Use as the replacement value in node ids matched with \fIre_pattern\fP\&. Defaults to \(aq\(aq. Feel free to use backreferences here. .IP \(bu 2 -\fIfields\fP: The specific fields in the document to use for the pillar +\fBfields\fP (\fI*\fP) \-\- The specific fields in the document to use for the pillar data. If \fBNone\fP, will use the entire document. If using the entire document, the \fB_id\fP field will be converted to string. Be careful with other fields in the document as they must be string @@ -200120,9 +216295,58 @@ neutron: my_openstack_config neutron_networks .UNINDENT .INDENT 0.0 .TP +.B salt.pillar.neutron.__virtual__() +Only return if python\-neutronclient is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.neutron.ext_pillar(minion_id, pillar, conf) Check neutron for all data .UNINDENT +.SS salt.pillar.nodegroups +.SS Nodegroups Pillar +.sp +Introspection: to which nodegroups does my minion belong? +Provides a pillar with the default name of \fInodegroups\fP +which contains a list of nodegroups which match for a given minion. +.sp +New in version 2016.11.0. + +.SS Command Line +.SS Configuring Nodegroups Pillar +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +extension_modules: /srv/salt/ext +ext_pillar: + \- nodegroups: + pillar_name: \(aqnodegroups\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.pillar.nodegroups.ext_pillar(minion_id, pillar, pillar_name=None) +A salt external pillar which provides the list of nodegroups of which the minion is a memeber. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBminion_id\fP \-\- provided by salt, but not used by nodegroups ext_pillar +.IP \(bu 2 +\fBpillar\fP \-\- provided by salt, but not used by nodegroups ext_pillar +.IP \(bu 2 +\fBpillar_name\fP \-\- optional name to use for the pillar, defaults to \(aqnodegroups\(aq +.UNINDENT +.TP +.B Returns +a dictionary which is included by the salt master in the pillars returned to the minion +.UNINDENT +.UNINDENT .SS salt.pillar.pepa .SS Pepa .sp @@ -200447,6 +216671,11 @@ network..interfaces..{{ interface }}..netmask: For more examples and information see <\fI\%https://github.com/mickep76/pepa\fP>. .INDENT 0.0 .TP +.B salt.pillar.pepa.__virtual__() +Only return if all the modules are available +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.pepa.ext_pillar(minion_id, pillar, resource, sequence, subkey=False, subkey_only=False) Evaluate Pepa templates .UNINDENT @@ -200600,6 +216829,11 @@ salt\-users: TODO: see also \fI_result_to_dict()\fP documentation .INDENT 0.0 .TP +.B salt.pillar.pillar_ldap.__virtual__() +Only return if ldap module is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.pillar_ldap.ext_pillar(minion_id, pillar, config_file) Execute LDAP searches and return the aggregated data .UNINDENT @@ -200720,6 +216954,11 @@ ext_pillar: .UNINDENT .INDENT 0.0 .TP +.B salt.pillar.redismod.__virtual__() +Only load if the redis module is in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.pillar.redismod.ext_pillar(minion_id, pillar, function, **kwargs) Grabs external pillar data based on configured function .UNINDENT @@ -200846,10 +217085,6 @@ for each environment rather than specifying multiple_env. This is due to issue #22471 (\fI\%https://github.com/saltstack/salt/issues/22471\fP) .INDENT 0.0 .TP -.B class salt.pillar.s3.S3Credentials(key, keyid, bucket, service_url, verify_ssl=True, kms_keyid=None, location=None) -.UNINDENT -.INDENT 0.0 -.TP .B salt.pillar.s3.ext_pillar(minion_id, pillar, bucket, key=None, keyid=None, verify_ssl=True, location=None, multiple_env=False, environment=\(aqbase\(aq, prefix=\(aq\(aq, service_url=None, kms_keyid=None, s3_cache_expire=30, s3_sync_on_update=True) Execute a command and read the output as YAML .UNINDENT @@ -201089,14 +217324,6 @@ This class receives and processes the database rows in a database agnostic way. .INDENT 7.0 .TP -.B as_list = False -.UNINDENT -.INDENT 7.0 -.TP -.B depth = 0 -.UNINDENT -.INDENT 7.0 -.TP .B enter_root(root) Set self.focus for kwarg queries .UNINDENT @@ -201113,22 +217340,6 @@ Execute queries, merge and return as a dict. .UNINDENT .INDENT 7.0 .TP -.B field_names = None -.UNINDENT -.INDENT 7.0 -.TP -.B focus = None -.UNINDENT -.INDENT 7.0 -.TP -.B ignore_null = False -.UNINDENT -.INDENT 7.0 -.TP -.B num_fields = 0 -.UNINDENT -.INDENT 7.0 -.TP .B process_fields(field_names, depth) The primary purpose of this function is to store the sql field list and the depth to which we process. @@ -201139,14 +217350,6 @@ and the depth to which we process. This function takes a list of database results and iterates over, merging them into a dict form. .UNINDENT -.INDENT 7.0 -.TP -.B result = None -.UNINDENT -.INDENT 7.0 -.TP -.B with_lists = None -.UNINDENT .UNINDENT .SS salt.pillar.sqlcipher module .sp @@ -201167,7 +217370,7 @@ ext_pillar for SQLCipher. new .TP .B depends -pysqlcipher +pysqlcipher (for py2) or pysqlcipher3 (for py3) .TP .B platform all @@ -202103,10 +218306,6 @@ users: T} _ .TE -.INDENT 0.0 -.TP -.B salt.pillar.stack.ext_pillar(minion_id, pillar, *args, **kwargs) -.UNINDENT .SS salt.pillar.svn_pillar .sp Clone a remote SVN repository and use the filesystem as a Pillar source @@ -202187,10 +218386,6 @@ Deal with the remote SVN repository for Pillar .B pillar_dir() Returns the directory of the pillars (repo cache + branch + root) .UNINDENT -.INDENT 7.0 -.TP -.B update() -.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -202225,6 +218420,95 @@ varstack on how this file is evaluated. .B salt.pillar.varstack_pillar.ext_pillar(minion_id, pillar, conf) Parse varstack data and return the result .UNINDENT +.SS salt.pillar.vault module +.sp +Vault Pillar Module +.INDENT 0.0 +.TP +.B maintainer +SaltStack +.TP +.B maturity +New +.TP +.B platform +all +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +This module allows pillar data to be stored in Hashicorp Vault. +.sp +The vault module requires a configuration profile to be configured in either +the minion or master configuration file. This profile requires very little. In +the example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +myvault: + vault.host: 127.0.0.1 + vault.port: 8200 + vault.scheme: http # Optional; default is https + vault.token: 012356789abcdef # Required, unless set in environment +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBvault.host\fP refers to the host that is hosting vault and \fBvault.port\fP +refers to the port on that host. A vault token is also required. It may be set +statically, as above, or as an environment variable: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ export VAULT_TOKEN=0123456789abcdef +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +After the profile is created, configure the external pillar system to use it. +A path must also be specified so that vault knows where to look. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- vault: my_vault_config path=secret/salt +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Using these configuration profiles, multiple vault sources may also be used: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ext_pillar: + \- vault: my_vault_config + \- vault: my_other_vault_config +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.pillar.vault.__virtual__() +This module has no external dependencies +.UNINDENT +.INDENT 0.0 +.TP +.B salt.pillar.vault.ext_pillar(minion_id, pillar, conf) +Check vault for all data +.UNINDENT .SS salt.pillar.virtkey .sp Accept a key from a hypervisor if the virt runner has already submitted an authorization request @@ -202247,7 +218531,7 @@ _ T{ \fBesxi\fP T} T{ -Proxy Minion interface module for managing VMWare ESXi hosts. +Proxy Minion interface module for managing VMware ESXi hosts. T} _ T{ @@ -202269,6 +218553,18 @@ Marathon T} _ T{ +\fBnapalm\fP +T} T{ +NAPALM +T} +_ +T{ +\fBnxos\fP +T} T{ +Proxy Minion for Cisco NX OS Switches +T} +_ +T{ \fBphilips_hue\fP T} T{ Philips HUE lamps module for proxy. @@ -202332,7 +218628,7 @@ For this proxy shutdown is a no\-op .UNINDENT .SS salt.proxy.esxi .sp -Proxy Minion interface module for managing VMWare ESXi hosts. +Proxy Minion interface module for managing VMware ESXi hosts. .sp New in version 2015.8.4. @@ -202629,6 +218925,11 @@ to find an example structure for Pillar as well as an example \fB\&.sls\fP file for standing up an ESXi host from scratch. .INDENT 0.0 .TP +.B salt.proxy.esxi.__virtual__() +Only load if the ESXi execution module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.proxy.esxi.ch_config(cmd, *args, **kwargs) This function is called by the \fBsalt.modules.esxi.cmd\fP shim. @@ -202639,9 +218940,13 @@ Passes the return through from the vsphere module. .TP .B cmd The command to call inside salt.modules.vsphere +.UNINDENT +.INDENT 7.0 .TP -.B args -Arguments that need to be passed to that command. +.B Parameters +\fBthat need to be passed to that command.\fP (\fIArguments\fP) \-\- +.UNINDENT +.INDENT 7.0 .TP .B kwargs Keyword arguments that need to be passed to that command. @@ -202914,6 +219219,11 @@ Look there to find an example structure for pillar as well as an example \fB\&.sls\fP file for standing up a Dell Chassis from scratch. .INDENT 0.0 .TP +.B salt.proxy.fx2.__virtual__() +Only return if all the modules are available +.UNINDENT +.INDENT 0.0 +.TP .B salt.proxy.fx2.admin_password() Return the admin_password in the DETAILS dictionary, or \(aqcalvin\(aq (the Dell default) if there is none present @@ -202965,10 +219275,6 @@ Refresh the grains from the proxied device .UNINDENT .INDENT 0.0 .TP -.B salt.proxy.fx2.host() -.UNINDENT -.INDENT 0.0 -.TP .B salt.proxy.fx2.init(opts) This function gets called when the proxy starts up. We check opts to see if a fallback user and password are supplied. @@ -203000,16 +219306,8 @@ For this proxy shutdown is a no\-op. Interface with a Junos device via proxy\-minion. .INDENT 0.0 .TP -.B salt.proxy.junos.conn() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.proxy.junos.facts() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.proxy.junos.id(opts) -Returns a unique ID for this proxy minion +.B salt.proxy.junos.__virtual__() +Only return if all the modules are available .UNINDENT .INDENT 0.0 .TP @@ -203029,14 +219327,6 @@ Returns the name of this proxy .UNINDENT .INDENT 0.0 .TP -.B salt.proxy.junos.refresh() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.proxy.junos.rpc() -.UNINDENT -.INDENT 0.0 -.TP .B salt.proxy.junos.shutdown(opts) This is called when the proxy\-minion is exiting to make sure the connection to the device is closed cleanly. @@ -203084,6 +219374,452 @@ Is the marathon api responding? .B salt.proxy.marathon.shutdown(opts) For this proxy shutdown is a no\-op .UNINDENT +.SS salt.proxy.napalm +.SS NAPALM +.sp +Proxy minion for managing network devices via \fI\%NAPALM\fP library. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm basic network functions (salt.modules.napalm_network)\fP +.UNINDENT +.sp +\fBSEE ALSO:\fP +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +\fBNTP peers management module (salt.modules.napalm_ntp)\fP +.UNINDENT +.sp +The napalm proxy configuration requires four mandatory parameters in order to connect to the network device: +.INDENT 0.0 +.IP \(bu 2 +driver: specifies the network device operating system. For a complete list of the supported operating systems please refer to the \fI\%NAPALM Read the Docs page\fP\&. +.IP \(bu 2 +host: hostname +.IP \(bu 2 +username: username to be used when connecting to the device +.IP \(bu 2 +passwd: the password needed to establish the connection +.UNINDENT +.sp +Example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy: + proxytype: napalm + driver: junos + host: core05.nrt02 + username: my_username + passwd: my_password +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +For futher documentation and usage examples, please check the dedicated \fI\%NAPALM Salt reference\fP +in \fI\%NAPALM Automation community\fP\&. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.napalm.call(method, **params) +Calls a specific method from the network driver instance. +Please check the \fI\%readthedocs\fP page for the updated list of getters. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBmethod\fP \-\- specifies the name of the method to be called +.IP \(bu 2 +\fBparams\fP \-\- contains the mapping between the name and the values of the parameters needed to call the method +.UNINDENT +.TP +.B Returns +A dictionary with three keys: +.INDENT 7.0 +.IP \(bu 2 +result (True/False): if the operation succeeded +.IP \(bu 2 +out (object): returns the object as\-is from the call +.IP \(bu 2 +comment (string): provides more details in case the call failed +.UNINDENT + +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +__proxy__[\(aqnapalm.call\(aq](\(aqcli\(aq + **{ + \(aqcommands\(aq: [ + \(aqshow version\(aq, + \(aqshow chassis fan\(aq + ] + }) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.napalm.init(opts) +Opens the connection with the network device. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.napalm.ping() +Connection open successfully? +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.napalm.shutdown(opts) +Closes connection with the device. +.UNINDENT +.SS salt.proxy.nxos module +.sp +Proxy Minion for Cisco NX OS Switches +.sp +The Cisco NX OS Proxy Minion uses the built in SSHConnection module in \fBsalt.utils.vt_helper\fP +.sp +To configure the proxy minion: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy: + proxytype: nxos + host: 192.168.187.100 + username: admin + password: admin + prompt_name: switch + ssh_args: \(aq\-o PubkeyAuthentication=no\(aq + key_accept: True +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B proxytype +(REQUIRED) Use this proxy minion \fInxos\fP +.TP +.B host +(REQUIRED) ip address or hostname to connect to +.TP +.B username +(REQUIRED) username to login with +.TP +.B password +(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. +.TP +.B ssh_args +Any extra args to use to connect to the switch. +.TP +.B key_accept +Whether or not to accept a the host key of the switch on initial login. +Defaults to False. +.UNINDENT +.sp +The functions from the proxy minion can be run from the salt commandline using +the \fBsalt.modules.nxos\fP execution module. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +The option \fIproxy_merge_grains_in_module: True\fP is required to have the NXOS +grains be available from the proxy minion, for the 2016.11.0 release. For +Nitrogen, the setting will be True by default. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.__virtual__() +Only return if all the modules are available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.add_config(lines) +Add one or more config lines to the switch running config +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd add_config \(aqsnmp\-server community TESTSTRINGHERE group network\-operator\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +For more than one config added per command, lines should be a list. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.check_password(username, password, encrypted=False) +Check if passed password is the one assigned to user +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.check_role(username, role) +Check if user is assigned a specific role on switch +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd check_role username=admin role=network\-admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.delete_config(lines) +Delete one or more config lines to the switch running config +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd delete_config \(aqsnmp\-server community TESTSTRINGHERE group network\-operator\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +For more than one config deleted per command, lines should be a list. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.find(pattern) +Find all instances where the pattern is in the running command +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd find \(aq^snmp\-server.*$\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This uses the \fIre.MULTILINE\fP regex format for python, and runs the +regex against the whole show_run output. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.get_roles(username) +Get roles that the username is assigned from switch +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.get_user(username) +Get username line from switch +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.grains() +Get grains for proxy minion +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.grains_refresh() +Refresh the grains from the proxy device. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.init(opts=None) +Required. +Can be used to initialize the server connection. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.ping() +Ping the device on the other end of the connection +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.remove_user(username) +Remove user from switch +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd remove_user username=daniel +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.replace(old_value, new_value, full_match=False) +Replace string or full line matches in switch\(aqs running config +.sp +If full_match is set to True, then the whole line will need to be matched +as part of the old value. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd replace \(aqTESTSTRINGHERE\(aq \(aqNEWTESTSTRINGHERE\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.sendline(command) +Run command through switch\(aqs cli +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.set_password(username, password, encrypted=False, role=None, crypt_salt=None, algorithm=\(aqsha256\(aq) +Set users password on switch +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd set_password admin TestPass +salt \(aq*\(aq nxos.cmd set_password admin \e + password=\(aq$5$2fWwO2vK$s7.Hr3YltMNHuhywQQ3nfOd.gAPHgs3SOBYYdGT3E.A\(aq \e + encrypted=True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.set_role(username, role) +Assign role to username +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd set_role username=daniel role=vdc\-admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.show_run() +Shortcut to run \fIshow run\fP on switch +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd show_run +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.show_ver() +Shortcut to run \fIshow ver\fP on switch +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd show_ver +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.shutdown(opts) +Disconnect +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.system_info() +Return system information for grains of the NX OS proxy minion +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.system_info +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.proxy.nxos.unset_role(username, role) +Remove role from username +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq nxos.cmd unset_role username=daniel role=vdc\-admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.proxy.philips_hue module .sp Philips HUE lamps module for proxy. @@ -203094,50 +219830,11 @@ New in version 2015.8.3. .TP .B class salt.proxy.philips_hue.Const Constants for the lamp operations. -.INDENT 7.0 -.TP -.B COLOR_BLUE = {\(aqhue\(aq: 46920, \(aqsat\(aq: 254} .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .TP -.B COLOR_DAYLIGHT = {\(aqxy\(aq: [0.3806, 0.3576]} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_GREEN = {\(aqhue\(aq: 25500, \(aqsat\(aq: 254} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_ORANGE = {\(aqhue\(aq: 12000, \(aqsat\(aq: 254} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_PINK = {\(aqxy\(aq: [0.3688, 0.2095]} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_PURPLE = {\(aqxy\(aq: [0.3787, 0.1724]} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_RED = {\(aqhue\(aq: 0, \(aqsat\(aq: 254} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_WHITE = {\(aqxy\(aq: [0.3227, 0.329]} -.UNINDENT -.INDENT 7.0 -.TP -.B COLOR_YELLOW = {\(aqxy\(aq: [0.4432, 0.5154]} -.UNINDENT -.INDENT 7.0 -.TP -.B LAMP_OFF = {\(aqtransitiontime\(aq: 0, \(aqon\(aq: False} -.UNINDENT -.INDENT 7.0 -.TP -.B LAMP_ON = {\(aqtransitiontime\(aq: 0, \(aqon\(aq: True} -.UNINDENT +.B salt.proxy.philips_hue.__virtual__() +Validate the module. .UNINDENT .INDENT 0.0 .TP @@ -203470,11 +220167,8 @@ This is a simple proxy\-minion designed to connect to and communicate with the bottle\-based web service contained in \fI\%https://github.com/saltstack/salt\-contrib/tree/master/proxyminion_rest_example\fP .INDENT 0.0 .TP -.B salt.proxy.rest_sample.fix_outage() -.UNINDENT -.INDENT 0.0 -.TP -.B salt.proxy.rest_sample.fns() +.B salt.proxy.rest_sample.__virtual__() +Only return if all the modules are available .UNINDENT .INDENT 0.0 .TP @@ -203495,10 +220189,6 @@ really confused and may stop talking to this minion .UNINDENT .INDENT 0.0 .TP -.B salt.proxy.rest_sample.init(opts) -.UNINDENT -.INDENT 0.0 -.TP .B salt.proxy.rest_sample.initialized() Since grains are loaded in many different places and some of those places occur before the proxy can be initialized, return whether @@ -203572,7 +220262,8 @@ This can be used as an option when the device does not provide an api over HTTP and doesn\(aqt have the python stack to run a minion. .INDENT 0.0 .TP -.B salt.proxy.ssh_sample.fns() +.B salt.proxy.ssh_sample.__virtual__() +Only return if all the modules are available .UNINDENT .INDENT 0.0 .TP @@ -203853,6 +220544,12 @@ Cheetah Renderer for Salt T} _ T{ +\fBdson\fP +T} T{ +DSON Renderer for Salt +T} +_ +T{ \fBgenshi\fP T} T{ Genshi Renderer for Salt @@ -203931,6 +220628,7 @@ _ T{ \fByaml\fP T} T{ +YAML Renderer for Salt T} _ T{ @@ -203952,6 +220650,25 @@ Render a Cheetah template. A Python data structure .UNINDENT .UNINDENT +.SS salt.renderers.dson +.sp +DSON Renderer for Salt +.sp +This renderer is intended for demonstration purposes. Information on the DSON +spec can be found \fI\%here\fP\&. +.sp +This renderer requires \fI\%Dogeon\fP (installable via pip) +.INDENT 0.0 +.TP +.B salt.renderers.dson.render(dson_input, saltenv=\(aqbase\(aq, sls=\(aq\(aq, **kwargs) +Accepts DSON data as a string or as a file object and runs it through the +JSON parser. +.INDENT 7.0 +.TP +.B Return type +A Python data structure +.UNINDENT +.UNINDENT .SS salt.renderers.genshi .sp Genshi Renderer for Salt @@ -205100,10 +221817,6 @@ def main(): .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.renderers.pydsl.render(template, saltenv=\(aqbase\(aq, sls=\(aq\(aq, tmplpath=None, rendered_sls=None, **kws) -.UNINDENT .SS salt.renderers.pyobjects .sp Python renderer that includes a Pythonic Object based interface @@ -205423,10 +222136,6 @@ This provides a wrapper for bare imports. .B salt.renderers.pyobjects.load_states() This loads our states into the salt __context__ .UNINDENT -.INDENT 0.0 -.TP -.B salt.renderers.pyobjects.render(template, saltenv=\(aqbase\(aq, sls=\(aq\(aq, salt_data=True, **kwargs) -.UNINDENT .SS salt.renderers.stateconf .INDENT 0.0 .TP @@ -205794,6 +222503,129 @@ Render the data passing the functions and grains into the rendering system string .UNINDENT .UNINDENT +.SS salt.renderers.yaml +.SS Understanding YAML +.sp +The default renderer for SLS files is the YAML renderer. YAML is a +markup language with many powerful features. However, Salt uses +a small subset of YAML that maps over very commonly used data structures, +like lists and dictionaries. It is the job of the YAML renderer to take +the YAML data structure and compile it into a Python data structure for +use by Salt. +.sp +Though YAML syntax may seem daunting and terse at first, there are only +three very simple rules to remember when writing YAML for SLS files. +.SS Rule One: Indentation +.sp +YAML uses a fixed indentation scheme to represent relationships between +data layers. Salt requires that the indentation for each level consists +of exactly two spaces. Do not use tabs. +.SS Rule Two: Colons +.sp +Python dictionaries are, of course, simply key\-value pairs. Users from other +languages may recognize this data type as hashes or associative arrays. +.sp +Dictionary keys are represented in YAML as strings terminated by a trailing colon. +Values are represented by either a string following the colon, separated by a space: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_key: my_value +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In Python, the above maps to: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aqmy_key\(aq: \(aqmy_value\(aq} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Dictionaries can be nested: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +first_level_dict_key: + second_level_dict_key: value_in_second_level_dict +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +And in Python: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +{\(aqfirst_level_dict_key\(aq: {\(aqsecond_level_dict_key\(aq: \(aqvalue_in_second_level_dict\(aq } +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Rule Three: Dashes +.sp +To represent lists of items, a single dash followed by a space is used. Multiple +items are a part of the same list as a function of their having the same level of indentation. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +\- list_value_one +\- list_value_two +\- list_value_three +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Lists can be the value of a key\-value pair. This is quite common in Salt: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_dictionary: + \- list_value_one + \- list_value_two + \- list_value_three +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Reference +.sp +YAML Renderer for Salt +.sp +For YAML usage information see Understanding YAML\&. +.INDENT 0.0 +.TP +.B salt.renderers.yaml.get_yaml_loader(argline) +Return the ordered dict yaml loader +.UNINDENT +.INDENT 0.0 +.TP +.B salt.renderers.yaml.render(yaml_data, saltenv=\(aqbase\(aq, sls=\(aq\(aq, argline=\(aq\(aq, **kws) +Accepts YAML as a string or as a file object and runs it through the YAML +parser. +.INDENT 7.0 +.TP +.B Return type +A Python data structure +.UNINDENT +.UNINDENT .SS salt.renderers.yamlex .sp YAMLEX renderer is a replacement of the YAML renderer. @@ -206004,6 +222836,12 @@ Return salt data via pushover (\fI\%http://www.pushover.net\fP) T} _ T{ +\fBrawfile_json\fP +T} T{ +Take data from salt and "return" it into a raw file containing the json, with one line per event. +T} +_ +T{ \fBredis_return\fP T} T{ Return data to a redis server @@ -206034,6 +222872,12 @@ Return salt data via email T} _ T{ +\fBsplunk\fP +T} T{ +Send json response data to Splunk via the HTTP Event Collector +T} +_ +T{ \fBsqlite3_return\fP T} T{ Insert minion return data into a sqlite3 database @@ -206741,6 +223585,34 @@ ext_job_cache: elasticsearch .fi .UNINDENT .UNINDENT +.sp +Minion configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +elasticsearch: + hosts: + \- "10.10.10.10:9200" + \- "10.10.10.11:9200" + \- "10.10.10.12:9200" + index_date: True + number_of_shards: 5 + number_of_replicas: 1 + functions_blacklist: + \- "test.ping" +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.elasticsearch_return.event_return(events) +Return events to Elasticsearch +.sp +Requires that the \fIevent_return\fP configuration be set in master config. +.UNINDENT .INDENT 0.0 .TP .B salt.returners.elasticsearch_return.get_load(jid) @@ -206879,6 +223751,11 @@ etcd.returner_write_profile: my_etcd_write .UNINDENT .INDENT 0.0 .TP +.B salt.returners.etcd_return.__virtual__() +Only return if python\-etcd is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.etcd_return.get_fun() Return a dict of the last function called for all minions .UNINDENT @@ -206933,6 +223810,7 @@ The following fields can be set in the minion conf file: hipchat.room_id (required) hipchat.api_key (required) hipchat.api_version (required) +hipchat.api_url (optional) hipchat.from_name (required) hipchat.color (optional) hipchat.notify (optional) @@ -206964,6 +223842,7 @@ the default location: hipchat.room_id hipchat.api_key hipchat.api_version +hipchat.api_url hipchat.from_name .ft P .fi @@ -206978,6 +223857,7 @@ Hipchat settings may also be configured as: .ft C hipchat: room_id: RoomName + api_url: https://hipchat.myteam.con api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx api_version: v1 from_name: user@email.com @@ -207055,6 +223935,16 @@ salt \(aq*\(aq test.ping \-\-return hipchat \-\-return_kwargs \(aq{"room_id": "a .UNINDENT .INDENT 0.0 .TP +.B salt.returners.hipchat_return.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.hipchat_return.event_return(events) Return event data to hipchat .UNINDENT @@ -207297,6 +224187,11 @@ Return the load data that marks a specified jid .UNINDENT .INDENT 0.0 .TP +.B salt.returners.local_cache.load_reg() +Load the register from msgpack files +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.local_cache.prep_jid(nocache=False, passed_jid=None, recurse_count=0) Return a job id and prepare the job id directory. .sp @@ -207325,6 +224220,11 @@ Save/update the serialized list of minions for a given job .UNINDENT .INDENT 0.0 .TP +.B salt.returners.local_cache.save_reg(data) +Save the register to msgpack files +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.local_cache.update_endtime(jid, time) Update (or store) the end time for a given job .sp @@ -207548,6 +224448,11 @@ salt \(aq*\(aq test.ping \-\-return mongo \-\-return_kwargs \(aq{"db": "another\ .UNINDENT .INDENT 0.0 .TP +.B salt.returners.mongo_future_return.event_return(events) +Return events to Mongodb server +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.mongo_future_return.get_fun(fun) Return the most recent jobs that have executed the named function .UNINDENT @@ -207757,7 +224662,7 @@ Return data to a mysql server Dave Boucha <\fI\%dave@saltstack.com\fP>, Seth House <\fI\%shouse@saltstack.com\fP> .TP .B maturity -new +mature .TP .B depends python\-mysqldb @@ -207821,6 +224726,24 @@ alternative.mysql.ssl_key: \(aq/etc/pki/mysql/certs/localhost.key\(aq .UNINDENT .UNINDENT .sp +Should you wish the returner data to be cleaned out every so often, set +\fIkeep_jobs\fP to the number of hours for the jobs to live in the tables. +Setting it to \fI0\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 \fIarchive_jobs\fP to True. Salt will create 3 archive tables +.INDENT 0.0 +.IP \(bu 2 +\fIjids_archive\fP +.IP \(bu 2 +\fIsalt_returns_archive\fP +.IP \(bu 2 +\fIsalt_events_archive\fP +.UNINDENT +.sp +and move the contents of \fIjids\fP, \fIsalt_returns\fP, and \fIsalt_events\fP that are +more than \fIkeep_jobs\fP hours old to these tables. +.sp Use the following mysql database schema: .INDENT 0.0 .INDENT 3.5 @@ -207927,6 +224850,13 @@ salt \(aq*\(aq test.ping \-\-return mysql \-\-return_kwargs \(aq{"db": "another\ .UNINDENT .INDENT 0.0 .TP +.B salt.returners.mysql.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.mysql.event_return(events) Return event to mysql server .sp @@ -208061,6 +224991,11 @@ salt \(aq*\(aq test.ping \-\-return nagios \-\-return_kwargs \(aq{"service": "se .UNINDENT .INDENT 0.0 .TP +.B salt.returners.nagios_return.__virtual__() +Return virtualname +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.nagios_return.returner(ret) Send a message to Nagios with the data .UNINDENT @@ -208616,17 +225551,37 @@ CREATE TABLE jids ( DROP TABLE IF EXISTS salt_returns; CREATE TABLE salt_returns ( - added TIMESTAMP WITH TIME ZONE DEFAULT now(), - fun text NOT NULL, - jid varchar(20) NOT NULL, + fun varchar(50) NOT NULL, + jid varchar(255) NOT NULL, return text NOT NULL, - id text NOT NULL, - success boolean + full_ret text, + id varchar(255) NOT NULL, + success varchar(10) NOT NULL, + alter_time TIMESTAMP WITH TIME ZONE DEFAULT now() ); -CREATE INDEX ON salt_returns (added); -CREATE INDEX ON salt_returns (id); -CREATE INDEX ON salt_returns (jid); -CREATE INDEX ON salt_returns (fun); + +CREATE INDEX idx_salt_returns_id ON salt_returns (id); +CREATE INDEX idx_salt_returns_jid ON salt_returns (jid); +CREATE INDEX idx_salt_returns_fun ON salt_returns (fun); +CREATE INDEX idx_salt_returns_updated ON salt_returns (alter_time); + +\-\- +\-\- Table structure for table \(gasalt_events\(ga +\-\- + +DROP TABLE IF EXISTS salt_events; +DROP SEQUENCE IF EXISTS seq_salt_events_id; +CREATE SEQUENCE seq_salt_events_id; +CREATE TABLE salt_events ( + id BIGINT NOT NULL UNIQUE DEFAULT nextval(\(aqseq_salt_events_id\(aq), + tag varchar(255) NOT NULL, + data text NOT NULL, + alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + master_id varchar(255) NOT NULL +); + +CREATE INDEX idx_salt_events_tag on salt_events (tag); + EOF .ft P .fi @@ -208678,6 +225633,14 @@ salt \(aq*\(aq test.ping \-\-return postgres \-\-return_kwargs \(aq{"db": "anoth .UNINDENT .INDENT 0.0 .TP +.B salt.returners.postgres.event_return(events) +Return event to Pg server +.sp +Requires that configuration be enabled via \(aqevent_return\(aq +option in master config. +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.postgres.get_fun(fun) Return a dict of the last function called for all minions .UNINDENT @@ -209010,9 +225973,52 @@ salt \(aq*\(aq test.ping \-\-return pushover \-\-return_kwargs \(aq{"title": "Sa .UNINDENT .INDENT 0.0 .TP +.B salt.returners.pushover_returner.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.pushover_returner.returner(ret) Send an PushOver message with the data .UNINDENT +.SS salt.returners.rawfile_json +.sp +Take data from salt and "return" it into a raw file containing the json, with +one line per event. +.sp +Add the following to the minion or master configuration file. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +rawfile_json.filename: +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Default is \fB/var/log/salt/events\fP\&. +.sp +Common use is to log all events on the master. This can generate a lot of +noise, so you may wish to configure batch processing and/or configure the +\fBevent_return_whitelist\fP or \fBevent_return_blacklist\fP +to restrict the events that are written. +.INDENT 0.0 +.TP +.B salt.returners.rawfile_json.event_return(event) +Write event return data to a file on the master. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.rawfile_json.returner(ret) +Write the return data to a file on the minion. +.UNINDENT .SS salt.returners.redis_return .sp Return data to a redis server @@ -209168,10 +226174,32 @@ raven: .UNINDENT .UNINDENT .sp -and \fI\%https://pypi.python.org/pypi/raven\fP installed +or using a dsn: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +raven: + dsn: https://aaaa:bbbb@app.getsentry.com/12345 + tags: + \- os + \- master + \- saltversion + \- cpuarch +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fI\%https://pypi.python.org/pypi/raven\fP must be installed. +.sp +The pillar can be hidden on sentry return by setting hide_pillar: true. .sp The tags list (optional) specifies grains items that will be used as sentry tags, allowing tagging of events in the sentry ui. +.sp +To report only errors to sentry, set report_errors_only: true. .INDENT 0.0 .TP .B salt.returners.sentry_return.prep_jid(nocache=False, passed_jid=None) @@ -209182,6 +226210,7 @@ Do any work necessary to prepare a JID, including sending a custom id .B salt.returners.sentry_return.returner(ret) Log outcome to sentry. The returner tries to identify errors and report them as such. All other messages will be reported at info level. +Failed states will be appended as separate list for convenience. .UNINDENT .SS salt.returners.slack_returner .sp @@ -209303,6 +226332,16 @@ salt \(aq*\(aq test.ping \-\-return slack \-\-return_kwargs \(aq{"channel": "#ra .UNINDENT .INDENT 0.0 .TP +.B salt.returners.slack_returner.__virtual__() +Return virtual name of the module. +.INDENT 7.0 +.TP +.B Returns +The virtual name of the module. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.returners.slack_returner.returner(ret) Send an slack message with the data .UNINDENT @@ -209370,7 +226409,11 @@ unless noted otherwise. .IP \(bu 2 \fBfrom\fP (required) The name/address of the email sender. .IP \(bu 2 -\fBto\fP (required) The name/address of the email recipient. +.INDENT 2.0 +.TP +.B \fBto\fP (required) The names/addresses of the email recipients; +comma\-delimited. For example: \fByou@example.com,someoneelse@example.com\fP\&. +.UNINDENT .IP \(bu 2 \fBhost\fP (required) The SMTP server hostname or address. .IP \(bu 2 @@ -209443,7 +226486,7 @@ alternative.smtp.tls: True .UNINDENT .UNINDENT .sp -To use the SMTP returner, append \(aq\-\-return smtp\(aq to the salt command. +To use the SMTP returner, append \(aq\-\-return smtp\(aq to the \fBsalt\fP command. .INDENT 0.0 .INDENT 3.5 .sp @@ -209455,7 +226498,7 @@ salt \(aq*\(aq test.ping \-\-return smtp .UNINDENT .UNINDENT .sp -To use the alternative configuration, append \(aq\-\-return_config alternative\(aq to the salt command. +To use the alternative configuration, append \(aq\-\-return_config alternative\(aq to the \fBsalt\fP command. .sp New in version 2015.5.0. @@ -209470,7 +226513,8 @@ salt \(aq*\(aq test.ping \-\-return smtp \-\-return_config alternative .UNINDENT .UNINDENT .sp -To override individual configuration items, append \-\-return_kwargs \(aq{"key:": "value"}\(aq to the salt command. +To override individual configuration items, append \-\-return_kwargs \(aq{"key:": "value"}\(aq to the +\fBsalt\fP command. .sp New in version 2016.3.0. @@ -209498,6 +226542,52 @@ python \-m smtpd \-n \-c DebuggingServer localhost:1025 .fi .UNINDENT .UNINDENT +.sp +New in version 2016.11.0. + +.sp +It is possible to send emails with selected Salt events by configuring \fBevent_return\fP option +for Salt Master. For example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +event_return: smtp + +event_return_whitelist: + \- salt/key + +smtp.from: me@example.net +smtp.to: you@example.com +smtp.host: localhost +smtp.subject: \(aqSalt Master {{act}}ed key from Minion ID: {{id}}\(aq +smtp.template: /srv/salt/templates/email.j2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Also you need to create additional file \fB/srv/salt/templates/email.j2\fP with email body template: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +act: {{act}} +id: {{id}} +result: {{result}} +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This configuration enables Salt Master to send an email when accepting or rejecting minions keys. +.INDENT 0.0 +.TP +.B salt.returners.smtp_return.event_return(events) +Return event data via SMTP +.UNINDENT .INDENT 0.0 .TP .B salt.returners.smtp_return.prep_jid(nocache=False, passed_jid=None) @@ -209508,6 +226598,39 @@ Do any work necessary to prepare a JID, including sending a custom id .B salt.returners.smtp_return.returner(ret) Send an email with the data .UNINDENT +.SS salt.returners.splunk module +.sp +Send json response data to Splunk via the HTTP Event Collector +Requires the following config values to be specified in config or pillar: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +splunk_http_forwarder: + token: + indexer: + sourcetype: + index: +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Run a test by using \fBsalt\-call test.ping \-\-return splunk\fP +.sp +Written by Scott Pack (github.com/scottjpack) +.INDENT 0.0 +.TP +.B salt.returners.splunk.__virtual__() +Return virtual name of the module. +:return: The virtual name of the module. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.returners.splunk.returner(ret) +Send a message to Splunk via the HTTP Event Collector +.UNINDENT .SS salt.returners.sqlite3 .sp Insert minion return data into a sqlite3 database @@ -209679,12 +226802,8 @@ Save the load to the specified jid .sp Return data to the host operating system\(aqs syslog facility .sp -Required python modules: syslog, json -.sp -The syslog returner simply reuses the operating system\(aqs syslog -facility to log return data -.sp -To use the syslog returner, append \(aq\-\-return syslog\(aq to the salt command. +To use the syslog returner, append \(aq\-\-return syslog\(aq to the +salt command. .INDENT 0.0 .INDENT 3.5 .sp @@ -209696,14 +226815,124 @@ salt \(aq*\(aq test.ping \-\-return syslog .UNINDENT .UNINDENT .sp +The following fields can be set in the minion conf file: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog.level (optional, Default: LOG_INFO) +syslog.facility (optional, Default: LOG_USER) +syslog.tag (optional, Default: salt\-minion) +syslog.options (list, optional, Default: []) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Available levels, facilities, and options can be found in the +\fBsyslog\fP docs for your python version. +.sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -Syslog server implementations may have limits on the maximum record size received -by the client. This may lead to job return data being truncated in the syslog server\(aqs -logs. For example, for rsyslog on RHEL\-based systems, the default maximum record size -is approximately 2KB (which return data can easily exceed). This is configurable in -rsyslog.conf via the $MaxMessageSize config parameter. Please consult your syslog +The default tag comes from \fBsys.argv[0]\fP which is +usually "salt\-minion" but could be different based on +the specific environment. +.UNINDENT +.UNINDENT +.sp +Configuration example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog.level: \(aqLOG_ERR\(aq +syslog.facility: \(aqLOG_DAEMON\(aq +syslog.tag: \(aqmysalt\(aq +syslog.options: + \- LOG_PID +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Of course you can also nest the options: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +syslog: + level: \(aqLOG_ERR\(aq + facility: \(aqLOG_DAEMON\(aq + tag: \(aqmysalt\(aq + options: + \- LOG_PID +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Alternative configuration values can be used by +prefacing the configuration. Any values not found +in the alternative configuration will be pulled from +the default location: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +alternative.syslog.level: \(aqLOG_WARN\(aq +alternative.syslog.facility: \(aqLOG_NEWS\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To use the alternative configuration, append +\fB\-\-return_config alternative\fP to the salt command. +.sp +New in version 2015.5.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq test.ping \-\-return syslog \-\-return_config alternative +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +To override individual configuration items, append +\-\-return_kwargs \(aq{"key:": "value"}\(aq to the salt command. +.sp +New in version 2016.3.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq test.ping \-\-return syslog \-\-return_kwargs \(aq{"level": "LOG_DEBUG"}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Syslog server implementations may have limits on the maximum +record size received by the client. This may lead to job +return data being truncated in the syslog server\(aqs logs. For +example, for rsyslog on RHEL\-based systems, the default +maximum record size is approximately 2KB (which return data +can easily exceed). This is configurable in rsyslog.conf via +the $MaxMessageSize config parameter. Please consult your syslog implmentation\(aqs documentation to determine how to adjust this limit. .UNINDENT .UNINDENT @@ -209828,11 +227057,8 @@ salt \(aq*\(aq test.ping \-\-return xmpp \-\-return_kwargs \(aq{"recipient": "so .UNINDENT .INDENT 0.0 .TP -.B class salt.returners.xmpp_return.SendMsgBot(jid, password, recipient, msg) -.INDENT 7.0 -.TP -.B start(event) -.UNINDENT +.B salt.returners.xmpp_return.__virtual__() +Only load this module if right version of sleekxmpp is installed on this minion. .UNINDENT .INDENT 0.0 .TP @@ -210015,20 +227241,6 @@ 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=\(aqglob\(aq, **kwargs) Return the targets from the ansible inventory_file Default: /etc/salt/roster @@ -210199,14 +227411,6 @@ salt\-ssh \-\-roster range \(aq%%%example.range.cluster\(aq test.ping .UNINDENT .INDENT 0.0 .TP -.B salt.roster.range.target_glob(tgt, hosts) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.roster.range.target_range(tgt, hosts) -.UNINDENT -.INDENT 0.0 -.TP .B salt.roster.range.targets(tgt, tgt_type=\(aqrange\(aq, **kwargs) Return the targets from a range query .UNINDENT @@ -210374,6 +227578,12 @@ A convenience system to manage reactors T} _ T{ +\fBsalt\fP +T} T{ +New in version 2016.11.0. +T} +_ +T{ \fBsaltutil\fP T} T{ Sync custom types to the Master @@ -210481,6 +227691,12 @@ is not using the defaults. Default is \fBprotocol: https\fP and \fBport: 3451\fP .UNINDENT .INDENT 0.0 .TP +.B salt.runners.asam.__virtual__() +Check for ASAM Fan\-Out driver configuration in master config file +or directory and load runner only if it is specified +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.asam.add_platform(name, platform_set, server_url) To add an ASAM platform using the specified ASAM platform set on the Novell Fan\-Out Driver @@ -210693,7 +227909,7 @@ salt\-run cache.clear_pillar .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.grains(tgt=None, expr_form=\(aqglob\(aq, outputter=None, **kwargs) +.B salt.runners.cache.grains(tgt=None, expr_form=\(aqglob\(aq, **kwargs) Return cached grains of the targeted minions .sp CLI Example: @@ -210710,7 +227926,7 @@ salt\-run cache.grains .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.mine(tgt=None, expr_form=\(aqglob\(aq, outputter=None, **kwargs) +.B salt.runners.cache.mine(tgt=None, expr_form=\(aqglob\(aq, **kwargs) Return cached mine data of the targeted minions .sp CLI Example: @@ -210727,7 +227943,7 @@ salt\-run cache.mine .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cache.pillar(tgt=None, expr_form=\(aqglob\(aq, outputter=None, **kwargs) +.B salt.runners.cache.pillar(tgt=None, expr_form=\(aqglob\(aq, **kwargs) Return cached pillars of the targeted minions .sp CLI Example: @@ -210758,7 +227974,7 @@ CLI Example: .sp .nf .ft C -salt\-run cloud.actions start my\-salt\-vm +salt\-run cloud.action start my\-salt\-vm .ft P .fi .UNINDENT @@ -210766,7 +227982,7 @@ salt\-run cloud.actions start my\-salt\-vm .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cloud.create(provider, instances, **kwargs) +.B salt.runners.cloud.create(provider, instances, opts=None, **kwargs) Create an instance using Salt Cloud .sp CLI Example: @@ -210813,7 +228029,7 @@ Execute a salt cloud map file .UNINDENT .INDENT 0.0 .TP -.B salt.runners.cloud.profile(prof=None, instances=None, **kwargs) +.B salt.runners.cloud.profile(prof=None, instances=None, opts=None, **kwargs) Create a cloud vm with the given profile and instances, instances can be a list or comma\-delimited string .sp @@ -210853,7 +228069,13 @@ Nitin Madhok <\fI\%nmadhok@clemson.edu\fP> .UNINDENT .INDENT 0.0 .TP -.B salt.runners.ddns.add_host(zone, name, ttl, ip, keyname, keyfile, nameserver, timeout, port=53, keyalgorithm='hmac-md5') +.B salt.runners.ddns.__virtual__() +Check if required libs (python\-dns) is installed and load runner +only if they are present +.UNINDENT +.INDENT 0.0 +.TP +.B salt.runners.ddns.add_host(zone, name, ttl, ip, keyname, keyfile, nameserver, timeout, port=53, keyalgorithm=\(aqhmac\-md5\(aq) Create both A and PTR (reverse) records for a host. .sp CLI Example: @@ -210870,7 +228092,7 @@ salt\-run ddns.add_host domain.com my\-test\-vm 3600 10.20.30.40 my\-tsig\-key / .UNINDENT .INDENT 0.0 .TP -.B salt.runners.ddns.create(zone, name, ttl, rdtype, data, keyname, keyfile, nameserver, timeout, port=53, keyalgorithm='hmac-md5') +.B salt.runners.ddns.create(zone, name, ttl, rdtype, data, keyname, keyfile, nameserver, timeout, port=53, keyalgorithm=\(aqhmac\-md5\(aq) Create a DNS record. The nameserver must be an IP address and the master running this runner must have create privileges on that server. .sp @@ -210888,7 +228110,7 @@ salt\-run ddns.create domain.com my\-test\-vm 3600 A 10.20.30.40 my\-tsig\-key / .UNINDENT .INDENT 0.0 .TP -.B salt.runners.ddns.delete(zone, name, keyname, keyfile, nameserver, timeout, rdtype=None, data=None, port=53, keyalgorithm='hmac-md5') +.B salt.runners.ddns.delete(zone, name, keyname, keyfile, nameserver, timeout, rdtype=None, data=None, port=53, keyalgorithm=\(aqhmac\-md5\(aq) Delete a DNS record. .sp CLI Example: @@ -210905,7 +228127,7 @@ salt\-run ddns.delete domain.com my\-test\-vm my\-tsig\-key /etc/salt/tsig.keyri .UNINDENT .INDENT 0.0 .TP -.B salt.runners.ddns.delete_host(zone, name, keyname, keyfile, nameserver, timeout, port=53, keyalgorithm='hmac-md5') +.B salt.runners.ddns.delete_host(zone, name, keyname, keyfile, nameserver, timeout, port=53, keyalgorithm=\(aqhmac\-md5\(aq) Delete both forward (A) and reverse (PTR) records for a host only if the forward (A) record exists. .sp @@ -210923,7 +228145,7 @@ salt\-run ddns.delete_host domain.com my\-test\-vm my\-tsig\-key /etc/salt/tsig. .UNINDENT .INDENT 0.0 .TP -.B salt.runners.ddns.update(zone, name, ttl, rdtype, data, keyname, keyfile, nameserver, timeout, replace=False, port=53, keyalgorithm='hmac-md5') +.B salt.runners.ddns.update(zone, name, ttl, rdtype, data, keyname, keyfile, nameserver, timeout, replace=False, port=53, keyalgorithm=\(aqhmac\-md5\(aq) Replace, or update a DNS record. The nameserver must be an IP address and the master running this runner must have update privileges on that server. .sp @@ -210953,6 +228175,11 @@ A runner module to collect and display the inline documentation from the various module types .INDENT 0.0 .TP +.B salt.runners.doc.__virtual__() +Always load +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.doc.execution() Collect all the sys.doc output from each minion and return the aggregate .sp @@ -211150,45 +228377,6 @@ load_balancers: .UNINDENT .INDENT 0.0 .TP -.B class salt.runners.f5.F5Mgmt(lb, username, password) -.INDENT 7.0 -.TP -.B add_pool_member(name, port, pool_name) -Add a node to a pool -.UNINDENT -.INDENT 7.0 -.TP -.B check_member_pool(member, pool_name) -Check a pool member exists in a specific pool -.UNINDENT -.INDENT 7.0 -.TP -.B check_pool(name) -Check to see if a pool exists -.UNINDENT -.INDENT 7.0 -.TP -.B check_virtualserver(name) -Check to see if a virtual server exists -.UNINDENT -.INDENT 7.0 -.TP -.B create_pool(name, method=\(aqROUND_ROBIN\(aq) -Create a pool on the F5 load balancer -.UNINDENT -.INDENT 7.0 -.TP -.B create_vs(name, ip, port, protocol, profile, pool_name) -Create a virtual server -.UNINDENT -.INDENT 7.0 -.TP -.B lbmethods() -List all the load balancer methods -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP .B salt.runners.f5.add_pool_member(lb, name, port, pool_name) Add a node to a pool .sp @@ -211329,6 +228517,127 @@ salt\-run fileserver.clear_cache \-roots .UNINDENT .INDENT 0.0 .TP +.B salt.runners.fileserver.clear_file_list_cache(saltenv=None, backend=None) +New in version 2016.11.0. + +.sp +The Salt fileserver caches the files/directories/symlinks for each +fileserver backend and environment as they are requested. This is done to +help the fileserver scale better. Without this caching, when +hundreds/thousands of minions simultaneously ask the master what files are +available, this would cause the master\(aqs CPU load to spike as it obtains +the same information separately for each minion. +.INDENT 7.0 +.TP +.B saltenv +By default, this runner will clear the file list caches for all +environments. This argument allows for a list of environments to be +passed, to clear more selectively. This list can be passed either as a +comma\-separated string, or a Python list. +.TP +.B backend +Similar to the \fBsaltenv\fP parameter, this argument will restrict the +cache clearing to specific fileserver backends (the default behavior is +to clear from all enabled fileserver backends). This list can be passed +either as a comma\-separated string, or a Python list. +.UNINDENT +.sp +Since the ability to clear these caches is often required by users writing +custom runners which add/remove files, this runner can easily be called +from within a custom runner using any of the following examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Clear all file list caches +__salt__[\(aqfileserver.clear_file_list_cache\(aq]() +# Clear just the \(aqbase\(aq saltenv file list caches +__salt__[\(aqfileserver.clear_file_list_cache\(aq](saltenv=\(aqbase\(aq) +# Clear just the \(aqbase\(aq saltenv file list caches from just the \(aqroots\(aq +# fileserver backend +__salt__[\(aqfileserver.clear_file_list_cache\(aq](saltenv=\(aqbase\(aq, backend=\(aqroots\(aq) +# Clear all file list caches from the \(aqroots\(aq fileserver backend +__salt__[\(aqfileserver.clear_file_list_cache\(aq](backend=\(aqroots\(aq) +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +In runners, the \fB__salt__\fP dictionary will likely be renamed to +\fB__runner__\fP in a future Salt release to distinguish runner functions +from remote execution functions. See \fI\%this GitHub issue\fP for +discussion/updates on this. +.UNINDENT +.UNINDENT +.sp +If using Salt\(aqs Python API (not a runner), the following examples are +equivalent to the ones above: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +import salt.config +import salt.runner + +opts = salt.config.master_config(\(aq/etc/salt/master\(aq) +opts[\(aqfun\(aq] = \(aqfileserver.clear_file_list_cache\(aq + +# Clear all file list_caches +opts[\(aqarg\(aq] = [] # No arguments +runner = salt.runner.Runner(opts) +cleared = runner.run() + +# Clear just the \(aqbase\(aq saltenv file list caches +opts[\(aqarg\(aq] = [\(aqbase\(aq, None] +runner = salt.runner.Runner(opts) +cleared = runner.run() + +# Clear just the \(aqbase\(aq saltenv file list caches from just the \(aqroots\(aq +# fileserver backend +opts[\(aqarg\(aq] = [\(aqbase\(aq, \(aqroots\(aq] +runner = salt.runner.Runner(opts) +cleared = runner.run() + +# Clear all file list caches from the \(aqroots\(aq fileserver backend +opts[\(aqarg\(aq] = [None, \(aqroots\(aq] +runner = salt.runner.Runner(opts) +cleared = runner.run() +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This function will return a dictionary showing a list of environments which +were cleared for each backend. An empty return dictionary means that no +changes were made. +.sp +CLI Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Clear all file list caches +salt\-run fileserver.clear_file_list_cache +# Clear just the \(aqbase\(aq saltenv file list caches +salt\-run fileserver.clear_file_list_cache saltenv=base +# Clear just the \(aqbase\(aq saltenv file list caches from just the \(aqroots\(aq +# fileserver backend +salt\-run fileserver.clear_file_list_cache saltenv=base backend=roots +# Clear all file list caches from the \(aqroots\(aq fileserver backend +salt\-run fileserver.clear_file_list_cache backend=roots +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.fileserver.clear_lock(backend=None, remote=None) New in version 2015.5.0. @@ -211366,7 +228675,7 @@ salt\-run fileserver.clear_lock remote=bitbucket .UNINDENT .INDENT 0.0 .TP -.B salt.runners.fileserver.dir_list(saltenv=\(aqbase\(aq, backend=None, outputter=None) +.B salt.runners.fileserver.dir_list(saltenv=\(aqbase\(aq, backend=None) Return a list of directories in the given environment .INDENT 7.0 .TP @@ -211404,7 +228713,7 @@ salt\-run fileserver.dir_list \-git .UNINDENT .INDENT 0.0 .TP -.B salt.runners.fileserver.empty_dir_list(saltenv=\(aqbase\(aq, backend=None, outputter=None) +.B salt.runners.fileserver.empty_dir_list(saltenv=\(aqbase\(aq, backend=None) New in version 2015.5.0. .sp @@ -211450,7 +228759,7 @@ salt\-run fileserver.empty_dir_list backend=roots .UNINDENT .INDENT 0.0 .TP -.B salt.runners.fileserver.envs(backend=None, sources=False, outputter=None) +.B salt.runners.fileserver.envs(backend=None, sources=False) Return the available fileserver environments. If no backend is provided, then the environments for all configured backends will be returned. .INDENT 7.0 @@ -211486,7 +228795,7 @@ salt\-run fileserver.envs git .UNINDENT .INDENT 0.0 .TP -.B salt.runners.fileserver.file_list(saltenv=\(aqbase\(aq, backend=None, outputter=None) +.B salt.runners.fileserver.file_list(saltenv=\(aqbase\(aq, backend=None) Return a list of files from the salt fileserver .INDENT 7.0 .TP @@ -211565,7 +228874,7 @@ salt\-run fileserver.lock remote=bitbucket .UNINDENT .INDENT 0.0 .TP -.B salt.runners.fileserver.symlink_list(saltenv=\(aqbase\(aq, backend=None, outputter=None) +.B salt.runners.fileserver.symlink_list(saltenv=\(aqbase\(aq, backend=None) Return a list of symlinked files and dirs .INDENT 7.0 .TP @@ -211759,7 +229068,7 @@ salt\-run http.update_ca_bundle merge_files=/path/to/mycert.pem A convenience system to manage jobs, both active and already run .INDENT 0.0 .TP -.B salt.runners.jobs.active(outputter=None, display_progress=False) +.B salt.runners.jobs.active(display_progress=False) Return a report on all actively running jobs from a job id centric perspective .sp @@ -211821,7 +229130,7 @@ salt\-run jobs.last_run metadata="{\(aqfoo\(aq: \(aqbar\(aq}" .UNINDENT .INDENT 0.0 .TP -.B salt.runners.jobs.list_job(jid, ext_source=None, outputter=None, display_progress=False) +.B salt.runners.jobs.list_job(jid, ext_source=None, display_progress=False) List a specific job given by its jid .INDENT 7.0 .TP @@ -211993,7 +229302,7 @@ salt\-run jobs.list_jobs_filter 100 filter_find_job=False .UNINDENT .INDENT 0.0 .TP -.B salt.runners.jobs.lookup_jid(jid, ext_source=None, returned=True, missing=False, outputter=None, display_progress=False) +.B salt.runners.jobs.lookup_jid(jid, ext_source=None, returned=True, missing=False, display_progress=False) Return the printout from a previously executed job .INDENT 7.0 .TP @@ -212038,7 +229347,7 @@ salt\-run jobs.lookup_jid 20130916125524463507 \-\-out=highstate .UNINDENT .INDENT 0.0 .TP -.B salt.runners.jobs.print_job(jid, ext_source=None, outputter=None) +.B salt.runners.jobs.print_job(jid, ext_source=None) Print a specific job\(aqs detail given by it\(aqs jid, including the return data. .sp CLI Example: @@ -212475,7 +229784,7 @@ salt\-run manage.allowed .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.bootstrap(version=\(aqdevelop\(aq, script=None, hosts=\(aq\(aq, root_user=True) +.B salt.runners.manage.bootstrap(version=\(aqdevelop\(aq, script=None, hosts=\(aq\(aq, root_user=False, script_args=\(aq\(aq, roster=\(aqflat\(aq, ssh_user=None, ssh_password=None, ssh_priv_key=None, tmp_dir=\(aq/tmp/.bootstrap\(aq, http_backend=\(aqtornado\(aq) Bootstrap minions with salt\-bootstrap .INDENT 7.0 .TP @@ -212485,14 +229794,80 @@ Git tag of version to install .TP .B script \fI\%https://bootstrap.saltstack.com\fP -Script to execute +URL containing the script to execute .TP .B hosts -Comma\-separated hosts [example: hosts=\(aqhost1.local,host2.local\(aq] +Comma\-separated hosts [example: hosts=\(aqhost1.local,host2.local\(aq]. These +hosts need to exist in the specified roster. .TP .B root_user -True -Prepend \fBroot@\fP to each host. +False +Prepend \fBroot@\fP to each host. Default changed in Salt 2016.11.0 from \fBTrue\fP +to \fBFalse\fP\&. +.sp +Changed in version 2016.11.0. + +.sp +Deprecated since version 2016.11.0. + +.TP +.B script_args +Any additional arguments that you want to pass to the script. +.sp +New in version 2016.11.0. + +.TP +.B roster +flat +The roster to use for Salt SSH. More information about roster files can +be found in Salt\(aqs Roster Documentation\&. +.sp +A full list of roster types, see the builtin roster modules +documentation. +.sp +New in version 2016.11.0. + +.TP +.B ssh_user +If \fBuser\fP isn\(aqt found in the \fBroster\fP, a default SSH user can be set here. +Keep in mind that \fBssh_user\fP will not override the roster \fBuser\fP value if +it is already defined. +.sp +New in version 2016.11.0. + +.TP +.B ssh_password +If \fBpasswd\fP isn\(aqt found in the \fBroster\fP, a default SSH password can be set +here. Keep in mind that \fBssh_password\fP will not override the roster \fBpasswd\fP +value if it is already defined. +.sp +New in version 2016.11.0. + +.TP +.B ssh_privkey +If \fBpriv\fP isn\(aqt found in the \fBroster\fP, a default SSH private key can be set +here. Keep in mind that \fBssh_password\fP will not override the roster \fBpasswd\fP +value if it is already defined. +.sp +New in version 2016.11.0. + +.TP +.B tmp_dir +/tmp/.bootstrap +The temporary directory to download the bootstrap script in. This +directory will have \fB\-\fP appended to it. For example: +\fB/tmp/.bootstrap\-a19a728e\-d40a\-4801\-aba9\-d00655c143a7/\fP +.sp +New in version 2016.11.0. + +.TP +.B http_backend +tornado +The backend library to use to download the script. If you need to use +a \fBfile:///\fP URL, then you should set this to \fBurllib2\fP\&. +.sp +New in version 2016.11.0. + .UNINDENT .sp CLI Example: @@ -212503,8 +229878,8 @@ CLI Example: .ft C salt\-run manage.bootstrap hosts=\(aqhost1,host2\(aq salt\-run manage.bootstrap hosts=\(aqhost1,host2\(aq version=\(aqv0.17\(aq -salt\-run manage.bootstrap hosts=\(aqhost1,host2\(aq version=\(aqv0.17\(aq script=\(aqhttps://bootstrap.saltstack.com/develop\(aq -salt\-run manage.bootstrap hosts=\(aqec2\-user@host1,ec2\-user@host2\(aq root_user=False +salt\-run manage.bootstrap hosts=\(aqhost1,host2\(aq version=\(aqv0.17\(aq script=\(aqhttps://bootstrap.saltstack.com/develop\(aq +salt\-run manage.bootstrap hosts=\(aqec2\-user@host1,ec2\-user@host2\(aq root_user=False .ft P .fi .UNINDENT @@ -212556,7 +229931,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) +.B salt.runners.manage.down(removekeys=False, tgt=\(aq*\(aq, expr_form=\(aqglob\(aq) Print a list of all the down or unresponsive salt minions Optionally remove keys of down minions .sp @@ -212568,6 +229943,7 @@ CLI Example: .ft C salt\-run manage.down salt\-run manage.down removekeys=True +salt\-run manage.down tgt="webservers" expr_form="nodegroup" .ft P .fi .UNINDENT @@ -213016,7 +230392,7 @@ salt\-run manage.safe_accept minion1,minion2 expr_form=list .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.status(output=True) +.B salt.runners.manage.status(output=True, tgt=\(aq*\(aq, expr_form=\(aqglob\(aq) Print the status of all known salt minions .sp CLI Example: @@ -213026,6 +230402,7 @@ CLI Example: .nf .ft C salt\-run manage.status +salt\-run manage.status tgt="webservers" expr_form="nodegroup" .ft P .fi .UNINDENT @@ -213033,7 +230410,7 @@ salt\-run manage.status .UNINDENT .INDENT 0.0 .TP -.B salt.runners.manage.up() +.B salt.runners.manage.up(tgt=\(aq*\(aq, expr_form=\(aqglob\(aq) Print a list of all of the minions that are up .sp CLI Example: @@ -213043,6 +230420,7 @@ CLI Example: .nf .ft C salt\-run manage.up +salt\-run manage.up tgt="webservers" expr_form="nodegroup" .ft P .fi .UNINDENT @@ -213253,6 +230631,11 @@ my\-pagerduty\-account: .UNINDENT .INDENT 0.0 .TP +.B salt.runners.pagerduty.__virtual__() +No dependencies outside of what Salt itself requires +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.pagerduty.create_event(service_key=None, description=None, details=None, incident_key=None, profile=None) Create an event in PagerDuty. Designed for use in states. .sp @@ -213716,6 +231099,71 @@ salt\-run reactor.list .UNINDENT .UNINDENT .UNINDENT +.SS salt.runners.salt +.sp +New in version 2016.11.0. + +.sp +This runner makes Salt\(aqs +execution modules available +on the salt master. +.sp +Salt\(aqs execution modules are normally available +on the salt minion. Use this runner to call +execution modules on the salt master. +Salt execution modules +are the functions called by the \fBsalt\fP command. +.sp +Execution modules can be +called with \fBsalt\-run\fP: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-run salt.cmd test.ping +# call functions with arguments and keyword arguments +salt\-run salt.cmd test.arg 1 2 3 key=value a=1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Execution modules are also available to salt runners: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +__salt__[\(aqsalt.cmd\(aq](fun=fun, args=args, kwargs=kwargs) +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.runners.salt.cmd(fun, *args, **kwargs) +Execute \fBfun\fP with the given \fBargs\fP and \fBkwargs\fP\&. +Parameter \fBfun\fP should be the string name +of the execution module to call. +.sp +Note that execution modules will be \fIloaded every time\fP +this function is called. +.sp +CLI example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-run salt.cmd test.ping +# call functions with arguments and keyword arguments +salt\-run salt.cmd test.arg 1 2 3 a=1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.runners.saltutil .sp Sync custom types to the Master @@ -213740,7 +231188,7 @@ CLI Example: .sp .nf .ft C -salt \(aq*\(aq saltutil.sync_all +salt\-run saltutil.sync_all .ft P .fi .UNINDENT @@ -214012,6 +231460,33 @@ salt\-run saltutil.sync_states .UNINDENT .INDENT 0.0 .TP +.B salt.runners.saltutil.sync_utils(saltenv=\(aqbase\(aq) +New in version 2016.11.0. + +.sp +Sync utils modules from \fBsalt://_utils\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. +.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_wheel(saltenv=\(aqbase\(aq) Sync wheel modules from \fBsalt://_wheel\fP to the master .INDENT 7.0 @@ -214039,6 +231514,25 @@ salt\-run saltutil.sync_wheel Runner for setting and querying data via the sdb API on the master .INDENT 0.0 .TP +.B salt.runners.sdb.delete(uri) +Delete a value from 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 deleted, return \fBFalse\fP\&. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt \(aq*\(aq sdb.delete sdb://mymemcached/foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.sdb.get(uri) Get a value from a db, using a uri in the form of sdb:///. If the uri provided does not start with sdb://, then it will be returned as\-is. @@ -214135,6 +231629,12 @@ not using the defaults. Default is \fBprotocol: https\fP\&. .UNINDENT .INDENT 0.0 .TP +.B salt.runners.spacewalk.__virtual__() +Check for spacewalk configuration in master config file +or directory and load runner only if it is specified +.UNINDENT +.INDENT 0.0 +.TP .B salt.runners.spacewalk.unregister(name, server_url) To unregister specified server from Spacewalk .sp @@ -214240,7 +231740,7 @@ script. .UNINDENT .INDENT 0.0 .TP -.B salt.runners.state.orchestrate(mods, saltenv=\(aqbase\(aq, test=None, exclude=None, pillar=None) +.B salt.runners.state.orchestrate(mods, saltenv=\(aqbase\(aq, test=None, exclude=None, pillar=None, pillarenv=None, orchestration_jid=None) New in version 0.17.0. .sp @@ -214268,6 +231768,7 @@ CLI Examples: .ft C salt\-run state.orchestrate webserver salt\-run state.orchestrate webserver saltenv=dev test=True +salt\-run state.orchestrate webserver saltenv=dev pillarenv=aws .ft P .fi .UNINDENT @@ -214521,12 +232022,7 @@ Return information about the host connected to this master .UNINDENT .INDENT 0.0 .TP -.B salt.runners.virt.hyper_info(hyper=None) -Return information about the host connected to this master -.UNINDENT -.INDENT 0.0 -.TP -.B salt.runners.virt.init(name, cpu, mem, image, hyper=None, hypervisor=\(aqkvm\(aq, host=None, seed=True, nic=\(aqdefault\(aq, install=True, start=True, disk=\(aqdefault\(aq, saltenv=\(aqbase\(aq, enable_vnc=False) +.B salt.runners.virt.init(name, cpu, mem, image, hypervisor=\(aqkvm\(aq, host=None, seed=True, nic=\(aqdefault\(aq, install=True, start=True, disk=\(aqdefault\(aq, saltenv=\(aqbase\(aq, enable_vnc=False) This routine is used to create a new virtual machine. This routines takes a number of options to determine what the newly created virtual machine will look like. @@ -214596,13 +232092,6 @@ the available host and executes some math the determine the most .UNINDENT .INDENT 0.0 .TP -.B salt.runners.virt.next_hyper() -Return the host to use for the next autodeployed VM. This queries -the available host and executes some math the determine the most -"available" next host. -.UNINDENT -.INDENT 0.0 -.TP .B salt.runners.virt.pause(name) Pause the named VM .UNINDENT @@ -214613,7 +232102,7 @@ Destroy the named VM .UNINDENT .INDENT 0.0 .TP -.B salt.runners.virt.query(host=None, quiet=False, hyper=None) +.B salt.runners.virt.query(host=None, quiet=False) Query the virtual machines. When called without options all hosts are detected and a full query is returned. A single host can be passed in to specify an individual host to query. @@ -214715,6 +232204,18 @@ center; |l|l|. _ T{ +\fBconfidant\fP +T} T{ +An SDB module for getting credentials from confidant. +T} +_ +T{ +\fBconsul\fP +T} T{ +Consul sdb Module +T} +_ +T{ \fBcouchdb\fP T} T{ CouchDB sdb Module @@ -214750,7 +232251,107 @@ T} T{ SQLite sdb Module T} _ +T{ +\fBvault\fP +T} T{ +Vault SDB Module +T} +_ .TE +.SS salt.sdb.confidant +.sp +An SDB module for getting credentials from confidant. +.SS Configuring the Confidant module +.sp +The module can be configured via sdb in the minion config: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +confidant: + driver: confidant + # The URL of the confidant web service + url: \(aqhttps://confidant\-production.example.com\(aq + # The context to use for KMS authentication + auth_context: + from: example\-production\-iad + to: confidant\-production\-iad + user_type: service + # The KMS master key to use for authentication + auth_key: "alias/authnz" + # Cache file for KMS auth token + token_cache_file: /run/confidant/confidant_token + # The duration of the validity of a token, in minutes + token_duration: 60 + # key, keyid and region can be defined in the profile, but it\(aqs generally + # best to use IAM roles or environment variables for AWS auth. + keyid: 98nh9h9h908h09kjjk + key: jhf908gyeghehe0he0g8h9u0j0n0n09hj09h0 + region: us\-east\-1 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B depends +confidant\-common, confidant\-client +.UNINDENT +.SS Module Documentation +.INDENT 0.0 +.TP +.B salt.sdb.confidant.__virtual__() +Only return if requests and boto are installed. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.confidant.get(key, profile=None) +Read pillar data from Confidant via its API. +.sp +CLI Example: +.INDENT 7.0 +.INDENT 3.5 +salt myminion sdb.get \(aqsdb://confidant/credentials\(aq +.UNINDENT +.UNINDENT +.sp +Valid keys are: credentials, credentials_metadata, result. credentials +returns a dict of joined credential_pairs, credentials_metadata returns a +dict of metadata relevant to the credentials mapped to the confidant +service, and result returns a bool that can be used to determine if the sdb +call succeded or failed to fetch credentials from confidant (or from local +cache). If result is false, the data in credentials or credentials_metadata +can\(aqt be trusted. +.UNINDENT +.SS salt.sdb.consul module +.sp +Consul sdb Module +.INDENT 0.0 +.TP +.B maintainer +SaltStack +.TP +.B maturity +New +.TP +.B platform +all +.UNINDENT +.sp +This module allows access to Consul using an \fBsdb://\fP URI +.sp +Like all sdb modules, the Consul module requires a configuration profile to +be configured in either the minion or master configuration file. This profile +requires very little. For example: +.sp +The \fBdriver\fP refers to the Consul module, all other options are optional. +For option details see: \fI\%https://python\-consul.readthedocs.io/en/latest/#consul\fP +.INDENT 0.0 +.TP +.B salt.sdb.consul.get_conn(profile) +Return a client object for accessing consul +.UNINDENT .SS salt.sdb.couchdb .sp CouchDB sdb Module @@ -214810,6 +232411,11 @@ Additional contributions to build true map\-reduce functionality into this modul would be welcome. .INDENT 0.0 .TP +.B salt.sdb.couchdb.__virtual__() +Require the python2\-couchdb libraries +.UNINDENT +.INDENT 0.0 +.TP .B salt.sdb.couchdb.get(key, profile=None) Get a value from couchdb by id .UNINDENT @@ -214873,6 +232479,16 @@ password: sdb://myetcd/mypassword .UNINDENT .INDENT 0.0 .TP +.B salt.sdb.etcd_db.__virtual__() +Only load the module if keyring is installed +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.etcd_db.delete(key, service=None, profile=None) +Get a value from the etcd service +.UNINDENT +.INDENT 0.0 +.TP .B salt.sdb.etcd_db.get(key, service=None, profile=None) Get a value from the etcd service .UNINDENT @@ -214948,6 +232564,11 @@ examples and documentation, see keyring: .sp New in version 2014.1.4. +.INDENT 0.0 +.TP +.B salt.sdb.keyring_db.__virtual__() +Only load the module if keyring is installed +.UNINDENT .INDENT 0.0 .TP .B salt.sdb.keyring_db.get(key, service=None, profile=None) @@ -215011,6 +232632,11 @@ password: sdb://mymemcached/mykey .UNINDENT .INDENT 0.0 .TP +.B salt.sdb.memcached.__virtual__() +Only load the module if memcached is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.sdb.memcached.get(key, profile=None) Get a value from memcached .UNINDENT @@ -215182,6 +232808,11 @@ Instead of a table name, it is possible to provide custom SQL statements to create the table(s) and get and set values. .INDENT 0.0 .TP +.B salt.sdb.sqlite3.__virtual__() +Only load if sqlite3 is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.sdb.sqlite3.get(key, profile=None) Get a value from sqlite3 .UNINDENT @@ -215190,6 +232821,102 @@ Get a value from sqlite3 .B salt.sdb.sqlite3.set(key, value, profile=None) Set a key/value pair in sqlite3 .UNINDENT +.SS salt.sdb.vault module +.sp +Vault SDB Module +.INDENT 0.0 +.TP +.B maintainer +SaltStack +.TP +.B maturity +New +.TP +.B platform +all +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +This module allows access to Hashicorp Vault using an \fBsdb://\fP URI. +.sp +Like all sdb modules, the vault module requires a configuration profile to +be configured in either the minion or master configuration file. This profile +requires very little. In the example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +myvault: + driver: vault + vault.host: 127.0.0.1 + vault.port: 8200 + vault.scheme: http # Optional; default is https + vault.token: 012356789abcdef # Required, unless set in environment +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The \fBdriver\fP refers to the \fBvault\fP module, \fBvault.host\fP refers to the host +that is hosting vault and \fBvault.port\fP refers to the port on that host. A +vault token is also required. It may be set statically, as above, or as an +environment variable: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ export VAULT_TOKEN=0123456789abcdef +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Once configured you can access data using a URL such as: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +password: sdb://myvault/secret/passwords?mypassword +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In this URL, \fBmyvault\fP refers to the configuration profile, +\fBsecret/passwords\fP is the path where the data resides, and \fBmypassword\fP is +the key of the data to return. +.sp +The above URI is analogous to running the following vault command: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +$ vault read \-field=mypassword secret/passwords +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.vault.__virtual__() +This module has no external dependencies +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.vault.get(key, profile=None) +Get a value from the vault service +.UNINDENT +.INDENT 0.0 +.TP +.B salt.sdb.vault.set(key, value, profile=None) +Set a key/value pair in the vault service +.UNINDENT .SS serializer modules .TS center; @@ -215603,6 +233330,12 @@ center; |l|l|. _ T{ +\fBacme\fP +T} T{ +ACME / Let\(aqs Encrypt certificate management state +T} +_ +T{ \fBalias\fP T} T{ Configuration of email aliases @@ -215693,6 +233426,12 @@ Management of Block Devices T} _ T{ +\fBboto_apigateway\fP +T} T{ +Manage Apigateway Rest APIs +T} +_ +T{ \fBboto_asg\fP T} T{ Manage Autoscale Groups @@ -215717,6 +233456,12 @@ Manage Cloudwatch alarms T} _ T{ +\fBboto_cognitoidentity\fP +T} T{ +Manage CognitoIdentity Functions +T} +_ +T{ \fBboto_datapipeline\fP T} T{ Manage Data Pipelines @@ -215741,6 +233486,12 @@ Manage Elasticache T} _ T{ +\fBboto_elasticsearch_domain\fP +T} T{ +Manage Elasticsearch Domains +T} +_ +T{ \fBboto_elb\fP T} T{ Manage ELBs @@ -216013,7 +233764,7 @@ _ T{ \fBglusterfs\fP T} T{ -Manage glusterfs pool. +Manage GlusterFS pool. T} _ T{ @@ -216103,7 +233854,7 @@ _ T{ \fBinfluxdb_database\fP T} T{ -Management of InfluxDB databases +Management of Influxdb databases T} _ T{ @@ -216155,12 +233906,24 @@ Management of Jenkins T} _ T{ +\fBjunos\fP +T} T{ +State modules to interact with Junos devices. +T} +_ +T{ \fBk8s\fP T} T{ Manage Kubernetes T} _ T{ +\fBkapacitor\fP +T} T{ +Kapacitor state module. +T} +_ +T{ \fBkeyboard\fP T} T{ Management of keyboard layouts @@ -216245,6 +234008,12 @@ Installing of certificates to the keychain T} _ T{ +\fBmac_package\fP +T} T{ +Installing of mac pkg files +T} +_ +T{ \fBmac_xattr\fP T} T{ Allows you to manage extended attributes on files or directories @@ -216341,6 +234110,12 @@ Management of MySQL users T} _ T{ +\fBnetntp\fP +T} T{ +Network NTP +T} +_ +T{ \fBnetwork\fP T} T{ Configuration of network interfaces @@ -216365,6 +234140,12 @@ Management of NTP servers T} _ T{ +\fBnxos\fP +T} T{ +State module for Cisco NX OS Switches Proxy minions +T} +_ +T{ \fBopenstack_config\fP T} T{ Manage OpenStack configuration file settings. @@ -216413,6 +234194,12 @@ Manage PagerDuty users. T} _ T{ +\fBpcs\fP +T} T{ +Management of Pacemaker/Corosync clusters with PCS +T} +_ +T{ \fBpecl\fP T} T{ Installation of PHP Extensions Using pecl @@ -216527,6 +234314,12 @@ Powerpath configuration support T} _ T{ +\fBprobes\fP +T} T{ +Network Probes +T} +_ +T{ \fBprocess\fP T} T{ Process Management @@ -216779,7 +234572,7 @@ _ T{ \fBtomcat\fP T} T{ -This state uses the manager webapp to manage Apache tomcat webapps +Manage Apache Tomcat web applications T} _ T{ @@ -216897,6 +234690,12 @@ Manage Windows features via the ServerManager powershell module T} _ T{ +\fBwin_smtp_server\fP +T} T{ +Module for managing IIS SMTP server configuration on Windows servers. +T} +_ +T{ \fBwin_system\fP T} T{ Management of Windows system information @@ -216981,6 +234780,69 @@ Management zpool T} _ .TE +.SS salt.states.acme module +.SS ACME / Let\(aqs Encrypt certificate management state +.sp +See also the module documentation +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +reload\-gitlab: + cmd.run: + \- name: gitlab\-ctl hup + +dev.example.com: + acme.cert: + \- aliases: + \- gitlab.example.com + \- email: acmemaster@example.com + \- webroot: /opt/gitlab/embedded/service/gitlab\-rails/public + \- renew: 14 + \- fire_event: acme/dev.example.com + \- onchanges_in: + \- cmd: reload\-gitlab +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.acme.__virtual__() +Only work when the ACME module agrees +.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=\(aqroot\(aq, group=\(aqroot\(aq) +Obtain/renew a certificate from an ACME CA, probably Let\(aqs Encrypt. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- Common Name of the certificate (DNS name of certificate) +.IP \(bu 2 +\fBaliases\fP \-\- subjectAltNames (Additional DNS names on certificate) +.IP \(bu 2 +\fBemail\fP \-\- e\-mail address for interaction with ACME provider +.IP \(bu 2 +\fBwebroot\fP \-\- True or full path to webroot used for authentication +.IP \(bu 2 +\fBtest_cert\fP \-\- Request a certificate from the Happy Hacker Fake CA (mutually exclusive with \(aqserver\(aq) +.IP \(bu 2 +\fBrenew\fP \-\- True/\(aqforce\(aq to force a renewal, or a window of renewal before expiry in days +.IP \(bu 2 +\fBkeysize\fP \-\- RSA key bits +.IP \(bu 2 +\fBserver\fP \-\- API endpoint to talk to +.IP \(bu 2 +\fBowner\fP \-\- owner of private key +.IP \(bu 2 +\fBgroup\fP \-\- group of private key +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.alias .sp Configuration of email aliases @@ -217085,6 +234947,11 @@ hadoop\-0.20\-conf: .UNINDENT .INDENT 0.0 .TP +.B salt.states.alternatives.__virtual__() +Only load if alternatives execution module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.alternatives.auto(name) New in version 0.17.0. @@ -217202,10 +235069,6 @@ the above word between angle brackets (<>). .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.states.apache.configfile(name, config) -.UNINDENT .SS salt.states.apache_conf module .sp Manage Apache Confs @@ -217232,6 +235095,11 @@ Disable security conf: .UNINDENT .INDENT 0.0 .TP +.B salt.states.apache_conf.__virtual__() +Only load if a2enconf is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.apache_conf.disable(name) Ensure an Apache conf is disabled. .sp @@ -217310,6 +235178,11 @@ Disable cgi module: .UNINDENT .INDENT 0.0 .TP +.B salt.states.apache_module.__virtual__() +Only load if a2enmod is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.apache_module.disable(name) Ensure an Apache module is disabled. .sp @@ -217387,6 +235260,11 @@ Disable default site: .UNINDENT .INDENT 0.0 .TP +.B salt.states.apache_site.__virtual__() +Only load if a2ensite is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.apache_site.disable(name) Ensure an Apache site is disabled. .sp @@ -217443,6 +235321,11 @@ Name of the Apache site .SS Package management operations specific to APT\- and DEB\-based systems .INDENT 0.0 .TP +.B salt.states.aptpkg.__virtual__() +Only work on apt\-based platforms with pkg.get_selections +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.aptpkg.held(name) Set package in \(aqhold\(aq state, meaning it will not be upgraded. .INDENT 7.0 @@ -217459,11 +235342,12 @@ New in version 2014.1.0. .INDENT 0.0 .TP -.B salt.states.archive.compareChecksum(fname, target, checksum) +.B salt.states.archive.__virtual__() +Only load if the archive module is available in __salt__ .UNINDENT .INDENT 0.0 .TP -.B salt.states.archive.extracted(name, source, archive_format, password=None, user=None, group=None, tar_options=None, source_hash=None, if_missing=None, keep=False, trim_output=False, source_hash_update=None) +.B salt.states.archive.extracted(name, source, archive_format, password=None, user=None, group=None, tar_options=None, zip_options=None, source_hash=None, if_missing=None, keep=False, trim_output=False, skip_verify=False, source_hash_update=None, use_cmd_unzip=False, **kwargs) New in version 2014.1.0. .sp @@ -217576,7 +235460,6 @@ New in version 2016.3.4. .TP .B archive_format \fBtar\fP, \fBzip\fP or \fBrar\fP - .TP .B user The user to own each extracted file. @@ -217636,6 +235519,14 @@ this option; the options must be valid options for the \fBtar\fP implementation on the minion\(aqs OS. .UNINDENT .UNINDENT +.TP +.B zip_options +Optional when using \fBzip\fP archives, ignored when usign other archives +files. This is mostly used to overwrite exsiting files with \fBo\fP\&. +This options are only used when \fBunzip\fP binary is used. +.sp +New in version 2016.3.1. + .TP .B keep Keep the archive in the minion\(aqs cache @@ -217646,6 +235537,18 @@ trimmed, if this is set to True then it will default to 100 .sp New in version 2016.3.0. +.TP +.B use_cmd_unzip +When archive_format is zip, setting this flag to True will use the archive.cmd_unzip module function +.sp +New in version 2016.11.0. + +.TP +.B kwargs +kwargs to pass to the archive.unzip or archive.unrar function +.sp +New in version 2016.11.0. + .UNINDENT .UNINDENT .SS salt.states.artifactory @@ -217749,6 +235652,11 @@ jboss_module_downloaded: The at state can be add disposable regularly scheduled tasks for your system. .INDENT 0.0 .TP +.B salt.states.at.__virtual__() +Most everything has the ability to support at(1) +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.at.absent(name, jobid=None, **kwargs) Remove a job from queue The \(aqkwargs\(aq can include hour. minute. day. month. year @@ -218089,6 +235997,11 @@ myqueue: .UNINDENT .INDENT 0.0 .TP +.B salt.states.aws_sqs.__virtual__() +Only load if aws is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.aws_sqs.absent(name, region, user=None, opts=False) Remove the named SQS queue if it exists. .INDENT 7.0 @@ -218214,6 +236127,11 @@ f5_bigip_11.6 .UNINDENT .INDENT 0.0 .TP +.B salt.states.bigip.__virtual__() +Only load if the bigip exec module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.bigip.add_pool_member(hostname, username, password, name, member) A function to connect to a bigip device and add a new member to an existing pool. .INDENT 7.0 @@ -219616,7 +237534,12 @@ New in version 2014.7.0. .INDENT 0.0 .TP -.B salt.states.blockdev.formatted(name, fs_type=\(aqext4\(aq, **kwargs) +.B salt.states.blockdev.__virtual__() +Only load this module if the disk execution module is available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.blockdev.formatted(name, fs_type=\(aqext4\(aq, force=False, **kwargs) Manage filesystems of partitions. .INDENT 7.0 .TP @@ -219625,6 +237548,16 @@ The name of the block device .TP .B fs_type The filesystem it should be formatted as +.TP +.B force +Force mke2fs to create a filesystem, even if the specified device is +not a partition on a block special device. This option is only enabled +for ext and xfs filesystems +.sp +This option is dangerous, use it with caution. +.sp +New in version 2016.11.0. + .UNINDENT .UNINDENT .INDENT 0.0 @@ -219665,6 +237598,254 @@ Set Read\-Write .UNINDENT .UNINDENT .UNINDENT +.SS salt.states.boto_apigateway module +.SS Manage Apigateway Rest APIs +.sp +New in version 2016.11.0. + +.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. +.sp +This module uses \fBboto3\fP, which can be installed via package, or pip. +.sp +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\&. +.sp +If IAM roles are not used you need to specify them either in a pillar file 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 +It\(aqs also possible to specify \fBkey\fP, \fBkeyid\fP and \fBregion\fP via a profile, +either passed in as a 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 +.INDENT 3.5 +.sp +.nf +.ft C +Ensure Apigateway API exists: + boto_apigateway.present: + \- name: myfunction + \- region: us\-east\-1 + \- keyid: GKTADJGHEIQSXMKKRBJ08H + \- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_apigateway.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_apigateway.absent(name, api_name, stage_name, nuke_api=False, region=None, key=None, keyid=None, profile=None) +Ensure the stage_name associated with the given api_name deployed by boto_apigateway\(aqs +present state is removed. If the currently associated deployment to the given stage_name has +no other stages associated with it, the deployment will also be removed. +.INDENT 7.0 +.TP +.B name +Name of the swagger file in YAML format +.TP +.B api_name +Name of the rest api on AWS ApiGateway to ensure is absent. +.TP +.B stage_name +Name of the stage to be removed irrespective of the swagger file content. +If the current deployment associated with the stage_name has no other stages associated +with it, the deployment will also be removed. +.TP +.B nuke_api +If True, removes the API itself only if there are no other stages associated with any other +deployments once the given stage_name is removed. +.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 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_apigateway.present(name, api_name, swagger_file, stage_name, api_key_required, lambda_integration_role, lambda_region=None, stage_variables=None, region=None, key=None, keyid=None, profile=None, lambda_funcname_format=\(aq{stage}_{api}_{resource}_{method}\(aq, authorization_type=\(aqNONE\(aq) +Ensure the spcified api_name with the corresponding swaggerfile is deployed to the +given stage_name in AWS ApiGateway. +.sp +this state currently only supports ApiGateway integration with AWS Lambda, and CORS support is +handled through a Mock integration. +.sp +There may be multiple deployments for the API object, each deployment is tagged with a description +(i.e. unique label) in pretty printed json format consisting of the following key/values. +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B { +"api_name": api_name, +"swagger_file": basename_of_swagger_file +"swagger_file_md5sum": md5sum_of_swagger_file, +"swagger_info_object": info_object_content_in_swagger_file +.UNINDENT +.sp +} +.UNINDENT +.UNINDENT +.sp +Please note that the name of the lambda function to be integrated will be derived +via the provided lambda_funcname_format parameters: +.INDENT 7.0 +.INDENT 3.5 +the default lambda_funcname_format is a string with the following substitutable keys: +"{stage}_{api}_{resource}_{method}". The user can choose to reorder the known keys. +.sp +the stage key corresponds to the stage_name passed in. +the api key corresponds to the api_name passed in. +the resource corresponds to the resource path defined in the passed swagger file. +the method corresponds to the method for a resource path defined in the passed swagger file. +.sp +for the default lambda_funcname_format, given the following +input: +.INDENT 0.0 +.INDENT 3.5 +api_name = \(aq Test Service\(aq +stage_name = \(aqalpha\(aq +basePath = \(aq/api\(aq +path = \(aq/a/{b}/c\(aq +method = \(aqPOST\(aq +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B we will end up with the following Lambda Function Name that will be looked up: +\(aqtest_service_alpha_a_b_c_post\(aq +.TP +.B The canconicalization of these input parameters is done in the following order: +.INDENT 7.0 +.IP 1. 3 +lambda_funcname_format is formatted with the input parameters as passed, +.IP 2. 3 +resulting string is stripped for leading/trailing spaces, +.IP 3. 3 +path paramter\(aqs curly braces are removed from the resource path, +.IP 4. 3 +consecutive spaces and forward slashes in the paths are replaced with \(aq_\(aq +.IP 5. 3 +consecutive \(aq_\(aq are replaced with \(aq_\(aq +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Please note that for error response handling, the swagger file must have an error response model +with the following schema. The lambda functions should throw exceptions for any non successful responses. +An optional pattern field can be specified in errorMessage field to aid the response mapping from Lambda +to the proper error return status codes. +.INDENT 7.0 +.INDENT 3.5 +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B name +The name of the state definition +.TP +.B api_name +The name of the rest api that we want to ensure exists in AWS API Gateway +.TP +.B swagger_file +Name of the location of the swagger rest api definition file in YAML format. +.TP +.B stage_name +Name of the stage we want to be associated with the given api_name and swagger_file +definition +.TP +.B api_key_required +True or False \- whether the API Key is required to call API methods +.TP +.B lambda_integration_role +The name or ARN of the IAM role that the AWS ApiGateway assumes when it +executes your lambda function to handle incoming requests +.TP +.B lambda_region +The region where we expect to find the lambda functions. This is used to +determine the region where we should look for the Lambda Function for +integration purposes. The region determination is based on the following +priority: +.INDENT 7.0 +.IP 1. 3 +lambda_region as passed in (is not None) +.UNINDENT +.sp +2) if lambda_region is None, use the region as if a boto_lambda function were +executed without explicitly specifying lambda region. +3) if region determined in (2) is different than the region used by +boto_apigateway functions, a final lookup will be attempted using the +boto_apigateway region. +.TP +.B stage_variables +A dict with variables and their values, or a pillar key (string) that +contains a dict with variables and their values. +key and values in the dict must be strings. {\(aqstring\(aq: \(aqstring\(aq} +.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 lambda_funcname_format +Please review the earlier example for the usage. The only substituable keys in the funcname +format are {stage}, {api}, {resource}, {method}. +Any other keys or positional subsitution parameters will be flagged as an invalid input. +.TP +.B authorization_type +This field can be either \(aqNONE\(aq, or \(aqAWS_IAM\(aq. This will be applied to all methods in the given +swagger spec file. Default is set to \(aqNONE\(aq +.UNINDENT +.UNINDENT .SS salt.states.boto_asg .SS Manage Autoscale Groups .sp @@ -219900,6 +238081,11 @@ Ensure myasg exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_asg.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_asg.absent(name, force=False, region=None, key=None, keyid=None, profile=None, remove_lc=False) Ensure the named autoscale group is deleted. .INDENT 7.0 @@ -219929,7 +238115,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_asg.present(name, launch_config_name, availability_zones, min_size, max_size, launch_config=None, 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, scaling_policies_from_pillar=\(aqboto_asg_scaling_policies\(aq, scheduled_actions=None, scheduled_actions_from_pillar=\(aqboto_asg_scheduled_actions\(aq, alarms=None, alarms_from_pillar=\(aqboto_asg_alarms\(aq, region=None, key=None, keyid=None, profile=None, notification_arn=None, notification_arn_from_pillar=\(aqboto_asg_notification_arn\(aq, notification_types=None, notification_types_from_pillar=\(aqboto_asg_notification_types\(aq) +.B salt.states.boto_asg.present(name, launch_config_name, availability_zones, min_size, max_size, launch_config=None, desired_capacity=None, load_balancers=None, default_cooldown=None, health_check_type=None, health_check_period=None, placement_group=None, vpc_zone_identifier=None, subnet_names=None, tags=None, termination_policies=None, termination_policies_from_pillar=\(aqboto_asg_termination_policies\(aq, suspended_processes=None, scaling_policies=None, scaling_policies_from_pillar=\(aqboto_asg_scaling_policies\(aq, scheduled_actions=None, scheduled_actions_from_pillar=\(aqboto_asg_scheduled_actions\(aq, alarms=None, alarms_from_pillar=\(aqboto_asg_alarms\(aq, region=None, key=None, keyid=None, profile=None, notification_arn=None, notification_arn_from_pillar=\(aqboto_asg_notification_arn\(aq, notification_types=None, notification_types_from_pillar=\(aqboto_asg_notification_types\(aq) Ensure the autoscale group exists. .INDENT 7.0 .TP @@ -219948,6 +238134,30 @@ of attributes, and the autoscale group will be set to use that launch config. The launch config name will be the \fBlaunch_config_name\fP followed by a hyphen followed by a hash of the \fBlaunch_config\fP dict contents. +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +my_asg: + boto_asg.present: + \- launch_config: + \- ebs_optimized: false + \- instance_profile_name: my_iam_profile + \- kernel_id: \(aq\(aq + \- ramdisk_id: \(aq\(aq + \- key_name: my_ssh_key + \- image_name: aws2015091\-hvm + \- instance_type: c3.xlarge + \- instance_monitoring: false + \- security_groups: + \- my_sec_group_01 + \- my_sec_group_02 +.ft P +.fi +.UNINDENT +.UNINDENT .TP .B availability_zones List of availability zones for the group. @@ -219984,6 +238194,10 @@ EC2. Once set this can not be updated (Amazon restriction). .B vpc_zone_identifier A list of the subnet identifiers of the Virtual Private Cloud. .TP +.B subnet_names +For VPC, a list of subnet names (NOT subnet IDs) to deploy into. +Exclusive with vpc_zone_identifier. +.TP .B tags A list of tags. Example: .INDENT 7.0 @@ -220016,6 +238230,10 @@ A list of termination policies. Valid values are: .sp If no value is specified, the \fBDefault\fP value is used. .TP +.B termination_policies_from_pillar: +name of pillar dict that contains termination policy settings. Termination policies +defined for this specific state will override those from pillar. +.TP .B suspended_processes List of processes to be suspended. see \fI\%http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html\fP @@ -220180,6 +238398,11 @@ stack\-absent: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_cfn.__virtual__() +Only load if elementtree xml library and boto are available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_cfn.absent(name, region=None, key=None, keyid=None, profile=None) Ensure cloud formation stack is absent. .sp @@ -220320,6 +238543,11 @@ Ensure trail exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_cloudtrail.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_cloudtrail.absent(name, Name, region=None, key=None, keyid=None, profile=None) Ensure trail with passed properties is absent. .INDENT 7.0 @@ -220346,7 +238574,7 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_cloudtrail.present(name, Name, S3BucketName, S3KeyPrefix=None, SnsTopicName=None, IncludeGlobalServiceEvents=True, EnableLogFileValidation=False, CloudWatchLogsLogGroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None, LoggingEnabled=True, Tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_cloudtrail.present(name, Name, S3BucketName, S3KeyPrefix=None, SnsTopicName=None, IncludeGlobalServiceEvents=True, IsMultiRegionTrail=None, EnableLogFileValidation=False, CloudWatchLogsLogGroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None, LoggingEnabled=True, Tags=None, region=None, key=None, keyid=None, profile=None) Ensure trail exists. .INDENT 7.0 .TP @@ -220487,6 +238715,11 @@ my test alarm: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_cloudwatch_alarm.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_cloudwatch_alarm.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the named cloudwatch alarm is deleted. .INDENT 7.0 @@ -220516,9 +238749,12 @@ Ensure the cloudwatch alarm exists. .TP .B name Name of the alarm +.UNINDENT +.INDENT 7.0 .TP -.B attributes -A dict of key/value cloudwatch alarm attributes. +.B A dict of key/value cloudwatch alarm attributes. +.UNINDENT +.INDENT 7.0 .TP .B region Region to connect to. @@ -220534,6 +238770,158 @@ A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid. .UNINDENT .UNINDENT +.SS salt.states.boto_cognitoidentity module +.SS Manage CognitoIdentity Functions +.sp +New in version 2016.11.0. + +.sp +Create and destroy CognitoIdentity identity pools. Be aware that this interacts with +Amazon\(aqs services, and so may incur charges. +.sp +This module uses \fBboto3\fP, which can be installed via package, or pip. +.sp +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\&. +.sp +If IAM roles are not used you need to specify them either in a pillar file 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 +It\(aqs also possible to specify \fBkey\fP, \fBkeyid\fP and \fBregion\fP via a profile, +either passed in as a 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 +.INDENT 3.5 +.sp +.nf +.ft C +Ensure function exists: + boto_cognitoidentity.pool_present: + \- PoolName: my_identity_pool + \- region: us\-east\-1 + \- keyid: GKTADJGHEIQSXMKKRBJ08H + \- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_cognitoidentity.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_cognitoidentity.pool_absent(name, IdentityPoolName, RemoveAllMatched=False, region=None, key=None, keyid=None, profile=None) +Ensure cognito identity pool with passed properties is absent. +.INDENT 7.0 +.TP +.B name +The name of the state definition. +.TP +.B IdentityPoolName +Name of the Cognito Identity Pool. Please note that this may +match multiple pools with the same given name, in which case, +all will be removed. +.TP +.B RemoveAllMatched +If True, all identity pools with the matching IdentityPoolName +will be removed. If False and there are more than one identity pool +with the matching IdentityPoolName, no action will be taken. If False +and there is only one identity pool with the matching IdentityPoolName, +the identity pool will be removed. +.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 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_cognitoidentity.pool_present(name, IdentityPoolName, AuthenticatedRole, AllowUnauthenticatedIdentities=False, UnauthenticatedRole=None, SupportedLoginProviders=None, DeveloperProviderName=None, OpenIdConnectProviderARNs=None, region=None, key=None, keyid=None, profile=None) +Ensure Cognito Identity Pool exists. +.INDENT 7.0 +.TP +.B name +The name of the state definition +.TP +.B IdentityPoolName +Name of the Cognito Identity Pool +.TP +.B AuthenticatedRole +An IAM role name or ARN that will be associated with temporary AWS +credentials for an authenticated cognito identity. +.TP +.B AllowUnauthenticatedIdentities +Whether to allow anonymous user identities +.TP +.B UnauthenticatedRole +An IAM role name or ARN that will be associated with anonymous +user identities +.TP +.B SupportedLoginProviders +A dictionary or pillar that contains key:value pairs mapping provider +names to provider app IDs. +.TP +.B DeveloperProviderName +A string which is the domain by which Cognito will refer to your users. +This name acts as a placeholder that allows your backend and the Cognito +service to communicate about the developer provider. Once you have set a +developer provider name, you cannot change it. Please take care in setting +this parameter. +.TP +.B OpenIdConnectProviderARNs +A list or pillar name that contains a list of OpenID Connect provider ARNs. +.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 +.UNINDENT .SS salt.states.boto_datapipeline module .sp Manage Data Pipelines @@ -220603,6 +238991,11 @@ Ensure daily data pipeline exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_datapipeline.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_datapipeline.absent(name, region=None, key=None, keyid=None, profile=None) Ensure a pipeline with the service_name does not exist .INDENT 7.0 @@ -220850,6 +239243,11 @@ Ensure DynamoDB table exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_dynamodb.__virtual__() +Only load if boto_dynamodb is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_dynamodb.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the DynamoDB table does not exist. .INDENT 7.0 @@ -220873,7 +239271,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_dynamodb.present(name=None, table_name=None, region=None, key=None, keyid=None, profile=None, read_capacity_units=None, write_capacity_units=None, alarms=None, alarms_from_pillar=\(aqboto_dynamodb_alarms\(aq, hash_key=None, hash_key_data_type=None, range_key=None, range_key_data_type=None, local_indexes=None, global_indexes=None) +.B salt.states.boto_dynamodb.present(name=None, table_name=None, region=None, key=None, keyid=None, profile=None, read_capacity_units=None, write_capacity_units=None, alarms=None, alarms_from_pillar=\(aqboto_dynamodb_alarms\(aq, hash_key=None, hash_key_data_type=None, range_key=None, range_key_data_type=None, local_indexes=None, global_indexes=None, backup_configs_from_pillars=\(aqboto_dynamodb_backup_configs\(aq) Ensure the DynamoDB table exists. Note: all properties of the table can only be set during table creation. Adding or changing indexes or key schema cannot be done after table creation @@ -220923,6 +239321,9 @@ The local indexes you would like to create .TP .B global_indexes The local indexes you would like to create +.TP +.B backup_configs_from_pillars +Pillars to use to configure DataPipeline backups .UNINDENT .UNINDENT .SS salt.states.boto_ec2 @@ -221003,6 +239404,11 @@ delete\-key\-pair: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_ec2.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_ec2.eni_absent(name, release_eip=False, region=None, key=None, keyid=None, profile=None) Ensure the EC2 ENI is absent. .sp @@ -221032,7 +239438,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_ec2.eni_present(name, subnet_id=None, subnet_name=None, private_ip_address=None, description=None, groups=None, source_dest_check=True, allocate_eip=False, arecords=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_ec2.eni_present(name, subnet_id=None, subnet_name=None, private_ip_address=None, description=None, groups=None, source_dest_check=True, allocate_eip=None, arecords=None, region=None, key=None, keyid=None, profile=None) Ensure the EC2 ENI exists. .sp New in version 2016.3.0. @@ -221064,9 +239470,11 @@ Boolean specifying whether source/destination checking is enabled on the ENI. .TP .B allocate_eip -True/False \- allocate and associate an EIP to the ENI +allocate and associate an EIP to the ENI. Could be \(aqstandard\(aq to +allocate Elastic IP to EC2 region or \(aqvpc\(aq to get it for a +particular VPC .sp -New in version 2016.3.0. +Changed in version 2016.11.0. .TP .B arecords @@ -221095,7 +239503,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_ec2.instance_absent(name, instance_name=None, instance_id=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_ec2.instance_absent(name, instance_name=None, instance_id=None, release_eip=False, region=None, key=None, keyid=None, profile=None, filters=None) Ensure an EC2 instance does not exist (is stopped and removed). .INDENT 7.0 .TP @@ -221108,6 +239516,9 @@ Ensure an EC2 instance does not exist (is stopped and removed). .B instance_id (string) \- The ID of the instance. .TP +.B release_eip +(bool) \- Release any associated EIPs during termination. +.TP .B region (string) \- Region to connect to. .TP @@ -221120,14 +239531,17 @@ Ensure an EC2 instance does not exist (is stopped and removed). .B profile (variable) \- A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid. +.TP +.B filters +(dict) \- A dict of additional filters to use in matching the instance to +delete. .UNINDENT .sp -New in version 2016.3.0. - +YAML example fragment: .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_ec2.instance_present(name, instance_name=None, instance_id=None, image_id=None, image_name=None, tags=None, key_name=None, security_groups=None, user_data=None, instance_type=None, placement=None, kernel_id=None, ramdisk_id=None, vpc_id=None, vpc_name=None, monitoring_enabled=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_interfaces=None, attributes=None, target_state=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_ec2.instance_present(name, instance_name=None, instance_id=None, image_id=None, image_name=None, tags=None, key_name=None, security_groups=None, user_data=None, instance_type=None, placement=None, kernel_id=None, ramdisk_id=None, vpc_id=None, vpc_name=None, monitoring_enabled=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_interfaces=None, network_interface_name=None, network_interface_id=None, attributes=None, target_state=None, public_ip=None, allocation_id=None, allocate_eip=False, region=None, key=None, keyid=None, profile=None) Ensure an EC2 instance is running with the given attributes and state. .INDENT 7.0 .TP @@ -221147,7 +239561,7 @@ match the instance_name attribute (generally the FQDN of the instance). (string) – The ID of the AMI image to run. .TP .B image_name -(string) – The name of the AMI image to run. NOT IMPLEMENTED. +(string) – The name of the AMI image to run. .TP .B tags (dict) \- Tags to apply to the instance. @@ -221265,12 +239679,34 @@ optimization isn’t available with all instance types. NetworkInterfaceCollection data structure containing the ENI specifications for the instance. .TP -.B attributes -(dict) \- Instance attributes and value to be applied to the instance. -Available options are: +.B network_interface_name .INDENT 7.0 .INDENT 3.5 -.INDENT 0.0 +(string) \- The name of Elastic Network Interface to attach +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.TP +.B network_interface_id +.INDENT 7.0 +.INDENT 3.5 +(string) \- The id of Elastic Network Interface to attach +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 7.0 +.TP +.B (dict) \- Instance attributes and value to be applied to the instance. +.UNINDENT +.INDENT 7.0 +.TP +.B Available options are +.INDENT 7.0 .IP \(bu 2 instanceType \- A valid instance type (m1.small) .IP \(bu 2 @@ -221295,7 +239731,7 @@ ebsOptimized \- Boolean (false) sriovNetSupport \- String \- ie: ‘simple’ .UNINDENT .UNINDENT -.UNINDENT +.INDENT 7.0 .TP .B target_state (string) \- The desired target state of the instance. Available options @@ -221310,6 +239746,23 @@ stopped .UNINDENT .UNINDENT .UNINDENT +.sp +Note that this option is currently UNIMPLEMENTED. +.TP +.B public_ip: +(string) \- The IP of a previously allocated EIP address, which will be +attached to the instance. EC2 Classic instances ONLY \- for VCP pass in +an allocation_id instead. +.TP +.B allocation_id: +(string) \- The ID of a previously allocated EIP address, which will be +attached to the instance. VPC instances ONLY \- for Classic pass in +a public_ip instead. +.TP +.B allocate_eip: +(bool) \- Allocate and attach an EIP on\-the\-fly for this instance. Note +you\(aqll want to releaase this address when terminating the instance, +either manually or via the \(aqrelease_eip\(aq flag to \(aqinstance_absent\(aq. .TP .B region (string) \- Region to connect to. @@ -221345,6 +239798,93 @@ Create a snapshot from the given instance .sp New in version 2016.3.0. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_ec2.volume_absent(name, volume_name=None, volume_id=None, instance_name=None, instance_id=None, device=None, region=None, key=None, keyid=None, profile=None) +Ensure the EC2 volume is detached and absent. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +State definition name. +.TP +.B volume_name +Name tag associated with the volume. For safety, if this matches more than +one volume, the state will refuse to apply. +.TP +.B volume_id +Resource ID of the volume. +.TP +.B instance_name +Only remove volume if it is attached to instance with this Name tag. +Exclusive with \(aqinstance_id\(aq. Requires \(aqdevice\(aq. +.TP +.B instance_id +Only remove volume if it is attached to this instance. +Exclusive with \(aqinstance_name\(aq. Requires \(aqdevice\(aq. +.TP +.B device +Match by device rather than ID. Requires one of \(aqinstance_name\(aq or +\(aqinstance_id\(aq. +.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 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_ec2.volumes_tagged(name, tag_maps, authoritative=False, region=None, key=None, keyid=None, profile=None) +Ensure EC2 volume(s) matching the given filters have the defined tags. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +State definition name. +.TP +.B tag_maps +List of dicts of filters and tags, where \(aqfilters\(aq is a dict suitable for passing +to the \(aqfilters\(aq argument of boto_ec2.get_all_volumes(), and \(aqtags\(aq is a dict of +tags to be set on volumes 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. +.UNINDENT +.sp +YAML example fragment: +.INDENT 7.0 +.TP +.B authoritative +Should un\-declared tags currently set on matched volumes be deleted? Boolean. +.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 .UNINDENT .SS salt.states.boto_elasticache .SS Manage Elasticache @@ -221440,6 +239980,11 @@ Ensure myelasticache exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_elasticache.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_elasticache.absent(name, wait=True, region=None, key=None, keyid=None, profile=None) Ensure the named elasticache cluster is deleted. .INDENT 7.0 @@ -221588,11 +240133,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_elasticache.subnet_group_absent(name, tags=None, region=None, key=None, keyid=None, profile=None) -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.boto_elasticache.subnet_group_present(name, subnet_ids, description, tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_elasticache.subnet_group_present(name, subnet_ids=None, subnet_names=None, description=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure ElastiCache subnet group exists. .sp New in version 2015.8.0. @@ -221603,7 +240144,10 @@ New in version 2015.8.0. The name for the ElastiCache subnet group. This value is stored as a lowercase string. .TP .B subnet_ids -A list of VPC subnet IDs for the cache subnet group. +A list of VPC subnet IDs for the cache subnet group. Exclusive with subnet_names. +.TP +.B subnet_names +A list of VPC subnet names for the cache subnet group. Exclusive with subnet_ids. .TP .B description Subnet group description. @@ -221625,6 +240169,213 @@ A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid. .UNINDENT .UNINDENT +.SS salt.states.boto_elasticsearch_domain module +.SS Manage Elasticsearch Domains +.sp +New in version 2016.11.0. + +.sp +Create and destroy Elasticsearch domains. Be aware that this interacts with Amazon\(aqs services, +and so may incur charges. +.sp +This module uses \fBboto3\fP, which can be installed via package, or pip. +.sp +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\&. +.sp +If IAM roles are not used you need to specify them either in a pillar file 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 +It\(aqs also possible to specify \fBkey\fP, \fBkeyid\fP and \fBregion\fP via a profile, +either passed in as a 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 +.INDENT 3.5 +.sp +.nf +.ft C +Ensure domain exists: + boto_elasticsearch_domain.present: + \- DomainName: mydomain + \- profile=\(aquser\-credentials\(aq + \- ElasticsearchClusterConfig: + InstanceType": "t2.micro.elasticsearch" + InstanceCount: 1 + DedicatedMasterEnabled: False + ZoneAwarenessEnabled: False + \- EBSOptions: + EBSEnabled: True + VolumeType: "gp2" + VolumeSize: 10 + Iops: 0 + \- AccessPolicies: + Version: "2012\-10\-17" + Statement: + \- Effect: "Allow" + \- Principal: + AWS: "*" + \- Action: + \- "es:*" + \- Resource: "arn:aws:es:*:111111111111:domain/mydomain/* + \- Condition: + IpAddress: + "aws:SourceIp": + \- "127.0.0.1", + \- "127.0.0.2", + \- SnapshotOptions: + AutomatedSnapshotStartHour: 0 + \- AdvancedOptions: + rest.action.multi.allow_explicit_index": "true" + \- Tags: + a: "b" + \- region: us\-east\-1 + \- keyid: GKTADJGHEIQSXMKKRBJ08H + \- key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_elasticsearch_domain.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_elasticsearch_domain.absent(name, DomainName, region=None, key=None, keyid=None, profile=None) +Ensure domain with passed properties is absent. +.INDENT 7.0 +.TP +.B name +The name of the state definition. +.TP +.B DomainName +Name of the domain. +.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 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_elasticsearch_domain.present(name, DomainName, ElasticsearchClusterConfig=None, EBSOptions=None, AccessPolicies=None, SnapshotOptions=None, AdvancedOptions=None, Tags=None, region=None, key=None, keyid=None, profile=None) +Ensure domain exists. +.INDENT 7.0 +.TP +.B name +The name of the state definition +.TP +.B DomainName +Name of the domain. +.TP +.B ElasticsearchClusterConfig +Configuration options for an Elasticsearch domain. Specifies the +instance type and number of instances in the domain cluster. +.sp +InstanceType (string) \-\- +The instance type for an Elasticsearch cluster. +.sp +InstanceCount (integer) \-\- +The number of instances in the specified domain cluster. +.sp +DedicatedMasterEnabled (boolean) \-\- +A boolean value to indicate whether a dedicated master node is enabled. +See About Dedicated Master Nodes for more information. +.sp +ZoneAwarenessEnabled (boolean) \-\- +A boolean value to indicate whether zone awareness is enabled. See About +Zone Awareness for more information. +.sp +DedicatedMasterType (string) \-\- +The instance type for a dedicated master node. +.sp +DedicatedMasterCount (integer) \-\- +Total number of dedicated master nodes, active and on standby, for the +cluster. +.TP +.B EBSOptions +Options to enable, disable and specify the type and size of EBS storage +volumes. +.sp +EBSEnabled (boolean) \-\- +Specifies whether EBS\-based storage is enabled. +.sp +VolumeType (string) \-\- +Specifies the volume type for EBS\-based storage. +.sp +VolumeSize (integer) \-\- +Integer to specify the size of an EBS volume. +.sp +Iops (integer) \-\- +Specifies the IOPD for a Provisioned IOPS EBS volume (SSD). +.TP +.B AccessPolicies +IAM access policy +.TP +.B SnapshotOptions +Option to set time, in UTC format, of the daily automated snapshot. +Default value is 0 hours. +.sp +AutomatedSnapshotStartHour (integer) \-\- +Specifies the time, in UTC format, when the service takes a daily +automated snapshot of the specified Elasticsearch domain. Default value +is 0 hours. +.TP +.B AdvancedOptions +Option to allow references to indices in an HTTP request body. Must be +false when configuring access to individual sub\-resources. By default, +the value is true . +.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 +.UNINDENT .SS salt.states.boto_elb .sp Manage ELBs @@ -221917,6 +240668,11 @@ Ensure myelb ELB exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_elb.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_elb.absent(name, region=None, key=None, keyid=None, profile=None) Ensure an ELB does not exist .INDENT 7.0 @@ -221927,7 +240683,7 @@ name of the ELB .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_elb.present(name, listeners, availability_zones=None, subnets=None, security_groups=None, scheme=\(aqinternet\-facing\(aq, health_check=None, attributes=None, attributes_from_pillar=\(aqboto_elb_attributes\(aq, cnames=None, alarms=None, alarms_from_pillar=\(aqboto_elb_alarms\(aq, policies=None, policies_from_pillar=\(aqboto_elb_policies\(aq, backends=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, tags=None) +.B salt.states.boto_elb.present(name, listeners, availability_zones=None, subnets=None, subnet_names=None, security_groups=None, scheme=\(aqinternet\-facing\(aq, health_check=None, attributes=None, attributes_from_pillar=\(aqboto_elb_attributes\(aq, cnames=None, alarms=None, alarms_from_pillar=\(aqboto_elb_alarms\(aq, policies=None, policies_from_pillar=\(aqboto_elb_policies\(aq, backends=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, tags=None, instance_ids=None, instance_names=None) Ensure the ELB exists. .INDENT 7.0 .TP @@ -221956,6 +240712,9 @@ A list of listener lists; example: .B subnets A list of subnet IDs in your VPC to attach to your LoadBalancer. .TP +.B subnet_names +A list of subnet names in your VPC to attach to your LoadBalancer. +.TP .B security_groups The security groups assigned to your LoadBalancer within your VPC. Must be passed either as a list or a comma\-separated string. @@ -221992,13 +240751,25 @@ set, can not be modified. .TP .B health_check A dict defining the health check for this ELB. +.UNINDENT +.INDENT 7.0 .TP -.B attributes -A dict defining the attributes to set on this ELB. -Unknown keys will be silently ignored. -.sp -See the \fBsalt.modules.boto_elb.set_attributes\fP function for -recognized attributes. +.B A dict defining the attributes to set on this ELB. +.UNINDENT +.INDENT 7.0 +.TP +.B Unknown keys will be silently ignored. +.UNINDENT +.INDENT 7.0 +.TP +.B See the +mod:\fIsalt.modules.boto_elb.set_attributes\fP function for +.UNINDENT +.INDENT 7.0 +.TP +.B recognized attributes. +.UNINDENT +.INDENT 7.0 .TP .B attributes_from_pillar name of pillar dict that contains attributes. Attributes defined for this specific @@ -222044,6 +240815,14 @@ Wait for an INSYNC change status from Route53. .TP .B tags dict of tags +.TP +.B instance_ids +list of instance ids. The state will ensure that these, and ONLY these, instances +are registered with the ELB. This is additive with instance_names. +.TP +.B instance_names +list of instance names. The state will ensure that these, and ONLY these, instances +are registered with the ELB. This is additive with instance_ids. .UNINDENT .UNINDENT .INDENT 0.0 @@ -222239,14 +241018,53 @@ create keys for user: .UNINDENT .UNINDENT .INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +create policy: + boto_iam.policy_present: + \- name: myname + \- policy_document: \(aq{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}\(aq + \- region: eu\-west\-1 + \- keyid: \(aqAKIAJHTMIQ2ASDFLASDF\(aq + \- key: \(aqfdkjsafkljsASSADFalkfjasdf\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +add\-saml\-provider: + boto_iam.saml_provider_present: + \- name: my_saml_provider + \- saml_metadata_document: salt://base/files/provider.xml + \- keyid: \(aqAKIAJHTMIQ2ASDFLASDF\(aq + \- key: \(aqsafsdfsal;fdkjsafkljsASSADFalkfj\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B salt.states.boto_iam.account_policy(allow_users_to_change_password=None, hard_expiry=None, max_password_age=None, minimum_password_length=None, password_reuse_prevention=None, require_lowercase_characters=None, require_numbers=None, require_symbols=None, require_uppercase_characters=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_iam.__virtual__() +Only load if elementtree xml library and boto are available. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iam.account_policy(name=None, allow_users_to_change_password=None, hard_expiry=None, max_password_age=None, minimum_password_length=None, password_reuse_prevention=None, require_lowercase_characters=None, require_numbers=None, require_symbols=None, require_uppercase_characters=None, region=None, key=None, keyid=None, profile=None) Change account policy. .sp New in version 2015.8.0. .INDENT 7.0 .TP +.B name (string) +The name of the account policy +.TP .B allow_users_to_change_password (bool) Allows all IAM users in your account to use the AWS Management Console to change their own passwords. @@ -222296,7 +241114,33 @@ A dict with region, key and keyid, or a pillar key (string) .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_iam.group_present(name, policies=None, policies_from_pillars=None, users=None, path=\(aq/\(aq, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_iam.group_absent(name, region=None, key=None, keyid=None, profile=None) +New in version 2015.8.0. + +.sp +Ensure the IAM group is absent. +.INDENT 7.0 +.TP +.B name (string) +The name of the group. +.TP +.B region (string) +Region to connect to. +.TP +.B key (string) +Secret key to be used. +.TP +.B keyid (string) +Access key to be used. +.TP +.B profile (dict) +A dict with region, key and keyid, or a pillar key (string) +that contains a dict with region, key and keyid. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iam.group_present(name, policies=None, policies_from_pillars=None, managed_policies=None, users=None, path=\(aq/\(aq, region=None, key=None, keyid=None, profile=None) New in version 2015.8.0. .sp @@ -222321,6 +241165,9 @@ policies defined in the policies argument. If keys conflict, the keys in the policies argument will override the keys defined in policies_from_pillars. .TP +.B manaaged_policies (list) +A list of policy names or ARNs that should be attached to this group. +.TP .B users (list) A list of users to be added to the group. .TP @@ -222369,12 +241216,14 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_iam.keys_present(name, number, save_dir, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_iam.keys_present(name, number, save_dir, region=None, key=None, keyid=None, profile=None, save_format=\(aq{2}\en{0}\en{3}\en{1}\en\(aq) +.INDENT 7.0 +.INDENT 3.5 New in version 2015.8.0. .sp Ensure the IAM access keys are present. -.INDENT 7.0 +.INDENT 0.0 .TP .B name (string) The name of the new user. @@ -222398,6 +241247,135 @@ Access key to be used. .B profile (dict) A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid. +.TP +.B save_format (dict) +Save format is repeated for each key. Default format is "{2} +.UNINDENT +.UNINDENT +.UNINDENT +.sp +{0} +{3} +{1} +", +.INDENT 7.0 +.INDENT 3.5 +where {0} and {1} are placeholders for new key_id and key respectively, +whereas {2} and {3} are "key_id\-{number}" and \(aqkey\-{number}\(aq strings kept for compatibility. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iam.policy_absent(name, region=None, key=None, keyid=None, profile=None) +New in version 2015.8.0. + +.sp +Ensure the IAM managed policy with the specified name is absent +.INDENT 7.0 +.TP +.B name (string) +The name of the new policy. +.TP +.B region (string) +Region to connect to. +.TP +.B key (string) +Secret key to be used. +.TP +.B keyid (string) +Access key to be used. +.TP +.B profile (dict) +A dict with region, key and keyid, or a pillar key (string) +that contains a dict with region, key and keyid. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iam.policy_present(name, policy_document, path=None, description=None, region=None, key=None, keyid=None, profile=None) +New in version 2015.8.0. + +.sp +Ensure the IAM managed policy is present +.INDENT 7.0 +.TP +.B name (string) +The name of the new policy. +.TP +.B policy_document (dict) +The document of the new policy +.TP +.B path (string) +The path in which the policy will be created. Default is \(aq/\(aq. +.TP +.B description (string) +Description +.TP +.B region (string) +Region to connect to. +.TP +.B key (string) +Secret key to be used. +.TP +.B keyid (string) +Access key to be used. +.TP +.B profile (dict) +A dict with region, key and keyid, or a pillar key (string) +that contains a dict with region, key and keyid. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iam.saml_provider_absent(name, region=None, key=None, keyid=None, profile=None) +Ensure the SAML provider with the specified name is absent. +.INDENT 7.0 +.TP +.B name (string) +The name of the SAML provider. +.TP +.B saml_metadata_document (string) +The xml document of the SAML provider. +.TP +.B region (string) +Region to connect to. +.TP +.B key (string) +Secret key to be used. +.TP +.B keyid (string) +Access key to be used. +.TP +.B profile (dict) +A dict with region, key and keyid, or a pillar key (string) +that contains a dict with region, key and keyid. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iam.saml_provider_present(name, saml_metadata_document, region=None, key=None, keyid=None, profile=None) +Ensure the SAML provider with the specified name is present. +.INDENT 7.0 +.TP +.B name (string) +The name of the SAML provider. +.TP +.B saml_metadata_document (string) +The xml document of the SAML provider. +.TP +.B region (string) +Region to connect to. +.TP +.B key (string) +Secret key to be used. +.TP +.B keyid (string) +Access key to be used. +.TP +.B profile (dict) +A dict with region, key and keyid, or a pillar key (string) +that contains a dict with region, key and keyid. .UNINDENT .UNINDENT .INDENT 0.0 @@ -222506,7 +241484,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_iam.user_present(name, policies=None, policies_from_pillars=None, password=None, path=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_iam.user_present(name, policies=None, policies_from_pillars=None, managed_policies=None, password=None, path=None, region=None, key=None, keyid=None, profile=None) New in version 2015.8.0. .sp @@ -222528,6 +241506,10 @@ policies defined in the policies argument. If keys conflict, the keys in the policies argument will override the keys defined in policies_from_pillars. .TP +.B managed_policies (list) +A list of managed policy names or ARNs that should be attached to this +user. +.TP .B password (string) The password for the new user. Must comply with account policy. .TP @@ -222658,6 +241640,11 @@ will be used as the default region. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_iam_role.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_iam_role.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the IAM role is deleted. .INDENT 7.0 @@ -222681,7 +241668,7 @@ that contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_iam_role.present(name, policy_document=None, path=None, policies=None, policies_from_pillars=None, create_instance_profile=True, region=None, key=None, keyid=None, profile=None, delete_policies=True) +.B salt.states.boto_iam_role.present(name, policy_document=None, path=None, policies=None, policies_from_pillars=None, managed_policies=None, create_instance_profile=True, region=None, key=None, keyid=None, profile=None, delete_policies=True) Ensure the IAM role exists. .INDENT 7.0 .TP @@ -222706,6 +241693,9 @@ policies defined in the policies argument. If keys conflict, the keys in the policies argument will override the keys defined in policies_from_pillars. .TP +.B managed_policies +A list of (AWS or Customer) managed policies to be attached to the role. +.TP .B create_instance_profile A boolean of whether or not to create an instance profile and associate it with this role. @@ -222816,6 +241806,11 @@ Ensure topic rule exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_iot.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_iot.policy_absent(name, policyName, region=None, key=None, keyid=None, profile=None) Ensure policy with passed properties is absent. .INDENT 7.0 @@ -222931,6 +241926,71 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_iot.thing_type_absent(name, thingTypeName, region=None, key=None, keyid=None, profile=None) +Ensure thing type with passed properties is absent. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +The name of the state definition. +.TP +.B thingTypeName +Name of the thing type. +.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 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_iot.thing_type_present(name, thingTypeName, thingTypeDescription, searchableAttributesList, region=None, key=None, keyid=None, profile=None) +Ensure thing type exists. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +The name of the state definition +.TP +.B thingTypeName +Name of the thing type +.TP +.B thingTypeDescription +Description of the thing type +.TP +.B searchableAttributesList +List of string attributes that are searchable for +the thing type +.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, keyid, or a pillar key (string) that +contains a dict with region, key, and keyid +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_iot.topic_rule_absent(name, ruleName, region=None, key=None, keyid=None, profile=None) Ensure topic rule with passed properties is absent. .INDENT 7.0 @@ -223070,6 +242130,11 @@ Ensure mykey key exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_kms.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_kms.key_present(name, policy, description=None, key_usage=None, grants=None, manage_grants=False, key_rotation=False, enabled=True, region=None, key=None, keyid=None, profile=None) Ensure the KMS key exists. KMS keys can not be deleted, so this function must be used to ensure the key is enabled or disabled. @@ -223188,6 +242253,11 @@ Ensure function exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_lambda.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_lambda.alias_absent(name, FunctionName, Name, region=None, key=None, keyid=None, profile=None) Ensure alias with passed properties is absent. .INDENT 7.0 @@ -223361,7 +242431,7 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_lambda.function_present(name, FunctionName, Runtime, Role, Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None, Description=\(aq\(aq, Timeout=3, MemorySize=128, Permissions=None, RoleRetries=5, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_lambda.function_present(name, FunctionName, Runtime, Role, Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None, Description=\(aq\(aq, Timeout=3, MemorySize=128, Permissions=None, RoleRetries=5, region=None, key=None, keyid=None, profile=None, VpcConfig=None) Ensure function exists. .INDENT 7.0 .TP @@ -223417,6 +242487,15 @@ the amount of CPU and memory allocated to your function. Your function use\-case CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB. +.TP +.B VpcConfig +If your Lambda function accesses resources in a VPC, you provide this +parameter identifying the list of security group IDs and subnet IDs. +These must belong to the same VPC. You must provide at least one +security group and one subnet ID. +.sp +New in version 2016.11.0. + .TP .B Permissions A list of permission definitions to be added to the function\(aqs policy @@ -223559,6 +242638,11 @@ Ensure mylc exists: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_lc.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_lc.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the named launch configuration is deleted. .INDENT 7.0 @@ -223622,6 +242706,7 @@ The RAM disk ID for the instance. A dict of block device mappings that contains a dict with volume_type, delete_on_termination, iops, size, encrypted, snapshot_id. +.INDENT 7.0 .TP .B volume_type Indicates what volume type to use. Valid values are standard, io1, gp2. @@ -223635,12 +242720,16 @@ not (false). For Provisioned IOPS (SSD) volumes only. The number of I/O operations per second (IOPS) to provision for the volume. .TP +.B size +Desired volume size (in GiB). +.TP .B encrypted Indicates whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot. +.UNINDENT .TP .B instance_monitoring Whether instances in group are launched with detailed monitoring. @@ -223732,6 +242821,7 @@ Ensure myrds RDS exists: boto_rds.present: \- name: myrds \- allocated_storage: 5 + \- storage_type: standard \- db_instance_class: db.t2.micro \- engine: MySQL \- master_username: myuser @@ -223750,18 +242840,37 @@ Ensure myrds RDS exists: .fi .UNINDENT .UNINDENT -.sp -\fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 -This state module uses \fBboto.rds2\fP, which requires a different tagging syntax than -some of the other boto states. The \fBtags\fP key and value set noted in the example -above is the required yaml notation that \fBrds2\fP depends upon to function properly. -For more information, please see \fI\%Issue #28715\fP\&. +.sp +.nf +.ft C +Ensure parameter group exists: + create\-parameter\-group: + boto_rds.parameter_present: + \- name: myparametergroup + \- db_parameter_group_family: mysql5.6 + \- description: "parameter group family" + \- parameters: + \- binlog_cache_size: 32768 + \- binlog_checksum: CRC32 + \- region: eu\-west\-1 +.ft P +.fi .UNINDENT .UNINDENT .INDENT 0.0 .TP +.B depends +boto3 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_rds.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_rds.absent(name, skip_final_snapshot=None, final_db_snapshot_identifier=None, tags=None, region=None, key=None, keyid=None, profile=None, wait_for_deletion=True, timeout=180) Ensure RDS instance is absent. .INDENT 7.0 @@ -223806,12 +242915,63 @@ The amount of time that can pass before raising an Exception. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_rds.present(name, allocated_storage, db_instance_class, engine, master_username, master_user_password, db_name=None, db_security_groups=None, vpc_security_group_ids=None, availability_zone=None, db_subnet_group_name=None, preferred_maintenance_window=None, db_parameter_group_name=None, backup_retention_period=None, preferred_backup_window=None, port=None, multi_az=None, engine_version=None, auto_minor_version_upgrade=None, license_model=None, iops=None, option_group_name=None, character_set_name=None, publicly_accessible=None, wait_status=None, tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_rds.parameter_present(name, db_parameter_group_family, description, parameters=None, apply_method=\(aqpending\-reboot\(aq, tags=None, region=None, key=None, keyid=None, profile=None) +Ensure DB parameter group exists and update parameters. +.INDENT 7.0 +.TP +.B name +The name for the parameter group. +.TP +.B db_parameter_group_family +The DB parameter group family name. A +DB parameter group can be associated with one and only one DB +parameter group family, and can be applied only to a DB instance +running a database engine and engine version compatible with that +DB parameter group family. +.TP +.B description +Parameter group description. +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +\fBDB parameters that need to be changed of type dictionary.\fP (\fIThe\fP) \-\- +.UNINDENT +.INDENT 7.0 +.TP +.B apply_method +The \fIapply\-immediate\fP method can be used only for dynamic +parameters; the \fIpending\-reboot\fP method can be used with MySQL +and Oracle DB instances for either dynamic or static +parameters. For Microsoft SQL Server DB instances, the +\fIpending\-reboot\fP method can be used only for static +parameters. +.TP +.B tags +A list of tags. +.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 +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_rds.present(name, allocated_storage, db_instance_class, engine, master_username, master_user_password, db_name=None, storage_type=None, db_security_groups=None, vpc_security_group_ids=None, availability_zone=None, db_subnet_group_name=None, preferred_maintenance_window=None, db_parameter_group_name=None, db_cluster_identifier=None, tde_credential_arn=None, tde_credential_password=None, storage_encrypted=None, kms_keyid=None, backup_retention_period=None, preferred_backup_window=None, port=None, multi_az=None, engine_version=None, auto_minor_version_upgrade=None, license_model=None, iops=None, option_group_name=None, character_set_name=None, publicly_accessible=None, wait_status=None, tags=None, copy_tags_to_snapshot=None, region=None, domain=None, key=None, keyid=None, monitoring_interval=None, monitoring_role_arn=None, domain_iam_role_name=None, promotion_tier=None, profile=None) Ensure RDS instance exists. .INDENT 7.0 .TP .B name -Name of the RDS instance. +Name of the RDS state definition. .TP .B allocated_storage The amount of storage (in gigabytes) to be initially allocated for the @@ -223822,10 +242982,10 @@ The compute and memory capacity of the Amazon RDS DB instance. .TP .B engine The name of the database engine to be used for this instance. Supported -engine types are: MySQL, oracle\-se1, oracle\-se, oracle\-ee, sqlserver\-ee, -sqlserver\-se, sqlserver\-ex, sqlserver\-web, and postgres. For more -information, please see the \fBengine\fP argument in the boto_rds -\fI\%create_dbinstance\fP documentation. +engine types are: MySQL, mariadb, oracle\-se1, oracle\-se, oracle\-ee, sqlserver\-ee, +sqlserver\-se, sqlserver\-ex, sqlserver\-web, postgres and aurora. For more +information, please see the \fBengine\fP argument in the Boto3 RDS +\fI\%create_db_instance\fP documentation. .TP .B master_username The name of master user for the client DB instance. @@ -223835,7 +242995,14 @@ The password for the master database user. Can be any printable ASCII character except "/", \(aq"\(aq, or "@". .TP .B db_name -The database name for the restored DB instance. +The meaning of this parameter differs according to the database engine you use. +See the Boto3 RDS documentation to determine the appropriate value for your configuration. +\fI\%https://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.create_db_instance\fP +.TP +.B storage_type +Specifies the storage type to be associated with the DB instance. +Options are standard, gp2 and io1. If you specify io1, you must also include +a value for the Iops parameter. .TP .B db_security_groups A list of DB security groups to associate with this DB instance. @@ -223854,6 +243021,27 @@ A DB subnet group to associate with this DB instance. The weekly time range (in UTC) during which system maintenance can occur. .TP +.B db_parameter_group_name +A DB parameter group to associate with this DB instance. +.TP +.B db_cluster_identifier +If the DB instance is a member of a DB cluster, contains the name of +the DB cluster that the DB instance is a member of. +.TP +.B tde_credential_arn +The ARN from the Key Store with which the instance is associated for +TDE encryption. +.TP +.B tde_credential_password +The password to use for TDE encryption if an encryption key is not used. +.TP +.B storage_encrypted +Specifies whether the DB instance is encrypted. +.TP +.B kms_keyid +If storage_encrypted is true, the KMS key identifier for the encrypted +DB instance. +.TP .B backup_retention_period The number of days for which automated backups are retained. .TP @@ -223904,14 +243092,39 @@ the state. Available states: available, modifying, backing\-up .B tags A list of tags. .TP +.B copy_tags_to_snapshot +Specifies whether tags are copied from the DB instance to snapshots of +the DB instance. +.TP .B region Region to connect to. .TP +.B domain +The identifier of the Active Directory Domain. +.TP .B key -Secret key to be used. +AWS secret key to be used. .TP .B keyid -Access key to be used. +AWS access key to be used. +.TP +.B monitoring_interval +The interval, in seconds, between points when Enhanced Monitoring +metrics are collected for the DB instance. +.TP +.B monitoring_role_arn +The ARN for the IAM role that permits RDS to send Enhanced Monitoring +metrics to CloudWatch Logs. +.TP +.B domain_iam_role_name +Specify the name of the IAM role to be used when making API calls to +the Directory Service. +.TP +.B promotion_tier +A value that specifies the order in which an Aurora Replica is +promoted to the primary instance after a failure of the existing +primary instance. For more information, see Fault Tolerance for an +Aurora DB Cluster . .TP .B profile A dict with region, key and keyid, or a pillar key (string) that @@ -223920,7 +243133,7 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_rds.replica_present(name, source, db_instance_class=None, availability_zone=None, port=None, auto_minor_version_upgrade=None, iops=None, option_group_name=None, publicly_accessible=None, tags=None, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_rds.replica_present(name, source, db_instance_class=None, availability_zone=None, port=None, auto_minor_version_upgrade=None, iops=None, option_group_name=None, publicly_accessible=None, tags=None, region=None, key=None, keyid=None, profile=None, db_parameter_group_name=None) Ensure RDS replica exists. .INDENT 7.0 .INDENT 3.5 @@ -223938,10 +243151,6 @@ Ensure myrds replica RDS exists: .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_rds.subnet_group_absent(name, tags=None, region=None, key=None, keyid=None, profile=None) -.UNINDENT -.INDENT 0.0 -.TP .B salt.states.boto_rds.subnet_group_present(name, description, subnet_ids=None, subnet_names=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure DB subnet group exists. .INDENT 7.0 @@ -224068,6 +243277,11 @@ myarecord: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_route53.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_route53.absent(name, zone, record_type, identifier=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False) Ensure the Route53 record is deleted. .INDENT 7.0 @@ -224110,6 +243324,83 @@ If using split_dns, specify if this is the private zone. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_route53.hosted_zone_absent(name, domain_name=None, region=None, key=None, keyid=None, profile=None) +Ensure the Route53 Hostes Zone described is absent +.INDENT 7.0 +.TP +.B name +The name of the state definition. +.TP +.B domain_name +The FQDN (including final period) of the zone you wish absent. If not +provided, the value of name will be used. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_route53.hosted_zone_present(name, domain_name=None, private_zone=False, comment=\(aq\(aq, vpc_id=None, vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, profile=None) +Ensure a hosted zone exists with the given attributes. Note that most +things cannot be modified once a zone is created \- it must be deleted and +re\-spun to update these attributes: +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +private_zone (AWS API limitation). +.IP \(bu 2 +.INDENT 2.0 +.TP +.B comment (the appropriate call exists in the AWS API and in boto3, but +has not, as of this writing, been added to boto2). +.UNINDENT +.IP \(bu 2 +vpc_id (same story \- we really need to rewrite this module with boto3) +.IP \(bu 2 +vpc_name (really just a pointer to vpc_id anyway). +.IP \(bu 2 +vpc_region (again, supported in boto3 but not boto2). +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B name +The name of the state definition. This will be used as the \(aqcaller_ref\(aq +param if/when creating the hosted zone. +.TP +.B domain_name +The name of the domain. This should be a fully\-specified domain, and +should terminate with a period. This is the name you have registered +with your DNS registrar. It is also the name you will delegate from your +registrar to the Amazon Route 53 delegation servers returned in response +to this request. Defaults to the value of name if not provided. +.TP +.B comment +Any comments you want to include about the hosted zone. +.TP +.B private_zone +Set True if creating a private hosted zone. +.TP +.B vpc_id +When creating a private hosted zone, either the VPC ID or VPC Name to +associate with is required. Exclusive with vpe_name. Ignored if passed +for a non\-private zone. +.TP +.B vpc_name +When creating a private hosted zone, either the VPC ID or VPC Name to +associate with is required. Exclusive with vpe_id. Ignored if passed +for a non\-private zone. +.TP +.B vpc_region +When creating a private hosted zone, the region of the associated VPC is +required. If not provided, an effort will be made to determine it from +vpc_id or vpc_name, if possible. If this fails, you\(aqll need to provide +an explicit value for this option. Ignored if passed for a non\-private +zone. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_route53.present(name, value, zone, record_type, ttl=None, identifier=None, region=None, key=None, keyid=None, profile=None, wait_for_sync=True, split_dns=False, private_zone=False) Ensure the Route53 record is present. .INDENT 7.0 @@ -224118,7 +243409,12 @@ Ensure the Route53 record is present. Name of the record. .TP .B value -Value of the record. +.INDENT 7.0 +.TP +.B Value of the record. As a special case, you can pass in: +private: to have the function autodetermine the private IP +public: to have the function autodetermine the public IP +.UNINDENT .TP .B zone The zone to create the record in. @@ -224307,7 +243603,12 @@ Ensure bucket exists: .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_s3_bucket.absent(name, Bucket, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_s3_bucket.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_s3_bucket.absent(name, Bucket, Force=False, region=None, key=None, keyid=None, profile=None) Ensure bucket with passed properties is absent. .INDENT 7.0 .TP @@ -224317,6 +243618,9 @@ The name of the state definition. .B Bucket Name of the bucket. .TP +.B Force +Empty the bucket first if necessary \- Boolean. +.TP .B region Region to connect to. .TP @@ -224510,6 +243814,11 @@ will be used as the default region. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_secgroup.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_secgroup.absent(name, vpc_id=None, vpc_name=None, region=None, key=None, keyid=None, profile=None) Ensure a security group with the specified name does not exist. .INDENT 7.0 @@ -224670,7 +243979,12 @@ mytopic: .UNINDENT .INDENT 0.0 .TP -.B salt.states.boto_sns.absent(name, region=None, key=None, keyid=None, profile=None) +.B salt.states.boto_sns.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_sns.absent(name, region=None, key=None, keyid=None, profile=None, unsubscribe=False) Ensure the named sns topic is deleted. .INDENT 7.0 .TP @@ -224689,6 +244003,13 @@ Access key to be used. .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 unsubscribe +If True, unsubscribe all subcriptions to the SNS topic before +deleting the SNS topic +.sp +New in version 2016.11.0. + .UNINDENT .UNINDENT .INDENT 0.0 @@ -224810,6 +244131,11 @@ myqueue: .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_sqs.__virtual__() +Only load if boto is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_sqs.absent(name, region=None, key=None, keyid=None, profile=None) Ensure the named sqs queue is deleted. .INDENT 7.0 @@ -224839,9 +244165,12 @@ Ensure the SQS queue exists. .TP .B name Name of the SQS queue. +.UNINDENT +.INDENT 7.0 .TP -.B attributes -A dict of key/value SQS attributes. +.B A dict of key/value SQS attributes. +.UNINDENT +.INDENT 7.0 .TP .B region Region to connect to. @@ -224966,6 +244295,87 @@ Ensure route table exists: .fi .UNINDENT .UNINDENT +.sp +New in version 2016.11.0. + +.sp +Request, accept and delete VPC peering connections. +VPC peering connections can be named allowing the name +to be used throughout the state file. Following +example shows how to request and accept a VPC +peering connection. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +accept the vpc peering connection: + boto_vpc.accept_vpc_peering_connection: + \- conn_name: salt_vpc_peering + \- region: us\-west\-2 + \- require: + \- boto_vpc: request a vpc peering connection + +request a vpc peering connection: + boto_vpc.request_vpc_peering_connection: + \- requester_vpc_id: vpc\-4a3d522e + \- peer_vpc_id: vpc\-ae81e9ca + \- region: us\-west\-2 + \- conn_name: salt_vpc_peering +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +VPC peering connections need not be named. In this case +the VPC peering connection ID should be used in the state +file. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +accept the vpc peering connection: + boto_vpc.accept_vpc_peering_connection: + \- conn_id: pcx\-1873c371 + \- region: us\-west\-2 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +VPC peering connections can be deleted, as shown below. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +delete a named vpc peering connection: + boto_vpc.delete_vpc_peering_connection: + \- conn_name: salt_vpc_peering +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Delete also accepts a VPC peering connection id. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +delete a vpc peering connection by id: + boto_vpc.delete_vpc_peering_connection: + \- conn_id: pcx\-1873c371 +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_vpc.__virtual__() +Only load if boto is available. +.UNINDENT .INDENT 0.0 .TP .B salt.states.boto_vpc.absent(name, tags=None, region=None, key=None, keyid=None, profile=None) @@ -224994,6 +244404,118 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_vpc.accept_vpc_peering_connection(name=None, conn_id=None, conn_name=None, region=None, key=None, keyid=None, profile=None) +Accept a VPC pending requested peering connection between two VPCs. +.INDENT 7.0 +.TP +.B name +Name of this state +.TP +.B conn_id +The connection ID to accept. Exclusive with conn_name. String type. +.TP +.B conn_name +The name of the VPC peering connection to accept. Exclusive with conn_id. String type. +.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 +New in version 2016.11.0. + +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +boto_vpc.accept_vpc_peering_connection: + \- conn_name: salt_peering_connection + +# usage with vpc peering connection id and region +boto_vpc.accept_vpc_peering_connection: + \- conn_id: pbx\-1873d472 + \- region: us\-west\-2 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_vpc.delete_vpc_peering_connection(name, conn_id=None, conn_name=None, region=None, key=None, keyid=None, profile=None) +.INDENT 7.0 +.TP +.B name +Name of the state +.TP +.B conn_id +ID of the peering connection to delete. Exlusive with conn_name. +.TP +.B conn_name +The name of the peering connection to delete. Exlusive 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 +New in version 2016.11.0. + +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +delete a vpc peering connection: + boto_vpc.delete_vpc_peering_connection: + \- region: us\-west\-2 + \- conn_id: pcx\-4613b12e +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Connection name can be specified (instead of ID). +Specifying both conn_name and conn_id will result in an +error. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +delete a vpc peering connection: + boto_vpc.delete_vpc_peering_connection: + \- conn_name: salt_vpc_peering +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_vpc.dhcp_options_absent(name=None, dhcp_options_id=None, region=None, key=None, keyid=None, profile=None) Ensure a set of DHCP options with the given settings exist. .INDENT 7.0 @@ -225158,6 +244680,96 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_vpc.nat_gateway_absent(name=None, subnet_name=None, subnet_id=None, region=None, key=None, keyid=None, profile=None, wait_for_delete_retries=0) +Ensure the nat gateway in the named subnet is absent. +.sp +This function requires boto3. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +Name of the state. +.TP +.B subnet_name +Name of the subnet within which the nat gateway should exist +.TP +.B subnet_id +Id of the subnet within which the nat gateway should exist. +Either subnet_name or subnet_id must be provided. +.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_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. +Default is set to 0 for backward compatibility. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_vpc.nat_gateway_present(name, subnet_name=None, subnet_id=None, region=None, key=None, keyid=None, profile=None) +Ensure a nat gateway exists within the specified subnet +.sp +This function requires boto3. +.sp +New in version 2016.11.0. + +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +boto_vpc.nat_gateway_present: + \- subnet_name: my\-subnet +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B name +Name of the state +.TP +.B subnet_name +Name of the subnet within which the nat gateway should exist +.TP +.B subnet_id +Id of the subnet within which the nat gateway should exist. +Either subnet_name or subnet_id must be provided. +.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 +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_vpc.present(name, cidr_block, instance_tenancy=None, dns_support=None, dns_hostnames=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure VPC exists. .INDENT 7.0 @@ -225198,6 +244810,65 @@ contains a dict with region, key and keyid. .UNINDENT .INDENT 0.0 .TP +.B salt.states.boto_vpc.request_vpc_peering_connection(name, requester_vpc_id=None, requester_vpc_name=None, peer_vpc_id=None, peer_vpc_name=None, conn_name=None, peer_owner_id=None, region=None, key=None, keyid=None, profile=None) +.INDENT 7.0 +.TP +.B name +Name of the state +.TP +.B requester_vpc_id +ID of the requesting VPC. Exclusive with requester_vpc_name. String type. +.TP +.B requester_vpc_name +Name tag of the requesting VPC. Exclusive with requester_vpc_id. String type. +.TP +.B peer_vpc_id +ID of the VPC tp crete VPC peering connection with. This can be a VPC in another account. Exclusive with peer_vpc_name. String type. +.TP +.B peer_vpc_name +Name tag of the VPC tp crete VPC peering connection with. This can only be a VPC the same account. Exclusive with peer_vpc_id. String type. +.TP +.B conn_name +The (optional) name to use for this VPC peering connection. String type. +.TP +.B peer_owner_id +ID of the owner of the peer VPC. String type. If this isn\(aqt supplied AWS uses your account ID. Required if peering to 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. +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +request a vpc peering connection: + boto_vpc.request_vpc_peering_connection: + \- requester_vpc_id: vpc\-4b3522e + \- peer_vpc_id: vpc\-ae83f9ca + \- conn_name: salt_peering_connection +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.boto_vpc.route_table_absent(name, region=None, key=None, keyid=None, profile=None) Ensure the named route table is absent. .INDENT 7.0 @@ -225224,6 +244895,8 @@ contains a dict with region, key and keyid. .B salt.states.boto_vpc.route_table_present(name, vpc_name=None, vpc_id=None, routes=None, subnet_ids=None, subnet_names=None, tags=None, region=None, key=None, keyid=None, profile=None) Ensure route table with routes exists and is associated to a VPC. .sp +This function requires boto3 to be installed if nat gatewyas are specified. +.sp Example: .INDENT 7.0 .INDENT 3.5 @@ -225312,7 +244985,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) +.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) Ensure a subnet exists. .INDENT 7.0 .TP @@ -225336,6 +245009,20 @@ AZ in which the subnet should be placed. .TP .B tags A list of tags. +.TP +.B route_table_id +A route table ID to explicitly associate the subnet with. If both route_table_id +and route_table_name are specified, route_table_id will take precedence. +.sp +New in version 2016.11.0. + +.TP +.B route_table_name +A route table name to explicitly associate the subnet with. If both route_table_id +and route_table_name are specified, route_table_id will take precedence. +.sp +New in version 2016.11.0. + .TP .B region Region to connect to. @@ -225351,6 +245038,70 @@ A dict with region, key and keyid, or a pillar key (string) that contains a dict with region, key and keyid. .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.boto_vpc.vpc_peering_connection_present(name, requester_vpc_id=None, requester_vpc_name=None, peer_vpc_id=None, peer_vpc_name=None, conn_name=None, peer_owner_id=None, region=None, key=None, keyid=None, profile=None) +.INDENT 7.0 +.TP +.B name +Name of the state +.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 tp crete 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 tp crete VPC peering connection with. This can only +be a VPC in the same account, else resolving it into a vpc ID will fail. +Exclusive with peer_vpc_id. +.TP +.B conn_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. +.UNINDENT +.sp +New in version 2016.11.0. + +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +ensure peering twixt local vpc and the other guys: + boto_vpc.vpc_peering_connection_present: + \- requester_vpc_name: my_local_vpc + \- peer_vpc_name: some_other_guys_vpc + \- conn_name: peering_from_here_to_there + \- peer_owner_id: 012345654321 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.bower .SS Installation of Bower Packages .sp @@ -225387,6 +245138,11 @@ underscore: .UNINDENT .INDENT 0.0 .TP +.B salt.states.bower.__virtual__() +Only load if the bower module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.bower.bootstrap(name, user=None) Bootstraps a frontend distribution. .sp @@ -225496,6 +245252,11 @@ require: .UNINDENT .INDENT 0.0 .TP +.B salt.states.cabal.__virtual__() +Only work when cabal\-install is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.cabal.installed(name, pkgs=None, user=None, install_global=False, env=None) Verify that the given package is installed and is at the correct version (if specified). @@ -225559,6 +245320,11 @@ my\-solo\-run: .UNINDENT .INDENT 0.0 .TP +.B salt.states.chef.__virtual__() +Only load if Chef execution module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.chef.client(name, **kwargs) .INDENT 7.0 .TP @@ -225669,6 +245435,11 @@ Manage Chocolatey package installs .. versionadded:: 2016.3.0 .INDENT 0.0 .TP +.B salt.states.chocolatey.__virtual__() +Load only if chocolatey is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.chocolatey.install(*args, **kwargs) Deprecated, please use \(aqinstalled\(aq. This function will be removed in Salt Nitrogen. @@ -225813,6 +245584,11 @@ my\-ec2\-instance: .UNINDENT .INDENT 0.0 .TP +.B salt.states.cloud.__virtual__() +Only load if the cloud module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.cloud.absent(name, onlyif=None, unless=None) Ensure that no instances with the specified names exist. .sp @@ -225833,7 +245609,7 @@ Do not run the state at least unless succeed .UNINDENT .INDENT 0.0 .TP -.B salt.states.cloud.present(name, cloud_provider, onlyif=None, unless=None, **kwargs) +.B salt.states.cloud.present(name, cloud_provider, onlyif=None, unless=None, opts=None, **kwargs) Spin up a single instance on a cloud provider, using salt\-cloud. This state does not take a profile argument; rather, it takes the arguments that would normally be configured as part of the state. @@ -225856,11 +245632,14 @@ Do run the state only if is unless succeed .TP .B unless Do not run the state at least unless succeed +.TP +.B opts +Any extra opts that need to be used .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.cloud.profile(name, profile, onlyif=None, unless=None, **kwargs) +.B salt.states.cloud.profile(name, profile, onlyif=None, unless=None, opts=None, **kwargs) Create a single instance on a cloud provider, using a salt\-cloud profile. .sp Note that while profiles used this function do take any configuration @@ -225884,6 +245663,9 @@ Do not run the state at least unless succeed .TP .B kwargs Any profile override or addition +.TP +.B opts +Any extra opts that need to be used .UNINDENT .UNINDENT .INDENT 0.0 @@ -225944,7 +245726,7 @@ no disk space: .UNINDENT .sp Only run if the file specified by \fBcreates\fP does not exist, in this case -touch /tmp/foo if it does not exist. +touch /tmp/foo if it does not exist: .INDENT 0.0 .INDENT 3.5 .sp @@ -225958,6 +245740,22 @@ touch /tmp/foo: .UNINDENT .UNINDENT .sp +\fBcreates\fP also accepts a list of files: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +echo \(aqfoo\(aq | tee /tmp/bar > /tmp/baz: + cmd.run: + \- creates: + \- /tmp/bar + \- /tmp/baz +.ft P +.fi +.UNINDENT +.UNINDENT +.sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 @@ -226162,8 +245960,8 @@ mycustompkg: .UNINDENT .SS How do I create an environment from a pillar map? .sp -The map that comes from a pillar cannot be directly consumed by the env option. -To use it one must convert it to a list. Example: +The map that comes from a pillar can be directly consumed by the env option! +To use it, one may pass it like this. Example: .INDENT 0.0 .INDENT 3.5 .sp @@ -226171,10 +245969,7 @@ To use it one must convert it to a list. Example: .ft C printenv: cmd.run: - \- env: - {% for key, value in pillar[\(aqkeys\(aq].iteritems() %} - \- \(aq{{ key }}\(aq: \(aq{{ value }}\(aq - {% endfor %} + \- env: {{ salt[\(aqpillar.get\(aq](\(aqexample:key\(aq, {}) }} .ft P .fi .UNINDENT @@ -226352,7 +246147,7 @@ New in version 2015.8.0. .TP .B creates -Only run if the file specified by \fBcreates\fP does not exist. +Only run if the file or files specified by \fBcreates\fP do not exist. .sp New in version 2014.7.0. @@ -226504,15 +246299,25 @@ a state. For more information, see the \fI\%Using the "Stateful" Argument\fP sec .B timeout If the command has not terminated after timeout seconds, send the subprocess sigterm, and if sigterm is ignored, follow up with sigkill +.UNINDENT +.INDENT 7.0 .TP -.B args -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" +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBof command line args to pass to the script. Only used if no\fP (\fIString\fP) \-\- +.IP \(bu 2 +\fBare specified as part of the name argument. To pass a string\fP (\fIargs\fP) \-\- +.IP \(bu 2 +\fBspaces in YAML, you will need to doubly\-quote it\fP (\fIcontaining\fP) \-\- "arg1 +.IP \(bu 2 +\fBtwo\(aq arg3"\fP (\fI\(aqarg\fP) \-\- +.UNINDENT +.UNINDENT +.INDENT 7.0 .TP .B creates -Only run if the file specified by \fBcreates\fP does not exist. +Only run if the file or files specified by \fBcreates\fP do not exist. .sp New in version 2014.7.0. @@ -226644,7 +246449,7 @@ The command being executed is expected to return data about executing a state. For more information, see the \fI\%Using the "Stateful" Argument\fP section. .TP .B creates -Only run if the file specified by \fBcreates\fP does not exist. +Only run if the file or files specified by \fBcreates\fP do not exist. .sp New in version 2014.7.0. @@ -226662,10 +246467,6 @@ This is experimental. .UNINDENT .INDENT 0.0 .TP -.B salt.states.cmd.wait_call(name, func, args=(), kws=None, onlyif=None, unless=None, creates=None, stateful=False, use_vt=False, output_loglevel=\(aqdebug\(aq, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP .B salt.states.cmd.wait_script(name, source=None, template=None, onlyif=None, unless=None, cwd=None, runas=None, shell=None, env=None, stateful=False, umask=None, use_vt=False, output_loglevel=\(aqdebug\(aq, **kwargs) Download a script from a remote source and execute it only if a watch statement calls it. @@ -226833,6 +246634,11 @@ install\-composer: .UNINDENT .INDENT 0.0 .TP +.B salt.states.composer.__virtual__() +Only load if the composer module is available in __salt__ +.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=\(aq/root\(aq, always_check=True) Verify that the correct versions of composer dependencies are present. .INDENT 7.0 @@ -227108,7 +246914,7 @@ Added the opportunity to set a job with a special keyword like \fI\%\(aq@reboot\ /path/to/cron/script: cron.present: \- user: root - \- special: @hourly + \- special: \(aq@hourly\(aq .ft P .fi .UNINDENT @@ -227123,7 +246929,7 @@ The script will be executed every reboot if cron daemon support this option. /path/to/cron/otherscript: cron.absent: \- user: root - \- special: @daily + \- special: \(aq@daily\(aq .ft P .fi .UNINDENT @@ -227188,7 +246994,7 @@ The value to set for the given environment variable .UNINDENT .INDENT 0.0 .TP -.B salt.states.cron.file(name, source_hash=\(aq\(aq, user=\(aqroot\(aq, template=None, context=None, replace=True, defaults=None, env=None, backup=\(aq\(aq, **kwargs) +.B salt.states.cron.file(name, source_hash=\(aq\(aq, user=\(aqroot\(aq, template=None, context=None, replace=True, defaults=None, backup=\(aq\(aq, **kwargs) Provides file.managed\-like functionality (templating, etc.) for a pre\-made crontab file, to be assigned to a given user. .INDENT 7.0 @@ -227346,6 +247152,11 @@ Return a set of the keys with unchanged values. .UNINDENT .INDENT 0.0 .TP +.B salt.states.cyg.__virtual__() +Only load if cyg module is available in __salt__. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.cyg.installed(name, cyg_arch=\(aqx86_64\(aq, mirrors=None) Make sure that a package is installed. .INDENT 7.0 @@ -227488,7 +247299,6 @@ webserver: \- ttl: 60 \- data: 111.222.333.444 \- nameserver: 123.234.345.456 - \- timeout: 5 \- keyfile: /srv/salt/dnspy_tsig_key.txt .ft P .fi @@ -227606,6 +247416,11 @@ dict must be indented four spaces instead of two. .UNINDENT .INDENT 0.0 .TP +.B salt.states.debconfmod.__virtual__() +Confirm this module is on a Debian based system +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.debconfmod.set(name, data, **kwargs) Set debconf selections .INDENT 7.0 @@ -228131,20 +247946,45 @@ clear_cache: .fi .UNINDENT .UNINDENT +.sp +To use kilobytes (KB) for \fBminimum\fP and \fBmaximum\fP rather than percents, +specify the \fBabsolute\fP flag: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +used_space: + disk.status: + \- name: /dev/xda1 + \- minimum: 1024 KB + \- maximum: 1048576 KB + \- absolute: True +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP -.B salt.states.disk.status(name, maximum=None, minimum=None) +.B salt.states.disk.status(name, maximum=None, minimum=None, absolute=False) Return the current disk usage stats for the named mount point .INDENT 7.0 .TP .B name -Filesystem with which to check used space -.TP -.B minimum -The required minimum amount of used space in percent +Disk mount with which to check used space .TP .B maximum -The required maximum amount of used space in percent +The maximum disk utilization +.TP +.B minimum +The minimum disk utilization +.TP +.B absolute +By default, the utilization is measured in percentage. Set +the \fIabsolute\fP flag to use kilobytes. +.sp +New in version 2016.11.0. + .UNINDENT .UNINDENT .SS salt.states.dockerio @@ -228343,6 +248183,11 @@ the name \(aqdocker\(aq would conflict with the underlying docker\-py library. .UNINDENT .INDENT 0.0 .TP +.B salt.states.dockerio.__virtual__() +Only load if the dockerio execution module is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.dockerio.absent(name) Ensure that the container is absent; if not, it will will be killed and destroyed. (\fIdocker inspect\fP) @@ -228472,10 +248317,6 @@ Load even if the image exists .UNINDENT .INDENT 0.0 .TP -.B salt.states.dockerio.mod_watch(name, sfun=None, *args, **kw) -.UNINDENT -.INDENT 0.0 -.TP .B salt.states.dockerio.present(name, image=None, tag=\(aqlatest\(aq, is_latest=False) If a container with the given name is not present, this state will fail. Supports optionally checking for specific image/tag @@ -228900,6 +248741,11 @@ configure access to docker registries in Pillar data. .UNINDENT .INDENT 0.0 .TP +.B salt.states.dockerng.__virtual__() +Only load if the dockerng execution module is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.dockerng.absent(name, force=False) Ensure that a container is absent .INDENT 7.0 @@ -229013,7 +248859,7 @@ For more granular control, setting a pillar variable named .UNINDENT .INDENT 0.0 .TP -.B salt.states.dockerng.image_present(name, build=None, load=None, force=False, insecure_registry=False, client_timeout=60, **kwargs) +.B salt.states.dockerng.image_present(name, build=None, load=None, force=False, insecure_registry=False, client_timeout=60, dockerfile=None, **kwargs) Ensure that an image is present. The image can either be pulled from a Docker registry, built from a Dockerfile, or loaded from a saved image. Image names can be specified either using \fBrepo:tag\fP notation, or just @@ -229049,6 +248895,14 @@ Path to directory on the Minion containing a Dockerfile myuser/myimage:mytag: dockerng.image_present: \- build: /home/myuser/docker/myimage + + +myuser/myimage:mytag: + dockerng.image_present: + \- build: /home/myuser/docker/myimage + \- dockerfile: Dockerfile.alternative + +\&.. versionadded:: develop .ft P .fi .UNINDENT @@ -229081,11 +248935,14 @@ image even if it is already present. .B client_timeout Timeout in seconds for the Docker client. This is not a timeout for the state, but for receiving a response from the API. -.UNINDENT -.UNINDENT -.INDENT 0.0 .TP -.B salt.states.dockerng.mod_watch(name, sfun=None, **kwargs) +.B dockerfile +Allows for an alternative Dockerfile to be specified. Path to alternative +Dockefile is relative to the build path for the Docker container. +.sp +New in version develop. + +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -229814,6 +249671,31 @@ has not been the default for some time. .UNINDENT .UNINDENT .TP +.B security_opt: +Security configuration for MLS systems such as SELinux and AppArmor. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + dockerng.running: + \- image: bar/baz:latest + \- security_opts: + \- \(aqapparmor:unconfined\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +See the documentation for security_opt at +\fI\%https://docs.docker.com/engine/reference/run/#security\-configuration\fP +.UNINDENT +.UNINDENT +.TP .B publish_all_ports False Allocates a random host port for each port exposed using the \fBports\fP @@ -230244,6 +250126,34 @@ for data\-only containers, or for non\-daemonized container processes, such as the django \fBmigrate\fP and \fBcollectstatic\fP commands. In instances such as this, the container only needs to be started the first time. +.TP +.B stop_signal +Specify the signal docker will send to the container when stopping. +Useful when running systemd as PID 1 inside the container. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + dockerng.running: + \- image: bar/baz:latest + \- stop_signal: SIGRTMIN+3 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option requires Docker 1.9.0 or newer and +docker\-py 1.7.0 or newer. +.UNINDENT +.UNINDENT +.sp +New in version carbon. + .UNINDENT .UNINDENT .INDENT 0.0 @@ -230485,6 +250395,11 @@ my_network: .UNINDENT .INDENT 0.0 .TP +.B salt.states.drac.__virtual__() +Ensure the racadm command is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.drac.absent(name) Ensure a user does not exist on the Dell DRAC .INDENT 7.0 @@ -230552,6 +250467,11 @@ Support for getting and setting the environment variables of the current salt process. .INDENT 0.0 .TP +.B salt.states.environ.__virtual__() +No dependency checks, and not renaming, just return True +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.environ.setenv(name, value, false_unsets=False, clear_all=False, update_minion=False, permanent=False) Set the salt process environment variables. .INDENT 7.0 @@ -230635,6 +250555,11 @@ profile: .UNINDENT .INDENT 0.0 .TP +.B salt.states.eselect.__virtual__() +Only load if the eselect module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .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 @@ -230798,6 +250723,11 @@ Performs the same functionality as \fBrm\fP but only if a watch requisite is \fB .UNINDENT .INDENT 0.0 .TP +.B salt.states.etcd_mod.__virtual__() +Only return if python\-etcd is installed +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.etcd_mod.mod_watch(name, **kwargs) Execute a etcd function based on a watch call requisite. .UNINDENT @@ -231709,6 +251639,28 @@ django\-project: .fi .UNINDENT .UNINDENT +.sp +Retention scheduling can be applied to manage contents of backup directories. +For example: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/var/backups/example_directory: + file.retention_schedule: + \- strptime_format: example_name_%Y%m%dT%H%M%S.tar.bz2 + \- retain: + most_recent: 5 + first_of_hour: 4 + first_of_day: 14 + first_of_week: 6 + first_of_month: 6 + first_of_year: all +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.states.file.absent(name) @@ -232484,7 +252436,7 @@ write_base64_encoded_string_to_a_file: .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.directory(name, user=None, group=None, recurse=None, dir_mode=None, file_mode=None, makedirs=False, clean=False, require=None, exclude_pat=None, follow_symlinks=False, force=False, backupname=None, allow_symlink=True, **kwargs) +.B salt.states.file.directory(name, user=None, group=None, recurse=None, max_depth=None, dir_mode=None, file_mode=None, makedirs=False, clean=False, require=None, exclude_pat=None, follow_symlinks=False, force=False, backupname=None, allow_symlink=True, children_only=False, **kwargs) Ensure that a named directory is present and has the right perms .INDENT 7.0 .TP @@ -232550,6 +252502,13 @@ Leave files or directories unchanged: .sp New in version 2015.5.0. +.TP +.B max_depth +Limit the recursion depth. The default is no limit=None. +\(aqmax_depth\(aq and \(aqclean\(aq are mutually exclusive. +.sp +New in version 2016.11.0. + .TP .B dir_mode / mode The permissions mode to set any directories created. Not supported on @@ -232569,6 +252528,7 @@ file. Make sure that only files that are set up by salt and required by this function are kept. If this option is set then everything in this directory will be deleted unless it is required. +\(aqclean\(aq and \(aqmax_depth\(aq are mutually exclusive. .TP .B require Require other resources such as packages or files @@ -232615,6 +252575,12 @@ argument. .sp New in version 2014.7.0. +.TP +.B children_only +False +If children_only is True the base of a path is excluded when performing +a recursive operation. In case of /path/to/base, base will be ignored +while all of /path/to/base/* are still operated on. .UNINDENT .UNINDENT .INDENT 0.0 @@ -232632,7 +252598,7 @@ Absolute path which must exist .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.line(name, content, match=None, mode=None, location=None, before=None, after=None, show_changes=True, backup=False, quiet=False, indent=True) +.B salt.states.file.line(name, content, match=None, mode=None, location=None, before=None, after=None, show_changes=True, backup=False, quiet=False, indent=True, create=False, user=None, group=None, file_mode=None) Line\-based editing of a file. .sp New in version 2015.8.0. @@ -232701,12 +252667,52 @@ Using this option will store two copies of the file in\-memory tried to be edited does not exist and nothing really happened. .IP \(bu 2 \fBindent\fP \-\- Keep indentation with the previous line. +.IP \(bu 2 +\fBcreate\fP \-\- +.sp +Create an empty file if doesn\(aqt exists. +.sp +New in version 2016.11.0. + + +.IP \(bu 2 +\fBuser\fP \-\- +.sp +The user to own the file, this defaults to the user salt is running as +on the minion. +.sp +New in version 2016.11.0. + + +.IP \(bu 2 +\fBgroup\fP \-\- +.sp +The group ownership set for the file, this defaults to the group salt +is running as on the minion On Windows, this is ignored. +.sp +New in version 2016.11.0. + + +.IP \(bu 2 +\fBfile_mode\fP \-\- +.sp +The permissions to set on this file, aka 644, 0775, 4664. Not supported +on Windows. +.sp +New in version 2016.11.0. + + .UNINDENT .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 of \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: .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.managed(name, source=None, source_hash=\(aq\(aq, user=None, group=None, mode=None, template=None, makedirs=False, dir_mode=None, context=None, replace=True, defaults=None, env=None, backup=\(aq\(aq, show_diff=None, show_changes=True, create=True, contents=None, contents_pillar=None, contents_grains=None, contents_newline=True, contents_delimiter=\(aq:\(aq, allow_empty=True, follow_symlinks=True, check_cmd=None, skip_verify=False, **kwargs) +.B salt.states.file.managed(name, source=None, source_hash=\(aq\(aq, user=None, group=None, mode=None, template=None, makedirs=False, dir_mode=None, context=None, replace=True, defaults=None, backup=\(aq\(aq, show_changes=True, create=True, contents=None, tmp_ext=\(aq\(aq, contents_pillar=None, contents_grains=None, contents_newline=True, contents_delimiter=\(aq:\(aq, allow_empty=True, follow_symlinks=True, check_cmd=None, skip_verify=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 @@ -232878,8 +252884,22 @@ 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, aka 644, 0775, 4664. Not supported -on Windows +The mode to set on this file, e.g. \fB644\fP, \fB0775\fP, or \fB4664\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT +.sp +Changed in version 2016.11.0: This option can be set to \fBkeep\fP, and Salt will keep the mode +from the Salt fileserver. This is only supported when the +\fBsource\fP URL begins with \fBsalt://\fP, or for files local to the +minion. Because the \fBsource\fP option cannot be used with any of +the \fBcontents\fP options, setting the \fBmode\fP to \fBkeep\fP is also +incompatible with the \fBcontents\fP options. + .TP .B template If this setting is applied, the named templating engine will be used to @@ -232908,7 +252928,8 @@ directory of the destination file doesn\(aqt exist, the state will fail. .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 from the \(aqmode\(aq argument. +will be assigned permissions by adding the execute bit to the mode of +the files. .TP .B replace True @@ -232925,12 +252946,6 @@ Default context passed to the template. .B backup Overrides the default backup mode for this specific file. .TP -.B show_diff -DEPRECATED: Please use show_changes. -.sp -If set to \fBFalse\fP, the diff will not be shown in the return data if -changes are made. -.TP .B show_changes Output a unified diff of the old file and the new file. If \fBFalse\fP return a boolean if any changes were made. @@ -233142,6 +253157,44 @@ changes: \fBNOTE\fP: This \fBcheck_cmd\fP functions differently than the requisite \fBcheck_cmd\fP\&. .TP +.B tmp_ext +provide extention for temp file created by check_cmd +useful for checkers dependant on config file extention +for example it should be useful for init\-checkconf upstart config checker +by default it is empty +.. code\-block:: yaml +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B /etc/init/test.conf: +.INDENT 7.0 +.TP +.B file.managed: +.INDENT 7.0 +.IP \(bu 2 +user: root +.IP \(bu 2 +group: root +.IP \(bu 2 +mode: 0440 +.IP \(bu 2 +tmp_ext: \(aq.conf\(aq +.IP \(bu 2 +contents: +\- \(aqdescription "Salt Minion"\(aq\(aq +\- \(aqstart on started mountall\(aq +\- \(aqstop on shutdown\(aq +\- \(aqrespawn\(aq +\- \(aqexec salt\-minion\(aq +.IP \(bu 2 +check_cmd: init\-checkconf \-f +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.TP .B skip_verify False If \fBTrue\fP, hash verification of remote file sources (\fBhttp://\fP, @@ -233253,7 +253306,7 @@ otherwise return True .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.patch(name, source=None, hash=None, options=\(aq\(aq, dry_run_first=True, env=None, **kwargs) +.B salt.states.file.patch(name, source=None, hash=None, options=\(aq\(aq, dry_run_first=True, **kwargs) Apply a patch to a file or directory. .sp \fBNOTE:\fP @@ -233287,7 +253340,7 @@ Extra options to pass to patch. \fBTrue\fP Run patch with \fB\-\-dry\-run\fP first to check if it will apply cleanly. .TP -.B env +.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. @@ -233311,7 +253364,7 @@ Usage: .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.prepend(name, text=None, makedirs=False, source=None, source_hash=None, template=\(aqjinja\(aq, sources=None, source_hashes=None, defaults=None, context=None) +.B salt.states.file.prepend(name, text=None, makedirs=False, source=None, source_hash=None, template=\(aqjinja\(aq, sources=None, source_hashes=None, defaults=None, context=None, header=None) Ensure that some text appears at the beginning of a file .sp The text will not be prepended again if it already exists in the file. You @@ -233350,6 +253403,25 @@ Multiple lines of text: .UNINDENT .UNINDENT .sp +Optionally, require the text to appear exactly as specified +(order and position). Combine with multi\-line or multiple lines of input. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/motd: + file.prepend: + \- header: True + \- text: + \- This will be the very first line in the file. + \- The 2nd line, regardless of duplicates elsewhere in the file. + \- These will be written anew if they do not appear verbatim. +.ft P +.fi +.UNINDENT +.UNINDENT +.sp Gather text from multiple template files: .INDENT 7.0 .INDENT 3.5 @@ -233374,7 +253446,7 @@ New in version 2014.7.0. .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.recurse(name, source, clean=False, require=None, user=None, group=None, dir_mode=None, file_mode=None, sym_mode=None, template=None, context=None, defaults=None, env=None, include_empty=False, backup=\(aq\(aq, include_pat=None, exclude_pat=None, maxdepth=None, keep_symlinks=False, force_symlinks=False, **kwargs) +.B salt.states.file.recurse(name, source, clean=False, require=None, user=None, group=None, dir_mode=None, file_mode=None, sym_mode=None, template=None, context=None, defaults=None, include_empty=False, backup=\(aq\(aq, include_pat=None, exclude_pat=None, maxdepth=None, keep_symlinks=False, force_symlinks=False, **kwargs) Recurse through a subdirectory on the master and copy said subdirectory over to the specified path. .INDENT 7.0 @@ -233405,16 +253477,43 @@ The group ownership set for the directory. This defaults to the group salt is running as on the minion. On Windows, this is ignored .TP .B dir_mode -The permissions mode to set on any directories created. Not supported on -Windows +The mode to set on any directories created. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT .TP .B file_mode -The permissions mode to set on any files created. Not supported on +The mode to set on any files created. Windows +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT +.sp +Changed in version 2016.11.0: This option can be set to \fBkeep\fP, and Salt will keep the mode +from the Salt fileserver. This is only supported when the +\fBsource\fP URL begins with \fBsalt://\fP, or for files local to the +minion. Because the \fBsource\fP option cannot be used with any of +the \fBcontents\fP options, setting the \fBmode\fP to \fBkeep\fP is also +incompatible with the \fBcontents\fP options. + .TP .B sym_mode -The permissions mode to set on any symlink created. Not supported on -Windows +The mode to set on any symlink created. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT .TP .B template If this setting is applied, the named templating engine will be used to @@ -233670,7 +253769,63 @@ feeds. .UNINDENT .INDENT 0.0 .TP -.B salt.states.file.serialize(name, dataset=None, dataset_pillar=None, user=None, group=None, mode=None, env=None, backup=\(aq\(aq, makedirs=False, show_diff=True, create=True, merge_if_exists=False, **kwargs) +.B salt.states.file.retention_schedule(name, retain, strptime_format=None, timezone=None) +Apply retention scheduling to backup storage directory. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The filesystem path to the directory containing backups to be managed. +.IP \(bu 2 +\fBretain\fP \-\- +.sp +Delete the backups, except for the ones we want to keep. +The N below should be an integer but may also be the special value of \fBall\fP, +which keeps all files matching the criteria. +All of the retain options default to None, +which means to not keep files based on this criteria. +.INDENT 2.0 +.TP +.B most_recent N +Keep the most recent N files. +.TP +.B first_of_hour N +For the last N hours from now, keep the first file after the hour. +.TP +.B first_of_day N +For the last N days from now, keep the first file after midnight. +See also \fBtimezone\fP\&. +.TP +.B first_of_week N +For the last N weeks from now, keep the first file after Sunday midnight. +.TP +.B first_of_month N +For the last N months from now, keep the first file after the start of the month. +.TP +.B first_of_year N +For the last N years from now, keep the first file after the start of the year. +.UNINDENT + +.IP \(bu 2 +\fBstrptime_format\fP \-\- A python strptime format string used to first match the filenames of backups +and then parse the filename to determine the datetime of the file. +\fI\%https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime\fP +Defaults to None, which considers all files in the directory to be backups eligible for deletion +and uses \fBos.path.getmtime()\fP to determine the datetime. +.IP \(bu 2 +\fBtimezone\fP \-\- The timezone to use when determining midnight. +This is only used when datetime is pulled from \fBos.path.getmtime()\fP\&. +Defaults to \fBNone\fP which uses the timezone from the locale. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.file.serialize(name, dataset=None, dataset_pillar=None, user=None, group=None, mode=None, backup=\(aq\(aq, makedirs=False, show_diff=True, create=True, merge_if_exists=False, **kwargs) Serializes dataset and store it into managed file. Useful for sharing simple configuration files. .INDENT 7.0 @@ -233711,7 +253866,15 @@ The group ownership set for the directory, this defaults to the group salt is running as on the minion .TP .B mode -The permissions to set on this file, aka 644, 0775, 4664 +The permissions to set on this file, e.g. \fB644\fP, \fB0775\fP, or +\fB4664\fP\&. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This option is \fBnot\fP supported on Windows. +.UNINDENT +.UNINDENT .TP .B backup Overrides the default backup mode for this specific file. @@ -233933,6 +254096,11 @@ State to check firewall configurations .. versionadded:: 2016.3.0 .INDENT 0.0 .TP +.B salt.states.firewall.__virtual__() +Load only if network is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.firewall.check(name, port=None, **kwargs) Checks if there is an open connection from the minion to the defined host on a specific port. @@ -233982,6 +254150,7 @@ New in version 2015.8.0. The following example applies changes to the public zone, blocks echo\-reply and echo\-request packets, does not set the zone to be the default, enables masquerading, and allows ports 22/tcp and 25/tcp. +It will be applied permanently and directly before restart/reload. .INDENT 0.0 .INDENT 3.5 .sp @@ -234032,7 +254201,7 @@ from all other interfaces or sources. .nf .ft C public: - firewalld.bind: + firewalld.present: \- name: public \- interfaces: \- eth0 @@ -234042,26 +254211,71 @@ public: .fi .UNINDENT .UNINDENT +.sp +Here, we define a new service that encompasses TCP ports 4505 4506: .INDENT 0.0 -.TP -.B salt.states.firewalld.bind(name, interfaces=None, sources=None) -Ensure a zone is bound to specific interfaces or sources. -.sp -New in version 2016.3.0. - -.sp -\fBNOTE:\fP -.INDENT 7.0 .INDENT 3.5 -This state does not enforce the existence of the zone. To ensure that -the zone exists, use \fI\%firewalld.present\fP\&. +.sp +.nf +.ft C +saltmaster: + firewalld.service: + \- name: saltmaster + \- ports: + \- 4505/tcp + \- 4506/tcp +.ft P +.fi .UNINDENT .UNINDENT +.sp +To make this new service available in a zone, the following can be used, which +would allow access to the salt master from the 10.0.0.0/8 subnet: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +saltzone: + firewalld.present: + \- name: saltzone + \- services: + \- saltmaster + \- sources: + \- 10.0.0.0/8 +.ft P +.fi +.UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.firewalld.present(name, block_icmp=None, default=None, masquerade=False, ports=None, port_fwd=None, services=None) +.B class salt.states.firewalld.ForwardingMapping(srcport, destport, protocol, destaddr) +Represents a port forwarding statement mapping a local port to a remote +port for a specific protocol (TCP or UDP) +.INDENT 7.0 +.TP +.B todict() +Returns a pretty dictionary meant for command line output. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.firewalld.__virtual__() +Ensure the firewall\-cmd is available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.firewalld.present(name, block_icmp=None, default=None, masquerade=False, ports=None, port_fwd=None, services=None, prune_services=True, interfaces=None, sources=None, rich_rules=None) Ensure a zone has specific attributes. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.firewalld.service(name, ports=None, protocols=None) +Ensure the service exists and encompasses the specified ports and +protocols. +.sp +New in version 2016.11.0. + .UNINDENT .SS salt.states.gem .SS Installation of Ruby modules packaged as gems @@ -234084,6 +254298,11 @@ addressable: .UNINDENT .INDENT 0.0 .TP +.B salt.states.gem.__virtual__() +Only load if gem module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.gem.installed(name, ruby=None, gem_bin=None, user=None, version=None, rdoc=False, ri=False, pre_releases=False, proxy=None, source=None) Make sure that a gem is installed. .INDENT 7.0 @@ -234212,6 +254431,11 @@ your \fB~/.ssh/known_hosts\fP file. Changed in version 2015.8.8: This state module now requires git 1.6.5 (released 10 October 2009) or newer. +.INDENT 0.0 +.TP +.B salt.states.git.__virtual__() +Only load if git is available +.UNINDENT .INDENT 0.0 .TP .B salt.states.git.config_set(name, value=None, multivar=None, repo=None, user=None, password=None, **kwargs) @@ -234899,6 +255123,11 @@ ensure user test is present in github: .UNINDENT .INDENT 0.0 .TP +.B salt.states.github.__virtual__() +Only load if the github module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.github.absent(name, profile=\(aqgithub\(aq, **kwargs) Ensure a github user is absent .INDENT 7.0 @@ -234934,8 +255163,6 @@ Ensure a user is present .ft C ensure user test is present in github: github.present: - \- fullname: \(aqExample TestUser1\(aq - \- email: \(aqexample@domain.com\(aq \- name: \(aqgitexample\(aq .ft P .fi @@ -234948,11 +255175,198 @@ The following parameters are required: .B name This is the github handle of the user in the organization .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.github.repo_absent(name, profile=\(aqgithub\(aq, **kwargs) +Ensure a repo is absent. +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +ensure repo test is absent in github: + github.repo_absent: + \- name: \(aqtest\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The following parameters are required: +.INDENT 7.0 +.TP +.B name +This is the name of the repository in the organization. +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.github.repo_present(name, description=None, homepage=None, private=False, has_issues=True, has_wiki=True, has_downloads=True, auto_init=False, gitignore_template=None, license_template=None, profile=\(aqgithub\(aq, **kwargs) +Ensure a repository is present +.INDENT 7.0 +.TP +.B name +This is the name of the repository. +.TP +.B description +The description of the repository. +.TP +.B homepage +The URL with more information about the repository. +.TP +.B private +The visiblity of the repository. Note that private repositories require +a paid GitHub account. +.TP +.B has_issues +Whether to enable issues for this repository. +.TP +.B has_wiki +Whether to enable the wiki for this repository. +.TP +.B has_downloads +Whether to enable downloads for this repository. +.TP +.B auto_init +Whether to create an initial commit with an empty README. +.TP +.B gitignore_template +The desired language or platform for a .gitignore, e.g "Haskell". +.TP +.B license_template +The desired LICENSE template to apply, e.g "mit" or "mozilla". +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +Ensure repo my\-repo is present in github: + github.repo_present: + \- name: \(aqmy\-repo\(aq + \- description: \(aqMy very important repository\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.github.team_absent(name, profile=\(aqgithub\(aq, **kwargs) +Ensure a team is absent. +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +ensure team test is present in github: + github.team_absent: + \- name: \(aqtest\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +The following parameters are required: +.INDENT 7.0 +.TP +.B name +This is the name of the team in the organization. +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.github.team_present(name, description=None, repo_names=None, privacy=\(aqsecret\(aq, permission=\(aqpull\(aq, members=None, enforce_mfa=False, no_mfa_grace_seconds=0, profile=\(aqgithub\(aq, **kwargs) +Ensure a team is present +.INDENT 7.0 +.TP +.B name +This is the name of the team in the organization. +.TP +.B description +The description of the team. +.TP +.B repo_names +The names of repositories to add the team to. +.TP +.B privacy +The level of privacy for the team, can be \(aqsecret\(aq or \(aqclosed\(aq. Defaults +to secret. +.TP +.B permission +The default permission for new repositories added to the team, can be +\(aqpull\(aq, \(aqpush\(aq or \(aqadmin\(aq. Defaults to pull. +.TP +.B members +The members belonging to the team, specified as a dict of member name to +optional configuration. Options include \(aqenforce_mfa_from\(aq and \(aqmfa_exempt\(aq. +.TP +.B enforce_mfa +Whether to enforce MFA requirements on members of the team. If True then +all members without \fImfa_exempt: True\fP configured will be removed from +the team. Note that \fIno_mfa_grace_seconds\fP may be set to allow members +a grace period. +.TP +.B no_mfa_grace_seconds +The number of seconds of grace time that a member will have to enable MFA +before being removed from the team. The grace period will begin from +\fIenforce_mfa_from\fP on the member configuration, which defaults to +1970/01/01. +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +Ensure team test is present in github: + github.team_present: + \- name: \(aqtest\(aq + \- members: + user1: {} + user2: {} + +Ensure team test_mfa is present in github: + github.team_present: + \- name: \(aqtest_mfa\(aq + \- members: + user1: + enforce_mfa_from: 2016/06/15 + \- enforce_mfa: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + .UNINDENT .SS salt.states.glance .SS Managing Images in OpenStack Glance .INDENT 0.0 .TP +.B salt.states.glance.__virtual__() +Only load if dependencies are loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.glance.image_present(name, visibility=\(aqpublic\(aq, protected=None, checksum=None, location=None, wait_for=None, timeout=30) Checks if given image is present with properties set as specified. @@ -234982,7 +255396,12 @@ location (URL, to copy from) .UNINDENT .SS salt.states.glusterfs .sp -Manage glusterfs pool. +Manage GlusterFS pool. +.INDENT 0.0 +.TP +.B salt.states.glusterfs.__virtual__() +Only load this module if the gluster command exists +.UNINDENT .INDENT 0.0 .TP .B salt.states.glusterfs.add_volume_bricks(name, bricks) @@ -235019,36 +255438,8 @@ Replicated Volume: .UNINDENT .INDENT 0.0 .TP -.B salt.states.glusterfs.created(name, bricks, stripe=False, replica=False, device_vg=False, transport=\(aqtcp\(aq, start=False, force=False) -Check if volume already exists -.INDENT 7.0 -.TP -.B name -name of the volume -.UNINDENT -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -myvolume: - glusterfs.created: - \- bricks: - \- host1:/srv/gluster/drive1 - \- host2:/srv/gluster/drive2 - -Replicated Volume: - glusterfs.created: - \- name: volume2 - \- bricks: - \- host1:/srv/gluster/drive2 - \- host2:/srv/gluster/drive3 - \- replica: 2 - \- start: True -.ft P -.fi -.UNINDENT -.UNINDENT +.B salt.states.glusterfs.created(*args, **kwargs) +Deprecated version of more descriptively named volume_present .UNINDENT .INDENT 0.0 .TP @@ -235101,6 +255492,45 @@ mycluster: .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.glusterfs.volume_present(name, bricks, stripe=False, replica=False, device_vg=False, transport=\(aqtcp\(aq, start=False, force=False) +Ensure that the volume exists +.INDENT 7.0 +.TP +.B name +name of the volume +.TP +.B bricks +list of brick paths +.TP +.B start +ensure that the volume is also started +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +myvolume: + glusterfs.created: + \- bricks: + \- host1:/srv/gluster/drive1 + \- host2:/srv/gluster/drive2 + +Replicated Volume: + glusterfs.created: + \- name: volume2 + \- bricks: + \- host1:/srv/gluster/drive2 + \- host2:/srv/gluster/drive3 + \- replica: 2 + \- start: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.gnomedesktop .SS Configuration of the GNOME desktop .sp @@ -235378,6 +255808,11 @@ they exist in dashboards. The module will not manage rows that are not defined, allowing users to manage their own custom rows. .INDENT 0.0 .TP +.B salt.states.grafana.__virtual__() +Only load if grafana is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.grafana.dashboard_absent(name, hosts=None, profile=\(aqgrafana\(aq) Ensure the named grafana dashboard is deleted. .INDENT 7.0 @@ -235471,6 +255906,11 @@ they exist in dashboards. The module will not manage rows that are not defined, allowing users to manage their own custom rows. .INDENT 0.0 .TP +.B salt.states.grafana_dashboard.__virtual__() +Only load if grafana v2.0 is configured. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.grafana_dashboard.absent(name, profile=\(aqgrafana\(aq) Ensure the named grafana dashboard is absent. .INDENT 7.0 @@ -235547,6 +255987,11 @@ Ensure influxdb data source is present: .UNINDENT .INDENT 0.0 .TP +.B salt.states.grafana_datasource.__virtual__() +Only load if grafana v2.0 is configured. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.grafana_datasource.absent(name, profile=\(aqgrafana\(aq) Ensure that a data source is present. .INDENT 7.0 @@ -235950,6 +256395,11 @@ https://bitbucket.org/example_user/example_repo: .UNINDENT .INDENT 0.0 .TP +.B salt.states.hg.__virtual__() +Only load if hg is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.hg.latest(name, rev=None, target=None, clean=False, user=None, identity=None, force=False, opts=False) Make sure the repository is cloned to the given directory and is up to date .INDENT 7.0 @@ -235990,6 +256440,8 @@ Include additional arguments and options to the hg command line .sp This state is useful for sending messages to Hipchat during state runs. .sp +The property api_url is optional. By defaul will use the public HipChat API at \fI\%https://api.hipchat.com\fP +.sp New in version 2015.5.0. .INDENT 0.0 @@ -236002,6 +256454,7 @@ hipchat\-message: \- room_id: 123456 \- from_name: SuperAdmin \- message: \(aqThis state was executed successfully.\(aq + \- api_url: https://hipchat.myteam.com \- api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15 \- api_version: v1 .ft P @@ -236024,7 +256477,12 @@ hipchat: .UNINDENT .INDENT 0.0 .TP -.B salt.states.hipchat.send_message(name, room_id, from_name, message, api_key=None, api_version=None, message_color=\(aqyellow\(aq, notify=False) +.B salt.states.hipchat.__virtual__() +Only load if the hipchat module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.hipchat.send_message(name, room_id, from_name, message, api_url=None, api_key=None, api_version=None, message_color=\(aqyellow\(aq, notify=False) Send a message to a Hipchat room. .INDENT 7.0 .INDENT 3.5 @@ -236036,6 +256494,7 @@ hipchat\-message: \- room_id: 123456 \- from_name: SuperAdmin \- message: \(aqThis state was executed successfully.\(aq + \- api_url: https://hipchat.myteam.com \- api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15 \- api_version: v1 \- color: green @@ -236065,6 +256524,11 @@ The message that is to be sent to the Hipchat room. The following parameters are optional: .INDENT 7.0 .TP +.B api_url +The API URl to be used. +If not specified here or in the configuration options of master or minion, +will use the public HipChat API: \fI\%https://api.hipchat.com\fP +.TP .B api_key The api key for Hipchat to use for authentication, if not specified in the configuration options of master or minion. @@ -236240,6 +256704,11 @@ username: .UNINDENT .INDENT 0.0 .TP +.B salt.states.htpasswd.__virtual__() +depends on webutil module +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.htpasswd.user_exists(name, password=None, htpasswd_file=None, options=\(aq\(aq, force=False, runas=None) Make sure the user is inside the specified htpasswd file .INDENT 7.0 @@ -236273,7 +256742,7 @@ New in version 2015.5.0. .INDENT 0.0 .TP -.B salt.states.http.query(name, match=None, match_type=\(aqstring\(aq, status=None, **kwargs) +.B salt.states.http.query(name, match=None, match_type=\(aqstring\(aq, status=None, wait_for=None, **kwargs) Perform an HTTP query and statefully return the result .sp New in version 2015.5.0. @@ -236328,6 +256797,12 @@ query_example: .UNINDENT .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.http.wait_for_successful_query(name, wait_for=300, **kwargs) +Like query but, repeat and wait until match/match_type or status is fulfilled. State returns result from last +query state in case of success or if no successful query was made within wait_for timeout. +.UNINDENT .SS salt.states.ifttt .SS Trigger an event in IFTTT .sp @@ -236364,6 +256839,11 @@ secret_key: bzMRb\-KKIAaNOwKEEw792J7Eb\-B3z7muhdhYblJn4V6 .UNINDENT .INDENT 0.0 .TP +.B salt.states.ifttt.__virtual__() +Only load if the ifttt module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.ifttt.trigger_event(name, event, value1=None, value2=None, value3=None) Trigger an event in IFTTT .INDENT 7.0 @@ -236509,114 +256989,69 @@ The cmd that should be executed .UNINDENT .UNINDENT .SS salt.states.influxdb_database -.SS Management of InfluxDB databases +.SS Management of Influxdb databases .sp -(compatible with InfluxDB version 0.5+) -.sp -New in version 2014.7.0. - +(compatible with InfluxDB version 0.9+) .INDENT 0.0 .TP -.B salt.states.influxdb_database.absent(name, user=None, password=None, host=None, port=None) -Ensure that the named database is absent +.B salt.states.influxdb_database.__virtual__() +Only load if the influxdb module is available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.influxdb_database.absent(name, **client_args) +Ensure that given database is absent. .INDENT 7.0 .TP .B name -The name of the database to remove -.TP -.B user -The user to connect as (must be able to remove the database) -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +Name of the database to remove. .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.influxdb_database.present(name, user=None, password=None, host=None, port=None) -Ensure that the named database is present +.B salt.states.influxdb_database.present(name, **client_args) +Ensure that given database is present. .INDENT 7.0 .TP .B name -The name of the database to create -.TP -.B user -The user to connect as (must be able to remove the database) -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to +Name of the database to create. .UNINDENT .UNINDENT .SS salt.states.influxdb_user .SS Management of InfluxDB users .sp -(compatible with InfluxDB version 0.5+) -.sp -New in version 2014.7.0. - +(compatible with InfluxDB version 0.9+) .INDENT 0.0 .TP -.B salt.states.influxdb_user.absent(name, database=None, user=None, password=None, host=None, port=None) -Ensure that the named cluster admin or database user is absent. -.INDENT 7.0 -.TP -.B name -The name of the user to remove -.TP -.B database -The database to remove the user from -.TP -.B user -The user to connect as (must be able to remove the user) -.TP -.B password -The password of the user -.TP -.B host -The host to connect to -.TP -.B port -The port to connect to -.UNINDENT +.B salt.states.influxdb_user.__virtual__() +Only load if the influxdb module is available .UNINDENT .INDENT 0.0 .TP -.B salt.states.influxdb_user.present(name, passwd, database=None, user=None, password=None, host=None, port=None) -Ensure that the cluster admin or database user is present. +.B salt.states.influxdb_user.absent(name, **client_args) +Ensure that given user is absent. .INDENT 7.0 .TP .B name The name of the user to manage +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B passwd -The password of the user +.B salt.states.influxdb_user.present(name, password, admin=False, **client_args) +Ensure that given user is present. +.INDENT 7.0 .TP -.B database -The database to create the user in -.TP -.B user -The user to connect as (must be able to create the user) +.B name +Name of the user to manage .TP .B password -The password of the user +Password of the user .TP -.B host -The host to connect to -.TP -.B port -The port to connect to +.B admin +False +Whether the user should have cluster administration +privileges or not. .UNINDENT .UNINDENT .SS salt.states.infoblox module @@ -236627,6 +257062,11 @@ ensures a record is either present or absent in an Infoblox DNS system .sp New in version 2016.3.0. +.INDENT 0.0 +.TP +.B salt.states.infoblox.__virtual__() +make sure the infoblox module is available +.UNINDENT .INDENT 0.0 .TP .B salt.states.infoblox.absent(name, record_type, dns_view, infoblox_server=None, infoblox_user=None, infoblox_password=None, infoblox_api_version=\(aqv1.4.2\(aq, sslVerify=True) @@ -236738,7 +257178,12 @@ all .UNINDENT .INDENT 0.0 .TP -.B salt.states.ini_manage.options_absent(name, sections=None) +.B salt.states.ini_manage.__virtual__() +Only load if the ini module is available +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.ini_manage.options_absent(name, sections=None, separator=\(aq=\(aq) .INDENT 7.0 .INDENT 3.5 .sp @@ -236746,6 +257191,7 @@ all .ft C /home/saltminion/api\-paste.ini: ini.options_absent: + \- separator: \(aq=\(aq \- sections: test: \- testkey @@ -236764,7 +257210,7 @@ changes dict will contain the list of changes made .UNINDENT .INDENT 0.0 .TP -.B salt.states.ini_manage.options_present(name, sections=None) +.B salt.states.ini_manage.options_present(name, sections=None, separator=\(aq=\(aq) .INDENT 7.0 .INDENT 3.5 .sp @@ -236772,6 +257218,7 @@ changes dict will contain the list of changes made .ft C /home/saltminion/api\-paste.ini: ini.options_present: + \- separator: \(aq=\(aq \- sections: test: testkey: \(aqtestval\(aq @@ -236790,7 +257237,7 @@ changes dict will contain the list of changes made .UNINDENT .INDENT 0.0 .TP -.B salt.states.ini_manage.sections_absent(name, sections=None) +.B salt.states.ini_manage.sections_absent(name, sections=None, separator=\(aq=\(aq) .INDENT 7.0 .INDENT 3.5 .sp @@ -236798,6 +257245,7 @@ changes dict will contain the list of changes made .ft C /home/saltminion/api\-paste.ini: ini.sections_absent: + \- separator: \(aq=\(aq \- sections: \- test \- test1 @@ -236811,7 +257259,7 @@ changes dict will contain the sections that changed .UNINDENT .INDENT 0.0 .TP -.B salt.states.ini_manage.sections_present(name, sections=None) +.B salt.states.ini_manage.sections_present(name, sections=None, separator=\(aq=\(aq) .INDENT 7.0 .INDENT 3.5 .sp @@ -236819,6 +257267,7 @@ changes dict will contain the sections that changed .ft C /home/saltminion/api\-paste.ini: ini.sections_present: + \- separator: \(aq=\(aq \- sections: \- section_one \- section_two @@ -237130,6 +257579,11 @@ setname: .UNINDENT .INDENT 0.0 .TP +.B salt.states.ipset.__virtual__() +Only load if the ipset module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.ipset.absent(name, entry=None, entries=None, family=\(aqipv4\(aq, **kwargs) New in version 2014.7.0. @@ -237197,14 +257651,14 @@ Networking family, either ipv4 or ipv6 New in version 2014.7.0. .sp -Verify the chain is exist. +Verify the set exists. .INDENT 7.0 .TP .B name A user\-defined set name. .TP .B set_type -The type for the set +The type for the set. .TP .B family Networking family, either ipv4 or ipv6 @@ -237411,6 +257865,11 @@ releases of \fBiptables\fP\&. .UNINDENT .INDENT 0.0 .TP +.B salt.states.iptables.__virtual__() +Only load if the locale module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.iptables.append(name, table=\(aqfilter\(aq, family=\(aqipv4\(aq, **kwargs) New in version 0.17.0. @@ -237854,6 +258313,247 @@ The Salt URL for the file to use for configuring the job. .UNINDENT .UNINDENT +.SS salt.states.junos module +.SS State modules to interact with Junos devices. +.sp +These modules call the corresponding execution modules. +Refer to \fBjunos\fP for further information. +.INDENT 0.0 +.TP +.B salt.states.junos.cli(name) +Executes the CLI commands and reuturns the text output. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +show version: + junos.cli +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: the command to be executed on junos CLI. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.commit(name) +Commits the changes loaded into the candidate configuration. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +commit the changes: + junos.commit +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: can be anything +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.diff(name) +Gets the difference between the candidate and the current configuration. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +get the diff: + junos.diff +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: can be anything +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.file_copy(name, dest=None) +Copies the file from the local device to the junos device. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/home/m2/info.txt: + junos: + \- file_copy + \- dest: info_copy.txt +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: source path of the file. +.sp +dest: destination path where the file will be placed. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.install_config(name, **kwargs) +Loads and commits the configuration provided. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/home/user/config.set: + junos: + \- install_config + \- timeout: 100 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: path to the configuration file. +.sp +keyworded arguments taken by load fucntion of PyEZ +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.install_os(name, **kwargs) +Installs the given image on the device. After the installation is complete +the device is rebooted, if reboot=True is given as a keyworded argument. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/home/user/junos_image.tgz: + junos: + \- install_os + \- timeout: 100 + \- reboot: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: path to the image file. +.sp +kwargs: keyworded arguments to be given such as timeout, reboot etc +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.rollback(name) +Rollbacks the committed changes. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +rollback the changes: + junos.rollback +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: can be anything +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.rpc(name, dest=None, format=\(aqxml\(aq, args=None, **kwargs) +.INDENT 7.0 +.INDENT 3.5 +Executes the given rpc. The returned data can be stored in a file +by specifying the destination path with dest as an argument +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +get\-interface\-information: + junos: + \- rpc + \- dest: /home/user/rpc.log + \- interface_name: lo0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +name: the rpc to be executed. +.sp +args: other arguments as taken by rpc call of PyEZ +.sp +kwargs: keyworded arguments taken by rpc call of PyEZ +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.set_hostname(name, commit_changes=True) +.INDENT 7.0 +.INDENT 3.5 +Changes the hostname of the device. +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +device name: + junos: + \- set_hostname + \- commit_changes: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +name: the name to be given to the device +.sp +commit_changes: whether to commit the changes +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.shutdown(name, time=0) +Shuts down the device. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +shut the device: + junos: + \- shutdown + \- time: 10 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: can be anything +.sp +time: time after which the system should shutdown(in seconds, default=0) +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.junos.zeroize(name) +Resets the device to default factory settings. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +reset my device: + junos.zeroize +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +name: can be anything +.UNINDENT .SS salt.states.k8s .sp Manage Kubernetes @@ -237889,6 +258589,11 @@ kube_label_3: .UNINDENT .INDENT 0.0 .TP +.B salt.states.k8s.__virtual__() +Load only if kubernetes module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.k8s.label_absent(name, node=None, apiserver=None) Ensure the label doesn\(aqt exist on the kube node. .INDENT 7.0 @@ -237938,6 +258643,69 @@ Override node ID. K8S apiserver URL. .UNINDENT .UNINDENT +.SS salt.states.kapacitor module +.sp +Kapacitor state module. +.INDENT 0.0 +.TP +.B configuration +This module accepts connection configuration details either as +parameters or as configuration settings in /etc/salt/minion on the relevant +minions: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +kapacitor.host: \(aqlocalhost\(aq +kapacitor.port: 9092 +.ft P +.fi +.UNINDENT +.UNINDENT +.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.states.kapacitor.task_absent(name) +Ensure that a task is absent from Kapacitor. +.INDENT 7.0 +.TP +.B name +Name of the task. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.kapacitor.task_present(name, tick_script, task_type=\(aqstream\(aq, database=None, retention_policy=\(aqdefault\(aq, enable=True) +Ensure that a task is present and up\-to\-date in Kapacitor. +.INDENT 7.0 +.TP +.B name +Name of the task. +.TP +.B tick_script +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 database +Which database to fetch data from. Defaults to None, which will use the +default database in InfluxDB. +.TP +.B retention_policy +Which retention policy to fetch data from. Defaults to \(aqdefault\(aq. +.TP +.B enable +Whether to enable the task or not. Defaults to True. +.UNINDENT +.UNINDENT .SS salt.states.keyboard .SS Management of keyboard layouts .sp @@ -237968,6 +258736,11 @@ us: .UNINDENT .INDENT 0.0 .TP +.B salt.states.keyboard.__virtual__() +Only load if the keyboard module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.keyboard.system(name) Set the keyboard layout for the system .INDENT 7.0 @@ -238066,6 +258839,11 @@ nova service: .UNINDENT .INDENT 0.0 .TP +.B salt.states.keystone.__virtual__() +Only load if the keystone module is in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.keystone.endpoint_absent(name, profile=None, **connection_args) Ensure that the endpoint for a service doesn\(aqt exist in Keystone catalog .INDENT 7.0 @@ -238076,24 +258854,92 @@ The name of the service whose endpoints should not exist .UNINDENT .INDENT 0.0 .TP -.B salt.states.keystone.endpoint_present(name, publicurl=None, internalurl=None, adminurl=None, region=\(aqRegionOne\(aq, profile=None, **connection_args) +.B salt.states.keystone.endpoint_present(name, publicurl=None, internalurl=None, adminurl=None, region=\(aqRegionOne\(aq, profile=None, url=None, interface=None, **connection_args) Ensure the specified endpoints exists for service .INDENT 7.0 .TP .B name The Service name .TP -.B public url -The public url of service endpoint +.B publicurl +The public url of service endpoint (for V2 API) .TP -.B internal url -The internal url of service endpoint +.B internalurl +The internal url of service endpoint (for V2 API) .TP -.B admin url -The admin url of the service endpoint +.B adminurl +The admin url of the service endpoint (for V2 API) .TP .B region The region of the endpoint +.TP +.B url +The endpoint URL (for V3 API) +.TP +.B interface +The interface type, which describes the visibility +of the endpoint. (for V3 API) +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.keystone.project_absent(name, profile=None, **connection_args) +Ensure that the keystone project is absent. +Alias for tenant_absent from V2 API to fulfill +V3 API naming convention. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +The name of the project that should not exist +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +delete_nova: + keystone.project_absent: + \- name: nova +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.keystone.project_present(name, description=None, enabled=True, profile=None, **connection_args) +Ensures that the keystone project exists +Alias for tenant_present from V2 API to fulfill +V3 API naming convention. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.TP +.B name +The name of the project to manage +.TP +.B description +The description to use for this project +.TP +.B enabled +Availability state for this project +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +nova: + keystone.project_present: + \- enabled: True + \- description: \(aqNova Compute Service\(aq +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -238181,7 +259027,7 @@ The name of the user that should not exist .UNINDENT .INDENT 0.0 .TP -.B salt.states.keystone.user_present(name, password, email, tenant=None, enabled=True, roles=None, profile=None, password_reset=True, **connection_args) +.B salt.states.keystone.user_present(name, password, email, tenant=None, enabled=True, roles=None, profile=None, password_reset=True, project=None, **connection_args) Ensure that the keystone user is present with the specified properties. .INDENT 7.0 .TP @@ -238198,7 +259044,10 @@ Whether or not to reset password after initial set The email address for this user .TP .B tenant -The tenant for this user +The tenant (name) for this user +.TP +.B project +The project (name) for this user (overrides tenant in api v3) .TP .B enabled Availability state for this user @@ -238267,6 +259116,11 @@ add_sound: .UNINDENT .INDENT 0.0 .TP +.B salt.states.kmod.__virtual__() +Only load if the kmod module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.kmod.absent(name, persist=False, comment=True, mods=None) Verify that the named kernel module is not loaded .INDENT 7.0 @@ -238327,6 +259181,11 @@ sunrise: .UNINDENT .INDENT 0.0 .TP +.B salt.states.layman.__virtual__() +Only load if the layman module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.layman.absent(name) Verify that the overlay is absent .INDENT 7.0 @@ -238556,7 +259415,6 @@ parameter. .UNINDENT .TP .B Returns -A dict with the following keys: .INDENT 7.0 .IP \(bu 2 .INDENT 2.0 @@ -238649,6 +259507,9 @@ mode. .UNINDENT .UNINDENT +.TP +.B Return type +A dict with the following keys .UNINDENT .UNINDENT .SS salt.states.linux_acl @@ -238690,6 +259551,11 @@ root: .UNINDENT .INDENT 0.0 .TP +.B salt.states.linux_acl.__virtual__() +Ensure getfacl & setfacl exist +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.linux_acl.absent(name, acl_type, acl_name=\(aq\(aq, perms=\(aq\(aq, recurse=False) Ensure a Linux ACL does not exist .UNINDENT @@ -238722,6 +259588,11 @@ default_locale: .UNINDENT .INDENT 0.0 .TP +.B salt.states.locale.__virtual__() +Only load if the locale module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.locale.present(name) Generate a locale if it is not present .sp @@ -238772,6 +259643,11 @@ lvroot: .UNINDENT .INDENT 0.0 .TP +.B salt.states.lvm.__virtual__() +Only load the module if lvm is installed +.UNINDENT +.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 .INDENT 7.0 @@ -238785,7 +259661,7 @@ The volume group name .UNINDENT .INDENT 0.0 .TP -.B salt.states.lvm.lv_present(name, vgname=None, size=None, extents=None, snapshot=None, pv=\(aq\(aq, **kwargs) +.B salt.states.lvm.lv_present(name, vgname=None, size=None, extents=None, snapshot=None, pv=\(aq\(aq, thinvolume=False, thinpool=False, **kwargs) Create a new logical volume .INDENT 7.0 .TP @@ -238811,6 +259687,17 @@ The physical volume to use Any supported options to lvcreate. See \fBlinux_lvm\fP for more details. .UNINDENT +.sp +New in version to_complete. + +.INDENT 7.0 +.TP +.B thinvolume +Logical volume is thinly provisioned +.TP +.B thinpool +Logical volume is a thin pool +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -238867,6 +259754,11 @@ Any supported options to vgcreate. See .SS Management of LVS (Linux Virtual Server) Real Server .INDENT 0.0 .TP +.B salt.states.lvs_server.__virtual__() +Only load if the lvs module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.lvs_server.absent(name, protocol=None, service_address=None, server_address=None) Ensure the LVS Real Server in specified service is absent. .INDENT 7.0 @@ -238929,6 +259821,11 @@ lvsrs: .SS Management of LVS (Linux Virtual Server) Service .INDENT 0.0 .TP +.B salt.states.lvs_service.__virtual__() +Only load if the lvs module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.lvs_service.absent(name, protocol=None, service_address=None) Ensure the LVS service is absent. .INDENT 7.0 @@ -239012,18 +259909,6 @@ web01: .fi .UNINDENT .UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.lxc.cloned(name, orig, snapshot=True, size=None, vgname=None, path=None, profile=None) -Deprecated since version 2015.5.0: Use \fI\%lxc.present\fP - -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.lxc.created(name, **kwargs) -Deprecated since version 2015.5.0: Use \fI\%lxc.present\fP - .UNINDENT .INDENT 0.0 .TP @@ -239041,6 +259926,9 @@ is deprecated. .UNINDENT .sp Edit LXC configuration options +.sp +Deprecated since version 2015.5.0. + .INDENT 7.0 .TP .B path @@ -239119,8 +260007,8 @@ web02: .INDENT 0.0 .TP .B salt.states.lxc.present(name, running=None, clone_from=None, snapshot=False, profile=None, network_profile=None, template=None, options=None, image=None, config=None, fstype=None, size=None, backing=None, vgname=None, lvname=None, path=None) -Changed in version 2015.8.0: The \fI\%lxc.created\fP state has been renamed -to \fBlxc.present\fP, and the \fI\%lxc.cloned\fP +Changed in version 2015.8.0: The \fBlxc.created\fP state has been renamed +to \fBlxc.present\fP, and the \fBlxc.cloned\fP state has been merged into this state. .sp @@ -239257,7 +260145,7 @@ container. Only applicable if \fBbacking\fP is set to \fBlvm\fP\&. .INDENT 0.0 .TP .B salt.states.lxc.running(name, restart=False, path=None) -Changed in version 2015.5.0: The \fI\%lxc.started\fP state has been renamed +Changed in version 2015.5.0: The \fBlxc.started\fP state has been renamed to \fBlxc.running\fP .sp @@ -239328,12 +260216,6 @@ setpass: .fi .UNINDENT .UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B salt.states.lxc.started(name, path=None, restart=False) -Deprecated since version 2015.5.0: Use \fI\%lxc.running\fP - .UNINDENT .INDENT 0.0 .TP @@ -239400,6 +260282,11 @@ Install, enable and disable assitive access on OS X minions .UNINDENT .INDENT 0.0 .TP +.B salt.states.mac_assistive.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mac_assistive.installed(name, enabled=True) Make sure that we have the given bundle ID or path to command installed in the assistive access panel. @@ -239416,6 +260303,27 @@ Should assistive access be enabled on this application? .SS Writing/reading defaults from an OS X minion .INDENT 0.0 .TP +.B salt.states.mac_defaults.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.mac_defaults.absent(name, domain, user=None) +Make sure the defaults value is absent +.INDENT 7.0 +.TP +.B name +The key of the given domain to remove +.TP +.B domain +The name of the domain to remove from +.TP +.B user +The user to write the defaults to +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mac_defaults.write(name, domain, value, vtype=\(aqstring\(aq, user=None) Write a default to the system .INDENT 7.0 @@ -239430,7 +260338,7 @@ The name of the domain to write to The value to write to the given key .TP .B vtype -The type of value to be written, vaid types are string, data, int[eger], +The type of value to be written, valid types are string, data, int[eger], float, bool[ean], date, array, array\-add, dict, dict\-add .TP .B user @@ -239455,6 +260363,11 @@ Install certificats to the OS X keychain .UNINDENT .INDENT 0.0 .TP +.B salt.states.mac_keychain.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mac_keychain.default_keychain(name, domain=\(aquser\(aq, user=None) Set the default keychain to use .INDENT 7.0 @@ -239521,6 +260434,87 @@ If your keychain is likely to be locked pass the password and it will be unlocke before running the import .UNINDENT .UNINDENT +.SS salt.states.mac_package module +.SS Installing of mac pkg files +.sp +Install any kind of pkg, dmg or app file on Mac OS X: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/mnt/test.pkg: + macpackage.installed: + \- store: True + +/mnt/test.dmg: + macpackage.installed: + \- dmg: True + +/mnt/xcode.dmg: + macpackage.installed: + \- dmg: True + \- app: True + \- target: /Applications/Xcode.app + \- version_check: xcodebuild \-version=Xcode 7.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\&.*7B91b +.INDENT 0.0 +.TP +.B salt.states.mac_package.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.mac_package.installed(name, target=\(aqLocalSystem\(aq, dmg=False, store=False, app=False, mpkg=False, user=None, onlyif=None, unless=None, force=False, allow_untrusted=False, version_check=None) +Install a Mac OS Package from a pkg or dmg file, if given a dmg file it +will first be mounted in a temporary location +.INDENT 7.0 +.TP +.B name +The pkg or dmg file to install +.TP +.B target +The location in which to install the package. This can be a path or LocalSystem +.TP +.B dmg +Is the given file a dmg file? +.TP +.B store +Should the pkg be installed as if it was from the Mac OS Store? +.TP +.B app +Is the file a .app? If so then we\(aqll just copy that to /Applications/ or the given +target +.TP +.B mpkg +Is the file a .mpkg? If so then we\(aqll check all of the .pkg files found are installed +.TP +.B user +Name of the user performing the unless or onlyif checks +.TP +.B onlyif +A command to run as a check, run the named command only if the command +passed to the \fBonlyif\fP option returns true +.TP +.B unless +A command to run as a check, only run the named command if the command +passed to the \fBunless\fP option returns false +.TP +.B force +Force the package to be installed even if its already been found installed +.TP +.B allow_untrusted +Allow the installation of untrusted packages +.TP +.B version_check +The command and version that we want to check against, the version number can use regex. +.UNINDENT +.UNINDENT .SS salt.states.mac_xattr module .SS Allows you to manage extended attributes on files or directories .sp @@ -239541,16 +260535,25 @@ Install, enable and disable assitive access on OS X minions .UNINDENT .INDENT 0.0 .TP +.B salt.states.mac_xattr.__virtual__() +Only work on Mac OS +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mac_xattr.delete(name, attributes) Make sure the given attributes are deleted from the file/directory .INDENT 7.0 .TP .B name The path to the file/directory +.UNINDENT +.INDENT 7.0 .TP -.B attributes -The attributes that should be removed from the file/directory, this is accepted as -an array. +.B The attributes that should be removed from the file/directory, this is accepted as +.UNINDENT +.INDENT 7.0 +.TP +.B an array. .UNINDENT .UNINDENT .INDENT 0.0 @@ -239561,11 +260564,18 @@ Make sure the given attributes exist on the file/directory .TP .B name The path to the file/directory +.UNINDENT +.INDENT 7.0 .TP -.B attributes -The attributes that should exist on the file/directory, this is accepted as -an array, with key and value split with an equals sign, if you want to specify -a hex value then add 0x to the beginning of the value. +.B The attributes that should exist on the file/directory, this is accepted as +.UNINDENT +.INDENT 7.0 +.TP +.B an array, with key and value split with an equals sign, if you want to specify +.UNINDENT +.INDENT 7.0 +.TP +.B a hex value then add 0x to the beginning of the value. .UNINDENT .UNINDENT .SS salt.states.makeconf @@ -239586,6 +260596,11 @@ makeopts: .UNINDENT .INDENT 0.0 .TP +.B salt.states.makeconf.__virtual__() +Only load if the makeconf module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.makeconf.absent(name) Verify that the variable is not in the \fBmake.conf\fP\&. .INDENT 7.0 @@ -239655,6 +260670,26 @@ to match the given config values. A standard Salt changes dictionary .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.marathon_app.running(name, restart=False, force=True) +Ensure that the marathon app with the given id is present and restart if set. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The app name/id +.IP \(bu 2 +\fBrestart\fP \-\- Restart the app +.IP \(bu 2 +\fBforce\fP \-\- Override the current deployment +.UNINDENT +.TP +.B Returns +A standard Salt changes dictionary +.UNINDENT +.UNINDENT .SS salt.states.mdadm .SS Managing software RAID with mdadm .sp @@ -239679,6 +260714,11 @@ A state module for creating or destroying software RAID devices. .UNINDENT .INDENT 0.0 .TP +.B salt.states.mdadm.__virtual__() +mdadm provides raid functions for Linux +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mdadm.absent(name) Verify that the raid is absent .INDENT 7.0 @@ -239746,6 +260786,11 @@ Example: .sp New in version 2014.1.0. +.INDENT 0.0 +.TP +.B salt.states.memcached.__virtual__() +Only load if memcache module is available +.UNINDENT .INDENT 0.0 .TP .B salt.states.memcached.absent(name, value=None, host=\(aq127.0.0.1\(aq, port=11211, time=0) @@ -239818,6 +260863,11 @@ foo: State to control Apache modjk .INDENT 0.0 .TP +.B salt.states.modjk.__virtual__() +Load this state if modjk is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.modjk.worker_activated(name, workers=None, profile=\(aqdefault\(aq) Activate all the workers in the modjk load balancer .sp @@ -239921,6 +260971,11 @@ execution module \fBdocumentation\fP .UNINDENT .INDENT 0.0 .TP +.B salt.states.modjk_worker.__virtual__() +Check if we have peer access ? +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.modjk_worker.activate(name, lbn, target, profile=\(aqdefault\(aq, expr_form=\(aqglob\(aq) Activate the named worker from the lbn load balancers at the targeted minions @@ -240137,7 +261192,7 @@ The module function to execute .B \fBreturner\fP Specify the returner to send the return of the module execution to .TP -.B \fB**kwargs\fP +.B \fBkwargs\fP Pass any arguments needed to execute the function .UNINDENT .UNINDENT @@ -240155,7 +261210,7 @@ The module function to execute .B \fBreturner\fP Specify the returner to send the return of the module execution to .TP -.B \fB**kwargs\fP +.B \fBkwargs\fP Pass any arguments needed to execute the function .UNINDENT .UNINDENT @@ -240197,7 +261252,7 @@ Only deletion is supported, creation doesn\(aqt make sense and can be done using mongodb_user.present .INDENT 0.0 .TP -.B salt.states.mongodb_database.absent(name, user=None, password=None, host=None, port=None) +.B salt.states.mongodb_database.absent(name, user=None, password=None, host=None, port=None, authdb=None) Ensure that the named database is absent .INDENT 7.0 .TP @@ -240215,6 +261270,9 @@ The host to connect to .TP .B port The port to connect to +.TP +.B authdb +The database in which to authenticate .UNINDENT .UNINDENT .SS salt.states.mongodb_user @@ -240228,7 +261286,7 @@ This module requires PyMongo to be installed. .UNINDENT .INDENT 0.0 .TP -.B salt.states.mongodb_user.absent(name, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq) +.B salt.states.mongodb_user.absent(name, user=None, password=None, host=None, port=None, database=\(aqadmin\(aq, authdb=None) Ensure that the named user is absent .INDENT 7.0 .TP @@ -240250,11 +261308,14 @@ The port on which MongoDB is listening .B database The database from which to remove the user specified by the \fBname\fP parameter +.TP +.B authdb +The database in which to authenticate .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.mongodb_user.present(name, passwd, database=\(aqadmin\(aq, user=None, password=None, host=\(aqlocalhost\(aq, port=27017) +.B salt.states.mongodb_user.present(name, passwd, database=\(aqadmin\(aq, user=None, password=None, host=\(aqlocalhost\(aq, port=27017, authdb=None) Ensure that the user is present with the specified properties .INDENT 7.0 .TP @@ -240285,6 +261346,9 @@ The database in which to create the user If the database doesn\(aqt exist, it will be created. .UNINDENT .UNINDENT +.TP +.B authdb +The database in which to authenticate .UNINDENT .sp Example: @@ -240351,6 +261415,11 @@ execution module is available. .UNINDENT .INDENT 0.0 .TP +.B salt.states.monit.__virtual__() +Only make this state available if the monit module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.monit.monitor(name) Get the summary from module monit and try to see if service is being monitored. If not then monitor the service. @@ -240403,7 +261472,7 @@ The name of the mount point .UNINDENT .INDENT 0.0 .TP -.B salt.states.mount.mounted(name, device, fstype, mkmnt=False, opts=\(aqdefaults\(aq, dump=0, pass_num=0, config=\(aq/etc/fstab\(aq, persist=True, mount=True, user=None, match_on=\(aqauto\(aq, extra_mount_invisible_options=None, extra_mount_invisible_keys=None, extra_mount_ignore_fs_keys=None, extra_mount_translate_options=None, hidden_opts=None) +.B salt.states.mount.mounted(name, device, fstype, mkmnt=False, opts=\(aqdefaults\(aq, dump=0, pass_num=0, config=\(aq/etc/fstab\(aq, persist=True, mount=True, user=None, match_on=\(aqauto\(aq, device_name_regex=None, extra_mount_invisible_options=None, extra_mount_invisible_keys=None, extra_mount_ignore_fs_keys=None, extra_mount_translate_options=None, hidden_opts=None) Verify that a device is mounted .INDENT 7.0 .TP @@ -240449,6 +261518,38 @@ A name or list of fstab properties on which this state should be applied. Default is \fBauto\fP, a special value indicating to guess based on fstype. In general, \fBauto\fP matches on name for recognized special devices and device otherwise. +.TP +.B device_name_regex +A list of device exact names or regular expressions which should +not force a remount. For example, glusterfs may be mounted with a +comma\-separated list of servers in fstab, but the /proc/self/mountinfo +will show only the first available server. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +{% set glusterfs_ip_list = [\(aq10.0.0.1\(aq, \(aq10.0.0.2\(aq, \(aq10.0.0.3\(aq] %} + +mount glusterfs volume: + mount.mounted: + \- name: /mnt/glusterfs_mount_point + \- device: {{ glusterfs_ip_list|join(\(aq,\(aq) }}:/volume_name + \- fstype: glusterfs + \- opts: _netdev,rw,defaults,direct\-io\-mode=disable + \- mkmnt: True + \- persist: True + \- dump: 0 + \- pass_num: 0 + \- device_name_regex: + \- ({{ glusterfs_ip_list|join(\(aq|\(aq) }}):/volume_name +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + .TP .B extra_mount_invisible_options A list of extra options that are not visible through the @@ -240602,6 +261703,11 @@ frank: .UNINDENT .INDENT 0.0 .TP +.B salt.states.mysql_database.__virtual__() +Only load if the mysql module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mysql_database.absent(name, **connection_args) Ensure that the named database is absent .INDENT 7.0 @@ -240686,6 +261792,11 @@ restricted_singletable: .UNINDENT .INDENT 0.0 .TP +.B salt.states.mysql_grants.__virtual__() +Only load if the mysql module is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mysql_grants.absent(name, grant=None, database=None, user=None, host=\(aqlocalhost\(aq, grant_option=False, escape=True, **connection_args) Ensure that the grant is absent .INDENT 7.0 @@ -240813,6 +261924,11 @@ query_id: .UNINDENT .INDENT 0.0 .TP +.B salt.states.mysql_query.__virtual__() +Only load if the mysql module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mysql_query.run(name, database, query, output=None, grain=None, key=None, overwrite=True, **connection_args) Execute an arbitrary query on the specified database .INDENT 7.0 @@ -240900,6 +262016,11 @@ This state is not able to grant permissions for the user. See \fBsalt.states.mysql_grants\fP for further instructions. .INDENT 0.0 .TP +.B salt.states.mysql_user.__virtual__() +Only load if the mysql module is in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.mysql_user.absent(name, host=\(aqlocalhost\(aq, **connection_args) Ensure that the named user is absent .INDENT 7.0 @@ -240959,6 +262080,51 @@ If \fBTrue\fP and allow_passwordless is \fBTrue\fP, the unix_socket auth plugin will be used. .UNINDENT .UNINDENT +.SS salt.states.netntp +.SS Network NTP +.sp +Configure NTP peers on the device via a salt proxy. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm ntp management module (salt.modules.napalm_ntp)\fP +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.netntp.managed(name, peers=None) +Updates the list of NTP peers on the devices as speified in the state SLS file. +NTP peers not specified in this list will be removed and peers that are not configured will be set. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +netntp_example: + netntp.managed: + \- peers: + \- 192.168.0.1 + \- 172.17.17.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.network .SS Configuration of network interfaces .sp @@ -241197,6 +262363,20 @@ lo: Apply changes to hostname immediately. \&.. versionadded:: 2015.5.0 + +system: + network.system: + \- hostname: server2.example.com + \- apply_hostname: True + \- retain_settings: True + +\&.. note:: + Use \(garetain_settings\(ga to retain current network settings that are not + otherwise specified in the state. Particularly useful if only setting + the hostname. Default behavior is to delete unspecified network + settings. + +\&.. versionadded:: 2016.11.0 .ft P .fi .UNINDENT @@ -241211,6 +262391,12 @@ ports argument is required. Red Hat systems will ignore the argument. .UNINDENT .INDENT 0.0 .TP +.B salt.states.network.__virtual__() +Confine this module to non\-Windows systems with the required execution +module available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.network.managed(name, type, enabled=True, **kwargs) Ensure that the named interface is configured properly. .INDENT 7.0 @@ -241360,6 +262546,11 @@ httpd: .UNINDENT .INDENT 0.0 .TP +.B salt.states.nftables.__virtual__() +Only load if the locale module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.nftables.append(name, family=\(aqipv4\(aq, **kwargs) New in version 0.17.0. @@ -241494,6 +262685,11 @@ yaml: .UNINDENT .INDENT 0.0 .TP +.B salt.states.npm.__virtual__() +Only load if the npm module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.npm.bootstrap(name, user=None, silent=True) Bootstraps a node.js application. .sp @@ -241505,6 +262701,21 @@ The user to run NPM with .sp New in version 0.17.0. +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.npm.cache_cleaned(name=None, user=None) +Ensure that the given package is not cached. +.sp +If no package is specified, this ensures the entire cache is cleared. +.INDENT 7.0 +.TP +.B name +The name of the package to remove from the cache, or None for all packages +.TP +.B user +The user to run NPM with .UNINDENT .UNINDENT .INDENT 0.0 @@ -241611,6 +262822,11 @@ win_ntp: .UNINDENT .INDENT 0.0 .TP +.B salt.states.ntp.__virtual__() +This only supports Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.ntp.managed(name, servers=None) Manage NTP servers .INDENT 7.0 @@ -241619,6 +262835,211 @@ Manage NTP servers A list of NTP servers .UNINDENT .UNINDENT +.SS salt.states.nxos module +.sp +State module for Cisco NX OS Switches Proxy minions +.sp +For documentation on setting up the nxos proxy minion look in the documentation +for \fBsalt.proxy.nxos\fP\&. +.INDENT 0.0 +.TP +.B salt.states.nxos.config_absent(name) +Ensure a specific configuration line does not exist in the running config +.INDENT 7.0 +.TP +.B name +config line to remove +.UNINDENT +.sp +Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +add snmp group: + nxos.config_absent: + \- names: + \- snmp\-server community randoSNMPstringHERE group network\-operator + \- snmp\-server community AnotherRandomSNMPSTring group network\-admin +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +For certain cases extra lines could be removed based on dependencies. +In this example, included after the example for config_present, the +ACLs would be removed because they depend on the existance of the +group. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.nxos.config_present(name) +Ensure a specific configuration line exists in the running config +.INDENT 7.0 +.TP +.B name +config line to set +.UNINDENT +.sp +Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +add snmp group: + nxos.config_present: + \- names: + \- snmp\-server community randoSNMPstringHERE group network\-operator + \- snmp\-server community AnotherRandomSNMPSTring group network\-admin + +add snmp acl: + nxos.config_present: + \- names: + \- snmp\-server community randoSNMPstringHERE use\-acl snmp\-acl\-ro + \- snmp\-server community AnotherRandomSNMPSTring use\-acl snmp\-acl\-rw +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.nxos.replace(name, repl, full_match=False) +Replace all instances of a string or full line in the running config +.INDENT 7.0 +.TP +.B name +String to replace +.TP +.B repl +The replacement text +.TP +.B full_match +Whether \fIname\fP will match the full line or only a subset of the line. +Defaults to False. When False, .* is added around \fIname\fP for matching +in the \fIshow run\fP config. +.UNINDENT +.sp +Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +replace snmp string: + nxos.replace: + \- name: randoSNMPstringHERE + \- repl: NEWrandoSNMPstringHERE + +replace full snmp string: + nxos.replace: + \- name: ^snmp\-server community randoSNMPstringHERE group network\-operator$ + \- repl: snmp\-server community NEWrandoSNMPstringHERE group network\-operator + \- full_match: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +The first example will replace the SNMP string on both the group and +the ACL, so you will not lose the ACL setting. Because the second is +an exact match of the line, when the group is removed, the ACL is +removed, but not readded, because it was not matched. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.nxos.user_absent(name) +Ensure a user is not present +.INDENT 7.0 +.TP +.B name +username to remove if it exists +.UNINDENT +.sp +Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +delete: + nxos.user_absent: + \- name: daniel +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.nxos.user_present(name, password=None, roles=None, encrypted=False, crypt_salt=None, algorithm=\(aqsha256\(aq) +Ensure a user is present with the specified groups +.INDENT 7.0 +.TP +.B name +Name of user +.TP +.B password +Encrypted or Plain Text password for user +.TP +.B roles +List of roles the user should be assigned. Any roles not in this list will be removed +.TP +.B encrypted +Whether the password is encrypted already or not. Defaults to False +.TP +.B crypt_salt +Salt to use when encrypting the password. Default is None (salt is +randomly generated for unhashed passwords) +.TP +.B algorithm +Algorithm to use for hashing password. Defaults to sha256. +Accepts md5, blowfish, sha256, sha512 +.UNINDENT +.sp +Examples: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +create: + nxos.user_present: + \- name: daniel + \- roles: + \- vdc\-admin + +set_password: + nxos.user_present: + \- name: daniel + \- password: admin + \- roles: + \- network\-admin + +update: + nxos.user_present: + \- name: daniel + \- password: AiN9jaoP + \- roles: + \- network\-admin + \- vdc\-admin +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.openstack_config .sp Manage OpenStack configuration file settings. @@ -241637,6 +263058,11 @@ linux .UNINDENT .INDENT 0.0 .TP +.B salt.states.openstack_config.__virtual__() +Only load if the openstack_config module is in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.openstack_config.absent(name, filename, section, parameter=None) Ensure a value is not set in an OpenStack configuration file. .INDENT 7.0 @@ -241675,12 +263101,17 @@ The value to set Management of Open vSwitch bridges. .INDENT 0.0 .TP +.B salt.states.openvswitch_bridge.__virtual__() +Only make these states available if Open vSwitch module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.openvswitch_bridge.absent(name) Ensures that the named bridge does not exist, eventually deletes it. .INDENT 7.0 .TP -.B Args: -name: The name of the bridge. +.B Parameters +\fBname\fP \-\- The name of the bridge. .UNINDENT .UNINDENT .INDENT 0.0 @@ -241689,8 +263120,8 @@ name: The name of the bridge. Ensures that the named bridge exists, eventually creates it. .INDENT 7.0 .TP -.B Args: -name: The name of the bridge. +.B Parameters +\fBname\fP \-\- The name of the bridge. .UNINDENT .UNINDENT .SS salt.states.openvswitch_port module @@ -241698,14 +263129,23 @@ name: The name of the bridge. Management of Open vSwitch ports. .INDENT 0.0 .TP +.B salt.states.openvswitch_port.__virtual__() +Only make these states available if Open vSwitch module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.openvswitch_port.absent(name, bridge=None) Ensures that the named port exists on bridge, eventually deletes it. If bridge is not set, port is removed from whatever bridge contains it. .INDENT 7.0 .TP -.B Args: -name: The name of the port. -bridge: The name of the bridge. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The name of the port. +.IP \(bu 2 +\fBbridge\fP \-\- The name of the bridge. +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 @@ -241714,13 +263154,21 @@ bridge: The name of the bridge. Ensures that the named port exists on bridge, eventually creates it. .INDENT 7.0 .TP -.B Args: -name: The name of the port. -bridge: The name of the bridge. -type: Optional type of interface to create, currently supports: vlan, vxlan and gre. -id: Optional tunnel\(aqs key. -remote: Remote endpoint\(aqs IP address. -dst_port: Port to use when creating tunnelport in the switch. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- The name of the port. +.IP \(bu 2 +\fBbridge\fP \-\- The name of the bridge. +.IP \(bu 2 +\fBtype\fP \-\- Optional type of interface to create, currently supports: vlan, vxlan and gre. +.IP \(bu 2 +\fBid\fP \-\- Optional tunnel\(aqs key. +.IP \(bu 2 +\fBremote\fP \-\- Remote endpoint\(aqs IP address. +.IP \(bu 2 +\fBdst_port\fP \-\- Port to use when creating tunnelport in the switch. +.UNINDENT .UNINDENT .UNINDENT .SS salt.states.pagerduty @@ -241748,6 +263196,11 @@ server\-warning\-message: .UNINDENT .INDENT 0.0 .TP +.B salt.states.pagerduty.__virtual__() +Only load if the pygerduty module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pagerduty.create_event(name, details, service_key, profile) Create an event on the PagerDuty service .INDENT 7.0 @@ -241825,6 +263278,11 @@ ensure test escalation policy: .UNINDENT .INDENT 0.0 .TP +.B salt.states.pagerduty_escalation_policy.__virtual__() +Only load if the pygerduty module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pagerduty_escalation_policy.absent(profile=\(aqpagerduty\(aq, subdomain=None, api_key=None, **kwargs) Ensure that a PagerDuty escalation policy does not exist. Accepts all the arguments that pagerduty_escalation_policy.present accepts; @@ -241886,11 +263344,7 @@ PagerDuty id (usually a 7 digit all\-caps string, e.g. PX6GQL7) .SS salt.states.pagerduty_schedule .sp Manage PagerDuty schedules. -.sp -Example: -.INDENT 0.0 -.INDENT 3.5 -.INDENT 0.0 +Example.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -241972,7 +263426,10 @@ rotation_turn_length_seconds: 604800 .UNINDENT .UNINDENT .UNINDENT -.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pagerduty_schedule.__virtual__() +Only load if the pygerduty module is available in __salt__ .UNINDENT .INDENT 0.0 .TP @@ -242031,6 +263488,11 @@ type: nagios .UNINDENT .INDENT 0.0 .TP +.B salt.states.pagerduty_service.__virtual__() +Only load if the pygerduty module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pagerduty_service.absent(profile=\(aqpagerduty\(aq, subdomain=None, api_key=None, **kwargs) Ensure a pagerduty service does not exist. Name can be the service name or pagerduty service id. @@ -242108,11 +263570,7 @@ TODO: aws_cloudwatch type should be integrated with boto_sns .SS salt.states.pagerduty_user .sp Manage PagerDuty users. -.sp -Example: -.INDENT 0.0 -.INDENT 3.5 -.INDENT 0.0 +Example.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -242138,7 +263596,10 @@ requester_id: P1GV5NT .UNINDENT .UNINDENT .UNINDENT -.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pagerduty_user.__virtual__() +Only load if the pygerduty module is available in __salt__ .UNINDENT .INDENT 0.0 .TP @@ -242153,6 +263614,707 @@ Ensure pagerduty user exists. Arguments match those supported by \fI\%https://developer.pagerduty.com/documentation/rest/users/create\fP\&. .UNINDENT +.SS salt.states.pcs module +.SS Management of Pacemaker/Corosync clusters with PCS +.sp +A state module to manage Pacemaker/Corosync clusters +with the Pacemaker/Corosync configuration system(PCS) +.sp +New in version 2016.110. + +.INDENT 0.0 +.TP +.B depends +pcs +.UNINDENT +.sp +Walkthrough of a complete pcs cluster setup: +.INDENT 0.0 +.TP +.B Requirements: +PCS is installed, pcs service is started and +the password for the hacluster user is set and known. +.TP +.B Remark on the cibname variable used in the examples: +The use of the cibname varible is optional. +Use it only if you want to deploy your changes into a cibfile first and then push it. +This makes only sense if you want to deploy multiple changes (which require each other) at ones to the cluster. +.UNINDENT +.sp +At first the cibfile must be created: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__cib_present_cib_for_galera: + pcs.cib_present: + \- cibname: cib_for_galera + \- scope: None + \- extra_args: None +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Then the cibfile can be modified by creating resources (creating only 1 resource for demonstration, see also 7.): +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__resource_present_galera: + pcs.resource_present: + \- resource_id: galera + \- resource_type: "ocf:heartbeat:galera" + \- resource_options: + \- \(aqwsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org\(aq + \- \(aq\-\-master\(aq + \- cibname: cib_for_galera +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +After modifying the cibfile it can be pushed to the live CIB in the cluster: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__cib_pushed_cib_for_galera: + pcs.cib_pushed: + \- cibname: cib_for_galera + \- scope: None + \- extra_args: None +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Create a cluster from scratch: +.INDENT 0.0 +.IP 1. 3 +Authorize nodes to each other: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_auth__auth: + pcs.auth: + \- nodes: + \- node1.example.com + \- node2.example.com + \- pcsuser: hacluster + \- pcspasswd: hoonetorg + \- extra_args: [] +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 2. 3 +Do the initial cluster setup: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_setup__setup: + pcs.cluster_setup: + \- nodes: + \- node1.example.com + \- node2.example.com + \- pcsclustername: pcscluster + \- extra_args: + \- \(aq\-\-start\(aq + \- \(aq\-\-enable\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 3. 3 +Optional: Set cluster properties: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_properties__prop_has_value_no\-quorum\-policy: + pcs.prop_has_value: + \- prop: no\-quorum\-policy + \- value: ignore + \- cibname: cib_for_cluster_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 4. 3 +Optional: Set resource defaults: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_properties__resource_defaults_to_resource\-stickiness: + pcs.resource_defaults_to: + \- default: resource\-stickiness + \- value: 100 + \- cibname: cib_for_cluster_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 5. 3 +Optional: Set resource op defaults: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_properties__resource_op_defaults_to_monitor\-interval: + pcs.resource_op_defaults_to: + \- op_default: monitor\-interval + \- value: 60s + \- cibname: cib_for_cluster_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 6. 3 +Configure Fencing (!is not optional on production ready cluster!): +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_stonith__created_eps_fence: + pcs.stonith_present: + \- stonith_id: eps_fence + \- stonith_device_type: fence_eps + \- stonith_device_options: + \- \(aqpcmk_host_map=node1.example.org:01;node2.example.org:02\(aq + \- \(aqipaddr=myepsdevice.example.org\(aq + \- \(aqpower_wait=5\(aq + \- \(aqverbose=1\(aq + \- \(aqdebug=/var/log/pcsd/eps_fence.log\(aq + \- \(aqlogin=hidden\(aq + \- \(aqpasswd=hoonetorg\(aq + \- cibname: cib_for_stonith +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 7. 3 +Add resources to your cluster: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__resource_present_galera: + pcs.resource_present: + \- resource_id: galera + \- resource_type: "ocf:heartbeat:galera" + \- resource_options: + \- \(aqwsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org\(aq + \- \(aq\-\-master\(aq + \- cibname: cib_for_galera +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 8. 3 +Optional: Add constraints (locations, colocations, orders): +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +haproxy_pcs__constraint_present_colocation\-vip_galera\-haproxy\-clone\-INFINITY: + pcs.constraint_present: + \- constraint_id: colocation\-vip_galera\-haproxy\-clone\-INFINITY + \- constraint_type: colocation + \- constraint_options: + \- \(aqadd\(aq + \- \(aqvip_galera\(aq + \- \(aqwith\(aq + \- \(aqhaproxy\-clone\(aq + \- cibname: cib_for_haproxy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.sp +New in version 2016.3.0. + +.INDENT 0.0 +.TP +.B salt.states.pcs.__virtual__() +Only load if pcs package is installed +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.auth(name, nodes, pcsuser=\(aqhacluster\(aq, pcspasswd=\(aqhacluster\(aq, extra_args=None) +Ensure all nodes are authorized to the cluster +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_auth__auth) +.TP +.B nodes +a list of nodes which should be authorized to the cluster +.TP +.B pcsuser +user for communitcation with pcs (default: hacluster) +.TP +.B pcspasswd +password for pcsuser (default: hacluster) +.TP +.B extra_args +list of extra option for the \(aqpcs cluster auth\(aq command +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_auth__auth: + pcs.auth: + \- nodes: + \- node1.example.com + \- node2.example.com + \- pcsuser: hacluster + \- pcspasswd: hoonetorg + \- extra_args: [] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.cib_present(name, cibname, scope=None, extra_args=None) +Ensure that a CIB\-file with the content of the current live CIB is created +.sp +Should be run on one cluster node only +(there may be races) +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: {{formulaname}}__cib_present_{{cibname}}) +.TP +.B cibname +name/path of the file containing the CIB +.TP +.B scope +specific section of the CIB (default: +.TP +.B extra_args +additional options for creating the CIB\-file +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__cib_present_cib_for_galera: + pcs.cib_present: + \- cibname: cib_for_galera + \- scope: None + \- extra_args: None +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.cib_pushed(name, cibname, scope=None, extra_args=None) +Ensure that a CIB\-file is pushed if it is changed since the creation of it with pcs.cib_present +.sp +Should be run on one cluster node only +(there may be races) +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: {{formulaname}}__cib_pushed_{{cibname}}) +.TP +.B cibname +name/path of the file containing the CIB +.TP +.B scope +specific section of the CIB +.TP +.B extra_args +additional options for creating the CIB\-file +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__cib_pushed_cib_for_galera: + pcs.cib_pushed: + \- cibname: cib_for_galera + \- scope: None + \- extra_args: None +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.cluster_node_present(name, node, extra_args=None) +Add a node to the Pacemaker cluster via PCS +Should be run on one cluster node only +(there may be races) +Can only be run on a already setup/added node +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_setup__node_add_{{node}}) +.TP +.B node +node that should be added +.TP +.B extra_args +list of extra option for the \(aqpcs cluster node add\(aq command +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_setup__node_add_node1.example.com: + pcs.cluster_node_present: + \- node: node1.example.com + \- extra_args: + \- \(aq\-\-start\(aq + \- \(aq\-\-enable\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.cluster_setup(name, nodes, pcsclustername=\(aqpcscluster\(aq, extra_args=None) +Setup Pacemaker cluster on nodes. +Should be run on one cluster node only +(there may be races) +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_setup__setup) +.TP +.B nodes +a list of nodes which should be set up +.TP +.B pcsclustername +Name of the Pacemaker cluster +.TP +.B extra_args +list of extra option for the \(aqpcs cluster setup\(aq command +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_setup__setup: + pcs.cluster_setup: + \- nodes: + \- node1.example.com + \- node2.example.com + \- pcsclustername: pcscluster + \- extra_args: + \- \(aq\-\-start\(aq + \- \(aq\-\-enable\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.constraint_present(name, constraint_id, constraint_type, constraint_options=None, cibname=None) +Ensure that a constraint is created +.sp +Should be run on one cluster node only +(there may be races) +Can only be run on a node with a functional pacemaker/corosync +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: {{formulaname}}__constraint_present_{{constraint_id}}) +.TP +.B constraint_id +name for the constraint (try first to create manually to find out the autocreated name) +.TP +.B constraint_type +constraint type (location, colocation, order) +.TP +.B constraint_options +options for creating the constraint +.TP +.B cibname +use a cached CIB\-file named like cibname instead of the live CIB +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +haproxy_pcs__constraint_present_colocation\-vip_galera\-haproxy\-clone\-INFINITY: + pcs.constraint_present: + \- constraint_id: colocation\-vip_galera\-haproxy\-clone\-INFINITY + \- constraint_type: colocation + \- constraint_options: + \- \(aqadd\(aq + \- \(aqvip_galera\(aq + \- \(aqwith\(aq + \- \(aqhaproxy\-clone\(aq + \- cibname: cib_for_haproxy +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.prop_has_value(name, prop, value, extra_args=None, cibname=None) +Ensure that a property in the cluster is set to a given value +.sp +Should be run on one cluster node only +(there may be races) +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_properties__prop_has_value_{{prop}}) +.TP +.B prop +name of the property +.TP +.B value +value of the property prop +.TP +.B extra_args +additional options for the pcs property command +.TP +.B cibname +use a cached CIB\-file named like cibname instead of the live CIB +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_properties__prop_has_value_no\-quorum\-policy: + pcs.prop_has_value: + \- prop: no\-quorum\-policy + \- value: ignore + \- cibname: cib_for_cluster_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.resource_defaults_to(name, default, value, extra_args=None, cibname=None) +Ensure a resource default in the cluster is set to a given value +.sp +Should be run on one cluster node only +(there may be races) +Can only be run on a node with a functional pacemaker/corosync +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_properties__resource_defaults_to_{{default}}) +.TP +.B default +name of the default resource property +.TP +.B value +value of the default resource property +.TP +.B extra_args +additional options for the pcs command +.TP +.B cibname +use a cached CIB\-file named like cibname instead of the live CIB +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_properties__resource_defaults_to_resource\-stickiness: + pcs.resource_defaults_to: + \- default: resource\-stickiness + \- value: 100 + \- cibname: cib_for_cluster_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.resource_op_defaults_to(name, op_default, value, extra_args=None, cibname=None) +Ensure a resource operation default in the cluster is set to a given value +.sp +Should be run on one cluster node only +(there may be races) +Can only be run on a node with a functional pacemaker/corosync +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_properties__resource_op_defaults_to_{{op_default}}) +.TP +.B op_default +name of the operation default resource property +.TP +.B value +value of the operation default resource property +.TP +.B extra_args +additional options for the pcs command +.TP +.B cibname +use a cached CIB\-file named like cibname instead of the live CIB +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_properties__resource_op_defaults_to_monitor\-interval: + pcs.resource_op_defaults_to: + \- op_default: monitor\-interval + \- value: 60s + \- cibname: cib_for_cluster_settings +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.resource_present(name, resource_id, resource_type, resource_options=None, cibname=None) +Ensure that a resource is created +.sp +Should be run on one cluster node only +(there may be races) +Can only be run on a node with a functional pacemaker/corosync +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: {{formulaname}}__resource_present_{{resource_id}}) +.TP +.B resource_id +name for the resource +.TP +.B resource_type +resource type (f.e. ocf:heartbeat:IPaddr2 or VirtualIP) +.TP +.B resource_options +additional options for creating the resource +.TP +.B cibname +use a cached CIB\-file named like cibname instead of the live CIB +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +mysql_pcs__resource_present_galera: + pcs.resource_present: + \- resource_id: galera + \- resource_type: "ocf:heartbeat:galera" + \- resource_options: + \- \(aqwsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org\(aq + \- \(aq\-\-master\(aq + \- cibname: cib_for_galera +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pcs.stonith_present(name, stonith_id, stonith_device_type, stonith_device_options=None, cibname=None) +Ensure that a fencing resource is created +.sp +Should be run on one cluster node only +(there may be races) +Can only be run on a node with a functional pacemaker/corosync +.INDENT 7.0 +.TP +.B name +Irrelevant, not used (recommended: pcs_stonith__created_{{stonith_id}}) +.TP +.B stonith_id +name for the stonith resource +.TP +.B stonith_device_type +name of the stonith agent fence_eps, fence_xvm f.e. +.TP +.B stonith_device_options +additional options for creating the stonith resource +.TP +.B cibname +use a cached CIB\-file named like cibname instead of the live CIB +.UNINDENT +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +pcs_stonith__created_eps_fence: + pcs.stonith_present: + \- stonith_id: eps_fence + \- stonith_device_type: fence_eps + \- stonith_device_options: + \- \(aqpcmk_host_map=node1.example.org:01;node2.example.org:02\(aq + \- \(aqipaddr=myepsdevice.example.org\(aq + \- \(aqpower_wait=5\(aq + \- \(aqverbose=1\(aq + \- \(aqdebug=/var/log/pcsd/eps_fence.log\(aq + \- \(aqlogin=hidden\(aq + \- \(aqpasswd=hoonetorg\(aq + \- cibname: cib_for_stonith +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.pecl .SS Installation of PHP Extensions Using pecl .sp @@ -242178,6 +264340,11 @@ mongo: .UNINDENT .INDENT 0.0 .TP +.B salt.states.pecl.__virtual__() +Only load if the pecl module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pecl.installed(name, version=None, defaults=False, force=False, preferred_state=\(aqstable\(aq) New in version 0.17.0. @@ -242239,7 +264406,12 @@ virtualenvwrapper: .UNINDENT .INDENT 0.0 .TP -.B salt.states.pip_state.installed(name, pkgs=None, pip_bin=None, requirements=None, env=None, bin_env=None, use_wheel=False, no_use_wheel=False, log=None, proxy=None, timeout=None, repo=None, editable=None, find_links=None, index_url=None, extra_index_url=None, no_index=False, mirrors=None, build=None, target=None, download=None, download_cache=None, source=None, upgrade=False, force_reinstall=False, ignore_installed=False, exists_action=None, no_deps=False, no_install=False, no_download=False, install_options=None, global_options=None, user=None, no_chown=False, cwd=None, activate=False, pre_releases=False, cert=None, allow_all_external=False, allow_external=None, allow_unverified=None, process_dependency_links=False, env_vars=None, use_vt=False, trusted_host=None) +.B salt.states.pip_state.__virtual__() +Only load if the pip module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.pip_state.installed(name, pkgs=None, pip_bin=None, requirements=None, bin_env=None, use_wheel=False, no_use_wheel=False, log=None, proxy=None, timeout=None, repo=None, editable=None, find_links=None, index_url=None, extra_index_url=None, no_index=False, mirrors=None, build=None, target=None, download=None, download_cache=None, source=None, upgrade=False, force_reinstall=False, ignore_installed=False, exists_action=None, no_deps=False, no_install=False, no_download=False, install_options=None, global_options=None, user=None, no_chown=False, cwd=None, pre_releases=False, cert=None, allow_all_external=False, allow_external=None, allow_unverified=None, process_dependency_links=False, env_vars=None, use_vt=False, trusted_host=None, no_cache_dir=False) Make sure the package is installed .INDENT 7.0 .TP @@ -242356,16 +264528,11 @@ Download and unpack all packages, but don\(aqt actually install them When user is given, do not attempt to copy and chown a requirements file .TP +.B no_cache_dir: +Disable the cache. +.TP .B cwd Current working directory to run pip from -.TP -.B activate -Activates the virtual environment, if given via bin_env, -before running install. -.sp -Deprecated since version 2014.7.2: If \fIbin_env\fP is given, pip will already be sourced from that -virtualenv, making \fIactivate\fP effectively a noop. - .TP .B pre_releases Include pre\-releases in the available versions @@ -242468,10 +264635,6 @@ The following arguments are deprecated, do not use. .B pip_bin None Deprecated, use \fBbin_env\fP -.TP -.B env -None -Deprecated, use \fBbin_env\fP .UNINDENT .sp Changed in version 0.17.0: \fBuse_wheel\fP option added. @@ -242601,7 +264764,7 @@ Use VT terminal emulation (see output while installing) .TP .B \&..note:: On minions running systemd>=205, as of version 2015.8.12, 2016.3.3, and -Carbon, \fI\%systemd\-run(1)\fP is now used to isolate commands which modify +2016.11.0, \fI\%systemd\-run(1)\fP is now used to isolate commands which modify installed packages from the \fBsalt\-minion\fP daemon\(aqs control group. This is done to keep systemd from killing the package manager commands spawned by Salt, when Salt updates itself (see \fBKillMode\fP in the \fI\%systemd.kill(5)\fP @@ -242687,12 +264850,22 @@ used. This will be addressed in a future release of Salt. .UNINDENT .INDENT 0.0 .TP +.B salt.states.pkg.__virtual__() +Only make these states available if a pkg provider has been detected or +assigned for this minion +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pkg.group_installed(name, skip=None, include=None, **kwargs) New in version 2015.8.0. +.sp +Changed in version 2016.11.0: Added support in \fBpacman\fP + .sp Ensure that an entire package group is installed. This state is currently -only supported for the \fByum\fP package manager. +only supported for the \fByum\fP and \fBpacman\fP +package managers. .INDENT 7.0 .TP .B skip @@ -242747,22 +264920,21 @@ call to \fBpkg.install\fP\&. .UNINDENT .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, **kwargs) +.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 7.0 +.INDENT 0.0 .TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBname\fP (\fI\%str\fP) \-\- The name of the package to be installed. This parameter is ignored if +.B param str name +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. -.IP \(bu 2 -\fBversion\fP (\fI\%str\fP) \-\- -.sp +.TP +.B param str version 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, @@ -242775,7 +264947,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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -242789,7 +264961,7 @@ myminion: .UNINDENT .sp \fBIMPORTANT:\fP -.INDENT 2.0 +.INDENT 7.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 @@ -242822,7 +264994,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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -242850,7 +265022,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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -242868,10 +265040,8 @@ common_packages: .sp If the version given is the string \fBlatest\fP, the latest available package version will be installed à la \fBpkg.latest\fP\&. - -.IP \(bu 2 -\fBrefresh\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool refresh This parameter controls whether or not the package repo database is updated prior to installing the requested package(s). .sp @@ -242888,14 +265058,52 @@ 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 +New in version 2016.11.0. -.IP \(bu 2 -\fBfromrepo\fP (\fI\%str\fP) \-\- .sp +This parameter sets the value in seconds after which the cache is +marked as invalid, and a cache update is necessary. This overwrites +the \fBrefresh\fP parameter\(aqs default behavior. +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +httpd: + pkg.installed: + \- fromrepo: mycustomrepo + \- skip_verify: True + \- skip_suggestions: True + \- version: 2.0.6~ubuntu3 + \- refresh: True + \- cache_valid_time: 300 + \- allow_updates: True + \- hold: False +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +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 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 Specify a repository from which to install .sp \fBNOTE:\fP -.INDENT 2.0 +.INDENT 7.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 @@ -242959,20 +265167,17 @@ 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 - -.IP \(bu 2 -\fBskip_verify\fP (\fI\%bool\fP) \-\- Skip the GPG verification check for the package to be installed -.IP \(bu 2 -\fBskip_suggestions\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool skip_verify +Skip the GPG verification check for the package to be installed +.TP +.B param bool skip_suggestions Force strict package naming. Disables lookup of package alternatives. .sp New in version 2014.1.1. - -.IP \(bu 2 -\fBallow_updates\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool allow_updates 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 @@ -242982,7 +265187,7 @@ New in version 2014.7.0. .sp Example: -.INDENT 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243000,10 +265205,8 @@ httpd: .fi .UNINDENT .UNINDENT - -.IP \(bu 2 -\fBpkg_verify\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool pkg_verify New in version 2014.7.0. .sp @@ -243011,12 +265214,13 @@ For requested packages that are already installed and would not be targeted for upgrade or downgrade, use pkg.verify to determine if any of the files installed by the package have been altered. If files have been altered, the reinstall option of pkg.install is used to force a -reinstall. Types to ignore can be passed to pkg.verify (see example -below). Currently, this option is supported for the following pkg -providers: \fByumpkg\fP\&. +reinstall. Types to ignore can be passed to pkg.verify. Additionally, +\fBverify_options\fP can be used to modify further the behavior of +pkg.verify. See examples below. Currently, this option is supported +for the following pkg providers: \fByumpkg\fP\&. .sp Examples: -.INDENT 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243029,7 +265233,7 @@ httpd: .fi .UNINDENT .UNINDENT -.INDENT 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243041,15 +265245,52 @@ mypkgs: \- bar: 1.2.3\-4 \- baz \- pkg_verify: - \- ignore_types: [config,doc] + \- ignore_types: + \- config + \- doc .ft P .fi .UNINDENT .UNINDENT - -.IP \(bu 2 -\fBnormalize\fP (\fI\%bool\fP) \-\- +.INDENT 7.0 +.INDENT 3.5 .sp +.nf +.ft C +mypkgs: + pkg.installed: + \- pkgs: + \- foo + \- bar: 1.2.3\-4 + \- baz + \- pkg_verify: + \- ignore_types: + \- config + \- doc + \- verify_options: + \- nodeps + \- nofiledigest +.ft P +.fi +.UNINDENT +.UNINDENT +.TP +.B param list ignore_types +List of types to ignore when verifying the package +.sp +New in version 2014.7.0. + +.TP +.B param list verify_options +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 +be run with \fB\-\-nodeps\fP). +.sp +New in version 2016.11.0. + +.TP +.B param bool normalize 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 @@ -243061,7 +265302,7 @@ New in version 2014.7.0. .sp Example: -.INDENT 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243073,15 +265314,13 @@ gpfs.gplbin\-2.6.32\-279.31.1.el6.x86_64: .fi .UNINDENT .UNINDENT - -.IP \(bu 2 -\fBignore_epoch\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool ignore_epoch 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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243101,7 +265340,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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243116,8 +265355,6 @@ vim\-enhanced: .sp New in version 2015.8.9. - -.UNINDENT .UNINDENT .nf @@ -243125,16 +265362,12 @@ New in version 2015.8.9. .sp .sp \fBMULTIPLE PACKAGE INSTALLATION OPTIONS: (not supported in pkgng)\fP -.INDENT 7.0 +.INDENT 0.0 .TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBpkgs\fP (\fIlist\fP) \-\- -.sp +.B param list pkgs A list of packages to install from a software repository. All packages listed under \fBpkgs\fP will be installed via a single command. -.INDENT 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243156,7 +265389,7 @@ mypkgs: \fBpacman\fP, \fByumpkg\fP, and \fBzypper\fP, version numbers can be specified in the \fBpkgs\fP argument. For example: -.INDENT 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243175,7 +265408,7 @@ mypkgs: Additionally, \fBebuild\fP, \fBpacman\fP and \fBzypper\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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243198,7 +265431,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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243213,16 +265446,14 @@ mypkgs: .fi .UNINDENT .UNINDENT - -.IP \(bu 2 -\fBsources\fP (\fIlist\fP) \-\- -.sp +.TP +.B param list sources 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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243237,8 +265468,6 @@ mypkgs: .ft P .fi .UNINDENT -.UNINDENT - .UNINDENT .UNINDENT .sp @@ -243246,27 +265475,33 @@ mypkgs: .sp These are specific to each OS. If it does not apply to the execution module for your OS, it is ignored. -.INDENT 7.0 +.INDENT 0.0 .TP -.B Parameters -.INDENT 7.0 -.IP \(bu 2 -\fBhold\fP (\fI\%bool\fP) \-\- -.sp +.B param bool hold Force the package to be held at the current installed version. -Currently works with YUM & APT based systems. +Currently works with YUM/DNF & APT based systems. .sp New in version 2014.7.0. - -.IP \(bu 2 -\fBnames\fP (\fIlist\fP) \-\- +.TP +.B param bool update_holds +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 +package, the held package(s) will be skipped and the state will fail. +By default, this parameter is set to \fBFalse\fP\&. .sp +This option is currently supported only for YUM/DNF. +.sp +New in version 2016.11.0. + +.TP +.B param list names A list of packages to install from a software repository. Each package will be installed individually by the package manager. .sp \fBWARNING:\fP -.INDENT 2.0 +.INDENT 7.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 @@ -243276,16 +265511,14 @@ single call. It is therefore recommended to use \fBpkgs\fP instead of features and the performance improvement that it brings. .UNINDENT .UNINDENT - -.IP \(bu 2 -\fBinstall_recommends\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool install_recommends 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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243297,16 +265530,14 @@ httpd: .fi .UNINDENT .UNINDENT - -.IP \(bu 2 -\fBonly_upgrade\fP (\fI\%bool\fP) \-\- -.sp +.TP +.B param bool only_upgrade 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 2.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -243320,19 +265551,60 @@ httpd: .UNINDENT .sp \fBNOTE:\fP -.INDENT 2.0 +.INDENT 7.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 Returns +.B Parameters +\fBreport_reboot_exit_codes\fP (\fI\%bool\fP) \-\- .INDENT 7.0 +.INDENT 3.5 +If the installer exits with a recognized exit code indicating that +a reboot is required, the module function +.INDENT 0.0 +.INDENT 3.5 +\fIwin_system.set_reboot_required_witnessed\fP +.UNINDENT +.UNINDENT +.sp +will be called, preserving the knowledge of this event +for the remainder of the current boot session. For the time being, +\fB3010\fP is the only recognized exit code, +but this is subject to future refinement. +The value of this param +defaults to \fBTrue\fP\&. This paramater has no effect +on non\-Windows systems. +.sp +New in version 2016.11.0. + +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +ms vcpp installed: + pkg.installed: + \- name: ms\-vcpp + \- version: 10.0.40219 + \- report_reboot_exit_codes: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B return A dictionary containing the state of the software installation .TP -.B Rtype dict +.B rtype dict .UNINDENT .sp \fBNOTE:\fP @@ -243352,18 +265624,22 @@ 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 .TP .B salt.states.pkg.latest(name, refresh=None, fromrepo=None, skip_verify=False, pkgs=None, watch_flags=True, **kwargs) +.INDENT 7.0 +.INDENT 3.5 Ensure that the named package is installed and the latest available package. If the package can be updated, this state function will update the package. Generally it is better for the \fI\%installed\fP function to be used, as \fI\%latest\fP will update the package whenever a new package is available. -.INDENT 7.0 +.INDENT 0.0 .TP .B name The name of the package to maintain at the latest available version. @@ -243395,16 +265671,52 @@ 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. .UNINDENT +.INDENT 0.0 +.TP +.B param str cache_valid_time +New in version 2016.11.0. + +.sp +This parameter sets the value in seconds after which the cache is +marked as invalid, and a cache update is necessary. This overwrites +the \fBrefresh\fP parameter\(aqs default behavior. +.sp +Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +httpd: + pkg.latest: + \- refresh: True + \- cache_valid_time: 300 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +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 3.5 +This parameter is available only on Debian based distributions and +has no effect on the rest. +.UNINDENT +.UNINDENT +.UNINDENT .sp Multiple Package Installation Options: .sp (Not yet supported for: FreeBSD, OpenBSD, MacOS, and Solaris pkgutil) -.INDENT 7.0 +.INDENT 0.0 .TP .B pkgs A list of packages to maintain at the latest available version. .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -243419,7 +265731,7 @@ mypkgs: .fi .UNINDENT .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .TP .B install_recommends Whether to install the packages marked as recommended. Default is @@ -243428,7 +265740,7 @@ Whether to install the packages marked as recommended. Default is New in version 2015.5.0. .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -243440,7 +265752,7 @@ httpd: .fi .UNINDENT .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .TP .B only_upgrade Only upgrade the packages, if they are already installed. Default is @@ -243449,7 +265761,7 @@ Only upgrade the packages, if they are already installed. Default is New in version 2015.5.0. .UNINDENT -.INDENT 7.0 +.INDENT 0.0 .INDENT 3.5 .sp .nf @@ -243463,13 +265775,49 @@ httpd: .UNINDENT .sp \fBNOTE:\fP -.INDENT 7.0 +.INDENT 0.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 +.INDENT 7.0 +.TP +.B report_reboot_exit_codes +If the installer exits with a recognized exit code indicating that +a reboot is required, the module function +.INDENT 7.0 +.INDENT 3.5 +\fIwin_system.set_reboot_required_witnessed\fP +.UNINDENT +.UNINDENT +.sp +will be called, preserving the knowledge of this event +for the remainder of the current boot session. For the time being, +\fB3010\fP is the only recognized exit code, but this +is subject to future refinement. The value of this param +defaults to \fBTrue\fP\&. This paramater has no effect on +non\-Windows systems. +.sp +New in version 2016.11.0. + +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +ms vcpp installed: + pkg.latest: + \- name: ms\-vcpp + \- report_reboot_exit_codes: False +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.states.pkg.mod_aggregate(low, chunks, running) @@ -243478,6 +265826,29 @@ low chunks and merges them into a single pkgs ref in the present low data .UNINDENT .INDENT 0.0 .TP +.B salt.states.pkg.mod_init(low) +Set a flag to tell the install functions to refresh the package database. +This ensures that the package database is refreshed only once during +a state run significantly improving the speed of package management +during a state run. +.sp +It sets a flag for a number of reasons, primarily due to timeline logic. +When originally setting up the mod_init for pkg a number of corner cases +arose with different package managers and how they refresh package data. +.sp +It also runs the "ex_mod_init" from the package manager module that is +currently loaded. The "ex_mod_init" is expected to work as a normal +"mod_init" function. +.sp +\fBSEE ALSO:\fP +.INDENT 7.0 +.INDENT 3.5 +\fBsalt.modules.ebuild.ex_mod_init()\fP +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pkg.mod_watch(name, **kwargs) Install/reinstall a package based on a watch requisite .UNINDENT @@ -243726,6 +266097,29 @@ reference .TP .B refresh refresh the package database before checking for new upgrades +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +\fBcache_valid_time\fP (\fI\%str\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 +default behavior. +.sp +In this case cache_valid_time is set, refresh will not take place for +amount in seconds since last \fBapt\-get update\fP executed on the system. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +This parameter available only on Debian based distributions, and +have no effect on the rest. +.UNINDENT +.UNINDENT + +.UNINDENT +.INDENT 7.0 .TP .B kwargs Any keyword arguments to pass through to \fBpkg.upgrade\fP\&. @@ -243786,7 +266180,7 @@ salt_2015.5.2: .UNINDENT .INDENT 0.0 .TP -.B salt.states.pkgbuild.built(name, runas, dest_dir, spec, sources, tgt, template=None, deps=None, env=None, results=None, force=False, always=None, saltenv=\(aqbase\(aq, log_dir=\(aq/var/log/salt/pkgbuild\(aq) +.B salt.states.pkgbuild.built(name, runas, dest_dir, spec, sources, tgt, template=None, deps=None, env=None, results=None, force=False, saltenv=\(aqbase\(aq, log_dir=\(aq/var/log/salt/pkgbuild\(aq) Ensure that the named package is built and exists in the named directory .INDENT 7.0 .TP @@ -243859,14 +266253,6 @@ nightly package builds. .sp New in version 2015.8.2. -.TP -.B always -If \fBTrue\fP, packages will be built even if they already exist in the -\fBdest_dir\fP\&. This is useful when building a package for continuous or -nightly package builds. -.sp -Deprecated since version 2015.8.2: Use \fBforce\fP instead. - .TP .B saltenv The saltenv to use for files downloaded from the salt filesever @@ -244050,10 +266436,6 @@ pkgng_clients: .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B salt.states.pkgng.update_packaging_site(name) -.UNINDENT .SS salt.states.pkgrepo .SS Management of APT/YUM package repos .sp @@ -244169,6 +266551,11 @@ installed if it is not present. .UNINDENT .INDENT 0.0 .TP +.B salt.states.pkgrepo.__virtual__() +Only load if modifying repos is available for this package type +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pkgrepo.absent(name, **kwargs) This function deletes the specified repo on the system, if it exists. It is essentially a wrapper around pkg.del_repo. @@ -244453,6 +266840,11 @@ salt: .UNINDENT .INDENT 0.0 .TP +.B salt.states.portage_config.__virtual__() +Only load if the portage_config module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.portage_config.flags(name, use=None, accept_keywords=None, env=None, license=None, properties=None, unmask=False, mask=False) Enforce the given flags on the given package or \fBDEPEND\fP atom. .sp @@ -244491,6 +266883,11 @@ A boolean to unmask the package A boolean to mask the package .UNINDENT .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.portage_config.mod_init(low) +Enforce a nice structure on the configuration files. +.UNINDENT .SS salt.states.ports .sp Manage software from FreeBSD ports @@ -244571,6 +266968,11 @@ create cluster 9.3 main: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_cluster.__virtual__() +Only load if the deb_postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_cluster.absent(version, name) Ensure that the named cluster is absent .INDENT 7.0 @@ -244632,6 +267034,11 @@ frank: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_database.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_database.absent(name, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) Ensure that the named database is absent .INDENT 7.0 @@ -244726,6 +267133,11 @@ adminpack: .sp New in version 2014.7.0. +.INDENT 0.0 +.TP +.B salt.states.postgres_extension.__virtual__() +Only load if the postgres module is present +.UNINDENT .INDENT 0.0 .TP .B salt.states.postgres_extension.absent(name, if_exists=None, restrict=None, cascade=None, user=None, maintenance_db=None, db_user=None, db_password=None, db_host=None, db_port=None) @@ -244831,6 +267243,11 @@ frank: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_group.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_group.absent(name, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) Ensure that the named group is absent .INDENT 7.0 @@ -244973,6 +267390,11 @@ pgsql\-data\-dir: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_initdb.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_initdb.present(name, user=None, password=None, auth=\(aqpassword\(aq, encoding=\(aqUTF8\(aq, locale=None, runas=None) Initialize the PostgreSQL data directory .INDENT 7.0 @@ -245033,6 +267455,11 @@ plpgsql: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_language.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_language.absent(name, maintenance_db, user=None, db_password=None, db_host=None, db_port=None, db_user=None) Ensure that a named language is absent in the specified database. @@ -245187,6 +267614,11 @@ andrew: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_privileges.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_privileges.absent(name, object_name, object_type, privileges=None, prepend=\(aqpublic\(aq, maintenance_db=None, user=None, db_password=None, db_host=None, db_port=None, db_user=None) Revoke the requested privilege(s) on the specificed object(s) .INDENT 7.0 @@ -245387,6 +267819,11 @@ public: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_schema.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_schema.absent(dbname, name, db_user=None, db_password=None, db_host=None, db_port=None) Ensure that the named schema is absent. .INDENT 7.0 @@ -245458,6 +267895,11 @@ ssd\-tablespace: .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.states.postgres_tablespace.__virtual__() +Only load if the postgres module is present and is new enough (has ts funcs) +.UNINDENT .INDENT 0.0 .TP .B salt.states.postgres_tablespace.absent(name, user=None, maintenance_db=None, db_user=None, db_password=None, db_host=None, db_port=None) @@ -245564,6 +268006,11 @@ frank: .UNINDENT .INDENT 0.0 .TP +.B salt.states.postgres_user.__virtual__() +Only load if the postgres module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.postgres_user.absent(name, user=None, maintenance_db=None, db_password=None, db_host=None, db_port=None, db_user=None) Ensure that the named user is absent .INDENT 7.0 @@ -245722,6 +268169,148 @@ on the host. The license key to ensure is present .UNINDENT .UNINDENT +.SS salt.states.probes +.SS Network Probes +.sp +Configure RPM (JunOS)/SLA (Cisco) probes on the device via NAPALM proxy. +.INDENT 0.0 +.TP +.B codeauthor +Mircea Ulinic <\fI\%mircea@cloudflare.com\fP> & Jerome Fleury <\fI\%jf@cloudflare.com\fP> +.TP +.B maturity +new +.TP +.B depends +napalm +.TP +.B platform +linux +.UNINDENT +.SS Dependencies +.INDENT 0.0 +.IP \(bu 2 +\fBnapalm probes management module\fP +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.probes.__virtual__() +This is a virtual state module called "probes". +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.probes.managed(name, probes, defaults=None) +Ensure the networks device is configured as specified in the state SLS file. +Probes not specified will be removed, while probes not confiured as expected will trigger config updates. +.INDENT 7.0 +.TP +.B Parameters +\fBprobes\fP \-\- Defines the probes as expected to be configured on the device. +.UNINDENT +.sp +In order to ease the configuration and avoid repeating the same parameters for each probe, +the next parameter (defaults) can be used, providing common characteristics. +:param defaults: Specifies common parameters for the probes. +.sp +SLS Example: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +rpmprobes: + probes.managed: + \- probes: + probe_name1: + probe1_test1: + source: 192.168.0.2 + target: 192.168.0.1 + probe1_test2: + target: 172.17.17.1 + probe1_test3: + target: 8.8.8.8 + probe_type: http\-ping + probe_name2: + probe2_test1: + test_interval: 100 + \- defaults: + target: 10.10.10.10 + probe_count: 15 + test_interval: 3 + probe_type: icmp\-ping +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +In the probes configuration, the only mandatory attribute is \fItarget\fP +(specified either in probes configuration, either in the defaults +dictionary). All the other parameters will use the operating system +defaults, if not provided: +.INDENT 7.0 +.IP \(bu 2 +.INDENT 2.0 +.TP +.B source: Specifies the source IP Address to be used during the tests. +If not specified will use the IP Address of the logical interface loopback0. +.UNINDENT +.IP \(bu 2 +target: Destination IP Address. +.IP \(bu 2 +probe_count: Total number of probes per test (1..15). System defaults: 1 on both JunOS & Cisco. +.IP \(bu 2 +probe_interval: Delay between tests (0..86400 seconds). System defaults: 3 on JunOS, 5 on Cisco. +.IP \(bu 2 +probe_type: Probe request type. Available options: +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +icmp\-ping +.IP \(bu 2 +tcp\-ping +.IP \(bu 2 +udp\-ping +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Using the example configuration above, after running the state, on the device will be configured 4 probes, +with the following properties: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +probe_name1: + probe1_test1: + source: 192.168.0.2 + target: 192.168.0.1 + probe_count: 15 + test_interval: 3 + probe_type: icmp\-ping + probe1_test2: + target: 172.17.17.1 + probe_count: 15 + test_interval: 3 + probe_type: icmp\-ping + probe1_test3: + target: 8.8.8.8 + probe_count: 15 + test_interval: 3 + probe_type: http\-ping +probe_name2: + probe2_test1: + target: 10.10.10.10 + probe_count: 15 + test_interval: 3 + probe_type: icmp\-ping +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.process .SS Process Management .sp @@ -245794,6 +268383,11 @@ token: peWcBiMOS9HrZG15peWcBiMOS9HrZG15 .UNINDENT .INDENT 0.0 .TP +.B salt.states.pushover.__virtual__() +Only load if the pushover module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pushover.post_message(name, user=None, device=None, message=None, title=None, priority=None, expire=None, retry=None, sound=None, api_version=1, token=None) Send a message to a PushOver channel. .INDENT 7.0 @@ -245901,6 +268495,14 @@ python\-2.7.6: .fi .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +Git needs to be installed and available via PATH if pyenv is to be +installed automatically by the module. +.UNINDENT +.UNINDENT .INDENT 0.0 .TP .B salt.states.pyenv.absent(name, user=None) @@ -245990,6 +268592,11 @@ myqueue: .UNINDENT .INDENT 0.0 .TP +.B salt.states.pyrax_queues.__virtual__() +Only load if pyrax is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.pyrax_queues.absent(name, provider) Ensure the named Rackspace queue is deleted. .INDENT 7.0 @@ -246033,6 +268640,11 @@ The quota can be managed for the system: .UNINDENT .INDENT 0.0 .TP +.B salt.states.quota.__virtual__() +Only load if the quota module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.quota.mode(name, mode, quotatype) Set the quota for the system .INDENT 7.0 @@ -246066,6 +268678,11 @@ rabbit@rabbit.example.com: .UNINDENT .INDENT 0.0 .TP +.B salt.states.rabbitmq_cluster.__virtual__() +Only load if RabbitMQ is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.rabbitmq_cluster.join(name, host, user=\(aqrabbit\(aq, ram_node=None, runas=\(aqroot\(aq) This function is an alias of \fBjoined\fP\&. .INDENT 7.0 @@ -246133,6 +268750,11 @@ some_plugin: .UNINDENT .INDENT 0.0 .TP +.B salt.states.rabbitmq_plugin.__virtual__() +Only load if RabbitMQ is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.rabbitmq_plugin.disabled(name, runas=None) Ensure the RabbitMQ plugin is disabled. .INDENT 7.0 @@ -246188,6 +268810,11 @@ rabbit_policy: .UNINDENT .INDENT 0.0 .TP +.B salt.states.rabbitmq_policy.__virtual__() +Only load if RabbitMQ is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.rabbitmq_policy.absent(name, vhost=\(aq/\(aq, runas=None) Ensure the named policy is absent .sp @@ -246256,6 +268883,11 @@ rabbit_user: .UNINDENT .INDENT 0.0 .TP +.B salt.states.rabbitmq_user.__virtual__() +Only load if RabbitMQ is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.rabbitmq_user.absent(name, runas=None) Ensure the named user is absent .INDENT 7.0 @@ -246313,6 +268945,11 @@ virtual_host: .UNINDENT .INDENT 0.0 .TP +.B salt.states.rabbitmq_vhost.__virtual__() +Only load if RabbitMQ is installed. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.rabbitmq_vhost.absent(name) Ensure the RabbitMQ Virtual Host is absent .INDENT 7.0 @@ -246497,6 +269134,11 @@ New in version 0.16.0. Manage RDP Service on Windows servers .INDENT 0.0 .TP +.B salt.states.rdp.__virtual__() +Load only if network_win is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.rdp.disabled(name) Disable the RDP service .UNINDENT @@ -246556,6 +269198,11 @@ key_in_redis: .UNINDENT .INDENT 0.0 .TP +.B salt.states.redismod.__virtual__() +Only load if the redis module is in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.redismod.absent(name, keys=None, **connection_args) Ensure key absent from redis .INDENT 7.0 @@ -246626,7 +269273,6 @@ Values or Entries are the name/data pairs beneath the keys and subkeys. All keys have a default name/data pair. It is usually "(Default)"="(value not set)". The actual value for the name and the date is Null. The registry editor will display "(Default)" and "(value not set)". -.SS Example .sp The following example is taken from the windows startup portion of the registry: \fB\(ga @@ -246652,6 +269298,11 @@ Each value name has a corresponding value .UNINDENT .INDENT 0.0 .TP +.B salt.states.reg.__virtual__() +Load this state if the reg module exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.reg.absent(name, vname=None, use_32bit_registry=False) Ensure a registry value is removed. To remove a key use key_absent. .INDENT 7.0 @@ -246688,7 +269339,7 @@ Key. If this parameter is not passed it will assume you want to set the .UNINDENT .sp Applies only to 64bit windows. 32bit Windows will ignore this parameter. -Default if False. +Default is False. .INDENT 7.0 .TP .B Returns @@ -246704,29 +269355,21 @@ CLI Example: .sp .nf .ft C -\(aqHKEY_CURRENT_USER\eSOFTWARE\eSalt\eversion\(aq: +\(aqHKEY_CURRENT_USER\eSOFTWARE\eSalt\(aq: reg.absent + \- vname: version .ft P .fi .UNINDENT .UNINDENT .sp -In the above example the path is interpreted as follows: -.INDENT 7.0 -.IP \(bu 2 -\fBHKEY_CURRENT_USER\fP is the hive -.IP \(bu 2 -\fBSOFTWARE\eSalt\fP is the key -.IP \(bu 2 -\fBversion\fP is the value name -.UNINDENT -.sp -So the value \fBversion\fP will be deleted from the \fBSOFTWARE\eSalt\fP key in -the \fBHKEY_CURRENT_USER\fP hive. +In the above example the value named \fBversion\fP will be removed from +the SOFTWARESalt key in the HKEY_CURRENT_USER hive. If \fBvname\fP was not +passed, the (Default) value would be deleted. .UNINDENT .INDENT 0.0 .TP -.B salt.states.reg.key_absent(name, force=False, use_32bit_registry=False) +.B salt.states.reg.key_absent(name, use_32bit_registry=False) New in version 2015.5.4. .sp @@ -246738,7 +269381,8 @@ entries it contains. It will fail if the key contains subkeys. \fBname\fP (\fI\%str\fP) \-\- A string representing the full path to the key to be .UNINDENT .sp -removed to include the hive and the keypath. The hive can be any of the following: +removed to include the hive and the keypath. The hive can be any of the +following: .INDENT 7.0 .IP \(bu 2 HKEY_LOCAL_MACHINE or HKLM @@ -246750,11 +269394,11 @@ HKEY_USER or HKU .INDENT 7.0 .TP .B Parameters -\fBforce\fP (\fI\%bool\fP) \-\- A boolean value indicating that all subkeys should be +\fBuse_32bit_registry\fP (\fI\%bool\fP) \-\- Use the 32bit portion of the registry. .UNINDENT .sp -deleted with the key. If force=False and subkeys exists beneath the key you -want to delete, key_absent will fail. Use with caution. The default is False. +Applies only to 64bit windows. 32bit Windows will ignore this parameter. +Default is False. .INDENT 7.0 .TP .B Returns @@ -246791,7 +269435,7 @@ In the above example the path is interpreted as follows: .UNINDENT .INDENT 0.0 .TP -.B salt.states.reg.present(name, value=None, vname=None, vdata=None, vtype=\(aqREG_SZ\(aq, reflection=True, use_32bit_registry=False) +.B salt.states.reg.present(name, vname=None, vdata=None, vtype=\(aqREG_SZ\(aq, use_32bit_registry=False) Ensure a registry key or value is present. .INDENT 7.0 .TP @@ -246810,13 +269454,6 @@ Valid hive values include: .INDENT 7.0 .TP .B Parameters -\fBvalue\fP (\fI\%str\fP) \-\- Deprecated. Use vname and vdata instead. Included here for -.UNINDENT -.sp -backwards compatibility. -.INDENT 7.0 -.TP -.B Parameters \fBvname\fP (\fI\%str\fP) \-\- The name of the value you\(aqd like to create beneath the .UNINDENT .sp @@ -246825,11 +269462,11 @@ Key. If this parameter is not passed it will assume you want to set the .INDENT 7.0 .TP .B Parameters -\fBvdata\fP (\fI\%str\fP) \-\- The value you\(aqd like to set for the Key. If a value name +\fBvdata\fP (\fI\%str\fP) \-\- The value you\(aqd like to set. If a value name (vname) is .UNINDENT .sp -(vname) is passed, this will be the data for that value name. If not, this -will be the (Default) value for the key. +passed, this will be the data for that value name. If not, this will be the +(Default) value for the key. .sp The type for the (Default) value is always REG_SZ and cannot be changed. This parameter is optional. If not passed, the Key will be created with no @@ -246853,20 +269490,6 @@ REG_MULTI_SZ .IP \(bu 2 REG_SZ (Default) .UNINDENT -.INDENT 7.0 -.TP -.B Parameters -\fBreflection\fP (\fI\%bool\fP) \-\- On 64 bit machines a duplicate value will be created -.UNINDENT -.sp -in the \fBWow6432Node\fP for 32bit programs. This only applies to the SOFTWARE -key. This option is ignored on 32bit operating systems. This value defaults -to True. Set it to False to disable reflection. -.sp -Deprecated since version 2015.8.2: Use \fIuse_32bit_registry\fP instead. -The parameter seems to have no effect since Windows 7 / Windows 2008R2 -removed support for reflection. The parameter will be removed in Carbon. - .INDENT 7.0 .TP .B Parameters @@ -246874,7 +269497,7 @@ removed support for reflection. The parameter will be removed in Carbon. .UNINDENT .sp Applies only to 64bit windows. 32bit Windows will ignore this parameter. -Default if False. +Default is False. .INDENT 7.0 .TP .B Returns @@ -246885,8 +269508,7 @@ Returns a dictionary showing the results of the registry operation. .UNINDENT .sp The following example will set the \fB(Default)\fP value for the -\fBSOFTWARE\eSalt\fP key in the \fBHKEY_CURRENT_USER\fP hive to \fB0.15.3\fP\&. The -value will not be reflected in \fBWow6432Node\fP: +\fBSOFTWARE\eSalt\fP key in the \fBHKEY_CURRENT_USER\fP hive to \fB2016.3.1\fP: .sp Example: .INDENT 7.0 @@ -246896,15 +269518,14 @@ Example: .ft C HKEY_CURRENT_USER\eSOFTWARE\eSalt: reg.present: - \- vdata: 0.15.3 - \- reflection: False + \- vdata: 2016.3.1 .ft P .fi .UNINDENT .UNINDENT .sp The following example will set the value for the \fBversion\fP entry under the -\fBSOFTWARE\eSalt\fP key in the \fBHKEY_CURRENT_USER\fP hive to \fB0.15.3\fP\&. The +\fBSOFTWARE\eSalt\fP key in the \fBHKEY_CURRENT_USER\fP hive to \fB2016.3.1\fP\&. The value will be reflected in \fBWow6432Node\fP: .sp Example: @@ -246916,7 +269537,7 @@ Example: HKEY_CURRENT_USER\eSOFTWARE\eSalt: reg.present: \- vname: version - \- vdata: 0.15.3 + \- vdata: 2016.3.1 .ft P .fi .UNINDENT @@ -246945,6 +269566,16 @@ New in version 2016.3.0. \- force: True .ft P .fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.rsync.__virtual__() +Only if Rsync is available. +.INDENT 7.0 +.TP +.B Returns + .UNINDENT .UNINDENT .INDENT 0.0 @@ -247178,17 +269809,14 @@ Create the salt proxy file and start the proxy process if required .INDENT 7.0 .TP -.B Parameters: +.B Parameters .INDENT 7.0 -.TP -.B name: -The name of this state -.TP -.B proxyname: -Name to be used for this proxy (should match entries in pillar) -.TP -.B start: -Boolean indicating if the process should be started +.IP \(bu 2 +\fBname\fP \-\- The name of this state +.IP \(bu 2 +\fBproxyname\fP \-\- Name to be used for this proxy (should match entries in pillar) +.IP \(bu 2 +\fBstart\fP \-\- Boolean indicating if the process should be started .UNINDENT .UNINDENT .sp @@ -247220,6 +269848,16 @@ start: True This state is intended for use from the Salt Master. It provides access to sending commands down to minions as well as access to executing master\-side modules. These state functions wrap Salt\(aqs Python API\&. +.INDENT 0.0 +.INDENT 3.5 +Support for masterless minions was added to the \fBsalt.state\fP function, +so they can run orchestration sls files. This is particularly useful when +the rendering of a state is dependent on the execution of another state. +Orchestration will render and execute each orchestration block +independently, while honoring requisites to ensure the states are applied +in the correct order. +.UNINDENT +.UNINDENT .sp \fBSEE ALSO:\fP .INDENT 0.0 @@ -247235,6 +269873,11 @@ Full Orchestrate Tutorial .UNINDENT .INDENT 0.0 .TP +.B salt.states.saltmod.__virtual__() +Named salt +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.saltmod.function(name, tgt, ssh=False, tgt_type=None, expr_form=None, ret=\(aq\(aq, expect_minions=False, fail_minions=None, fail_function=None, arg=None, kwarg=None, timeout=None, batch=None) Execute a single module function on a remote minion via salt or salt\-ssh .INDENT 7.0 @@ -247301,7 +269944,7 @@ run\-manage\-up: .UNINDENT .INDENT 0.0 .TP -.B salt.states.saltmod.state(name, tgt, ssh=False, tgt_type=None, expr_form=None, ret=\(aq\(aq, highstate=None, sls=None, top=None, env=None, test=False, pillar=None, expect_minions=False, fail_minions=None, allow_fail=0, concurrent=False, timeout=None, batch=None, queue=False) +.B salt.states.saltmod.state(name, tgt, ssh=False, tgt_type=None, expr_form=None, ret=\(aq\(aq, highstate=None, sls=None, top=None, saltenv=None, test=False, pillar=None, expect_minions=False, fail_minions=None, allow_fail=0, concurrent=False, timeout=None, batch=None, queue=False, orchestration_jid=None) Invoke a state run on a given target .INDENT 7.0 .TP @@ -247310,6 +269953,9 @@ An arbitrary name used to track the state execution .TP .B tgt The target specification for the state run. +.sp +Masterless support: When running on a masterless minion, the \fBtgt\fP +is ignored and will always be the local minion. .TP .B tgt_type | expr_form The target type to resolve, defaults to glob @@ -247755,6 +270401,11 @@ execution module is available. .UNINDENT .INDENT 0.0 .TP +.B salt.states.selinux.__virtual__() +Only make this state available if the selinux module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.selinux.boolean(name, value, persist=False) Set up an SELinux boolean .INDENT 7.0 @@ -247773,12 +270424,21 @@ reboot .INDENT 0.0 .TP .B salt.states.selinux.mode(name) -Verifies the mode SELinux is running in, can be set to enforcing or -permissive +Verifies the mode SELinux is running in, can be set to enforcing, +permissive, or disabled +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B Note: A change to or from disabled mode requires a system reboot. +You will need to perform this yourself. +.UNINDENT +.UNINDENT +.UNINDENT .INDENT 7.0 .TP .B name -The mode to run SELinux in, permissive or enforcing +The mode to run SELinux in, permissive, enforcing, or disabled. .UNINDENT .UNINDENT .INDENT 0.0 @@ -248026,6 +270686,12 @@ More details regarding \fBwatch\fP can be found in the .UNINDENT .INDENT 0.0 .TP +.B salt.states.service.__virtual__() +Only make these states available if a service provider has been detected or +assigned for this minion +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.service.dead(name, enable=None, sig=None, **kwargs) Ensure that the named service is dead by stopping the service if it is running .INDENT 7.0 @@ -248174,6 +270840,11 @@ slack: .UNINDENT .INDENT 0.0 .TP +.B salt.states.slack.__virtual__() +Only load if the slack module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.slack.post_message(name, channel, from_name, message, api_key=None, icon=None) Send a message to a Slack channel. .INDENT 7.0 @@ -248323,6 +270994,11 @@ The same behavior as when using \(aqvmadm update\(aq. .UNINDENT .INDENT 0.0 .TP +.B salt.states.smartos.__virtual__() +Provides smartos state provided for SmartOS +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.smartos.config_absent(name) Ensure configuration property is absent in /usbkey/config .INDENT 7.0 @@ -248536,6 +271212,11 @@ server\-warning\-message: .UNINDENT .INDENT 0.0 .TP +.B salt.states.smtp.__virtual__() +Only load if the SMTP module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.smtp.send_msg(name, recipient, subject, sender, profile, use_ssl=\(aqTrue\(aq) Send a message via SMTP .INDENT 7.0 @@ -248584,6 +271265,11 @@ ensure example test user 1: .UNINDENT .INDENT 0.0 .TP +.B salt.states.splunk.__virtual__() +Only load if the splunk module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.splunk.absent(email, profile=\(aqsplunk\(aq, **kwargs) Ensure a splunk user is absent .INDENT 7.0 @@ -248660,6 +271346,11 @@ server\-warning\-message: .UNINDENT .INDENT 0.0 .TP +.B salt.states.splunk_search.__virtual__() +Only load if the splunk_search module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.splunk_search.absent(name, profile=\(aqsplunk\(aq) Ensure a search is absent .INDENT 7.0 @@ -248841,6 +271532,11 @@ user_john_doe_abc: .UNINDENT .INDENT 0.0 .TP +.B salt.states.sqlite3.__virtual__() +Only load if the sqlite3 module is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.sqlite3.row_absent(name, db, table, where_sql, where_args=None) Makes sure the specified row is absent in db. If multiple rows match where_sql, then the state will fail. @@ -249117,7 +271813,7 @@ absolute path when a user is not specified. .UNINDENT .INDENT 0.0 .TP -.B salt.states.ssh_known_hosts.present(name, user=None, fingerprint=None, key=None, port=None, enc=None, config=None, hash_hostname=True, hash_known_hosts=True, timeout=5) +.B salt.states.ssh_known_hosts.present(name, user=None, fingerprint=None, key=None, port=None, enc=None, config=None, hash_known_hosts=True, timeout=5) Verifies that the specified host is known by the specified user .sp On many systems, specifically those running with openssh 4 or older, the @@ -249152,13 +271848,6 @@ The location of the authorized keys file relative to the user\(aqs home directory, defaults to ".ssh/known_hosts". If no user is specified, defaults to "/etc/ssh/ssh_known_hosts". If present, must be an absolute path when a user is not specified. -.TP -.B hash_hostname -True -Hash all hostnames and addresses in the known hosts file. -.sp -Deprecated since version Carbon: Please use hash_known_hosts instead. - .TP .B hash_known_hosts True @@ -249216,6 +271905,11 @@ Support for Stormpath. .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.states.stormpath_account.__virtual__() +Only load if the stormpath module is available in __salt__ +.UNINDENT .INDENT 0.0 .TP .B salt.states.stormpath_account.absent(name, directory_id=None) @@ -249316,10 +272010,6 @@ installed .UNINDENT .INDENT 0.0 .TP -.B salt.states.supervisord.mod_watch(name, restart=True, update=False, user=None, conf_file=None, bin_env=None, **kwargs) -.UNINDENT -.INDENT 0.0 -.TP .B salt.states.supervisord.running(name, restart=False, update=False, user=None, conf_file=None, bin_env=None, **kwargs) Ensure the named service is running. .INDENT 7.0 @@ -249371,6 +272061,11 @@ http://unladen\-swallow.googlecode.com/svn/trunk/: .UNINDENT .INDENT 0.0 .TP +.B salt.states.svn.__virtual__() +Only load if svn is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.svn.dirty(name, target, user=None, username=None, password=None, ignore_unversioned=False) Determine if the working directory has been changed. .UNINDENT @@ -249489,6 +272184,11 @@ vm.swappiness: .UNINDENT .INDENT 0.0 .TP +.B salt.states.sysctl.__virtual__() +This state is only available on Minions which support sysctl +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.sysctl.present(name, value, config=None) Ensure that the named sysctl value is set in memory and persisted to the named configuration file. The default sysctl configuration file is @@ -249596,6 +272296,11 @@ Kills syslog\-ng. .SS salt.states.sysrc .INDENT 0.0 .TP +.B salt.states.sysrc.__virtual__() +Only load if sysrc executable exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.sysrc.absent(name, **kwargs) Ensure a sysrc variable is absent. .INDENT 7.0 @@ -250002,6 +272707,11 @@ it applies to systems that dual\-boot with Windows. This is explained in greater detail \fI\%here\fP\&. .INDENT 0.0 .TP +.B salt.states.timezone.__virtual__() +Only load if the timezone module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.timezone.system(name, utc=True) Set the timezone for the system. .INDENT 7.0 @@ -250022,65 +272732,72 @@ Verify that a TLS certificate is valid now and (optionally) will be valid for the time specified through weeks, days, hours, minutes, and seconds. .UNINDENT .SS salt.states.tomcat +.SS Manage Apache Tomcat web applications .sp -This state uses the manager webapp to manage Apache tomcat webapps -This state requires the manager webapp to be enabled +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +This state requires the Tomcat Manager webapp to be installed and running. +.UNINDENT +.UNINDENT .sp -The following grains/pillar should be set: +The following grains/pillars must be set for communication with Tomcat Manager +to work: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C -tomcat\-manager:user: admin user name -tomcat\-manager:passwd: password +tomcat\-manager: + user: \(aqtomcat\-manager\(aq + passwd: \(aqPassw0rd\(aq .ft P .fi .UNINDENT .UNINDENT +.SS Configuring Tomcat Manager .sp -and also configure a user in the conf/tomcat\-users.xml file: -.INDENT 0.0 +To manage webapps via the Tomcat Manager, you\(aqll need to configure +a valid user in the file \fBconf/tomcat\-users.xml\fP\&. +conf/tomcat\-users.xml.INDENT 0.0 .INDENT 3.5 .sp .nf .ft C - - - - - + + + + + .ft P .fi .UNINDENT .UNINDENT -.sp -Notes: -.INDENT 0.0 +Notes.INDENT 0.0 .IP \(bu 2 -Not supported multiple version on the same context path +Using multiple versions (aka. parallel deployments) on the same context +path is not supported. .IP \(bu 2 -.INDENT 2.0 -.TP -.B More information about tomcat manager: +More information about the Tomcat Manager: \fI\%http://tomcat.apache.org/tomcat\-7.0\-doc/manager\-howto.html\fP -.UNINDENT +.IP \(bu 2 +If you use only this module for deployments you might want to restrict +access to the manager so it\(aqs only accessible via localhost. +For more info: \fI\%http://tomcat.apache.org/tomcat\-7.0\-doc/manager\-howto.html#Configuring_Manager_Application_Access\fP .IP \(bu 2 .INDENT 2.0 .TP -.B if you use only this module for deployments you might want to restrict -access to the manager so its only accessible via localhost -for more info: \fI\%http://tomcat.apache.org/tomcat\-7.0\-doc/manager\-howto.html#Configuring_Manager_Application_Access\fP -.UNINDENT -.IP \(bu 2 -Tested on: -.INDENT 2.0 +.B Last tested on: +.INDENT 7.0 +.TP +.B Tomcat Version: +Apache Tomcat/7.0.54 .TP .B JVM Vendor: -Sun Microsystems Inc. +Oracle Corporation .TP .B JVM Version: -1.6.0_43\-b01 +1.8.0_101\-b13 .TP .B OS Architecture: amd64 @@ -250089,12 +272806,15 @@ amd64 Linux .TP .B OS Version: -2.6.32\-358.el6.x86_64 -.TP -.B Tomcat Version: -Apache Tomcat/7.0.37 +3.10.0\-327.22.2.el7.x86_64 .UNINDENT .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.tomcat.__virtual__() +Load if the module tomcat exists +.UNINDENT .INDENT 0.0 .TP .B salt.states.tomcat.mod_watch(name, url=\(aqhttp://localhost:8080/manager\(aq, timeout=180) @@ -250104,19 +272824,19 @@ When called it will reload the webapp in question .INDENT 0.0 .TP .B salt.states.tomcat.undeployed(name, url=\(aqhttp://localhost:8080/manager\(aq, timeout=180) -Enforce that the WAR will be un\-deployed from the server +Enforce that the WAR will be undeployed from the server .INDENT 7.0 .TP .B name -the context path to deploy +The context path to undeploy. .TP .B url \fI\%http://localhost:8080/manager\fP -the URL of the server manager webapp +The URL of the server with the Tomcat Manager webapp. .TP .B timeout 180 -timeout for HTTP request to the tomcat manager +Timeout for HTTP request to the Tomcat Manager. .UNINDENT .sp Example: @@ -250138,21 +272858,21 @@ jenkins: .INDENT 0.0 .TP .B salt.states.tomcat.wait(name, url=\(aqhttp://localhost:8080/manager\(aq, timeout=180) -Wait for the tomcat manager to load +Wait for the Tomcat Manager to load. .sp Notice that if tomcat is not running we won\(aqt wait for it start and the state will fail. This state can be required in the tomcat.war_deployed state to make sure tomcat is running and that the manager is running as -well and ready for deployment +well and ready for deployment. .INDENT 7.0 .TP .B url \fI\%http://localhost:8080/manager\fP -the URL of the server manager webapp +The URL of the server with the Tomcat Manager webapp. .TP .B timeout 180 -timeout for HTTP request to the tomcat manager +Timeout for HTTP request to the Tomcat Manager. .UNINDENT .sp Example: @@ -250186,43 +272906,55 @@ jenkins: .INDENT 0.0 .TP .B salt.states.tomcat.war_deployed(name, war, force=False, url=\(aqhttp://localhost:8080/manager\(aq, timeout=180, temp_war_location=None, version=\(aq\(aq) -Enforce that the WAR will be deployed and started in the context path -it will make use of WAR versions +Enforce that the WAR will be deployed and started in the context path, +while making use of WAR versions in the filename. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +For more info about Tomcats file paths and context naming, please see +\fI\%http://tomcat.apache.org/tomcat\-7.0\-doc/config/context.html#Naming\fP +.UNINDENT +.UNINDENT .INDENT 7.0 .TP -.B for more info: -\fI\%http://tomcat.apache.org/tomcat\-7.0\-doc/config/context.html#Naming\fP -.TP .B name -the context path to deploy +The context path to deploy (incl. forward slash) the WAR to. .TP .B war -absolute path to WAR file (should be accessible by the user running -tomcat) or a path supported by the salt.modules.cp.get_url function +Absolute path to WAR file (should be accessible by the user running +Tomcat) or a path supported by the \fBsalt.modules.cp.get_url\fP function. .TP .B force -force deploy even if version strings are the same, False by default. +False +Force deployment even if the version strings are the same. +Disabled by default. .TP .B url \fI\%http://localhost:8080/manager\fP -the URL of the server manager webapp +The URL of the Tomcat Web Application Manager. .TP .B timeout 180 -timeout for HTTP request to the tomcat manager +Timeout for HTTP requests to the Tomcat Manager. .TP .B temp_war_location None -use another location to temporarily copy to war file -by default the system\(aqs temp directory is used +Use another location to temporarily copy the WAR file to. +By default the system\(aqs temp directory is used. .TP .B version \(aq\(aq -Specify the war version. If this argument is provided, it overrides -the version encoded in the war file name, if one is present. +Specify the WAR version. If this argument is provided, it overrides +the version encoded in the WAR file name, if one is present. .sp New in version 2015.8.6. +.sp +Use \fBFalse\fP to prevent guessing the version and keeping it blank. +.sp +New in version 2016.PLEASE_LET_ME_KNOW. + .UNINDENT .sp Example: @@ -250241,12 +272973,26 @@ jenkins: .fi .UNINDENT .UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Be aware that in the above example the WAR \fBjenkins\-1.2.4.war\fP will +be deployed to the context path \fBjenkins##1.2.4\fP\&. To avoid this +either specify a version yourself, or set version to \fBFalse\fP\&. +.UNINDENT +.UNINDENT .UNINDENT .SS salt.states.trafficserver .SS Control Apache Traffic Server .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B salt.states.trafficserver.__virtual__() +Only load if the Traffic Server module is available in __salt__ +.UNINDENT .INDENT 0.0 .TP .B salt.states.trafficserver.bounce_cluster(name) @@ -250324,6 +273070,30 @@ clear_ats_node: .UNINDENT .INDENT 0.0 .TP +.B salt.states.trafficserver.config(name, value) +Set Traffic Server configuration variable values. +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +proxy.config.proxy_name: + trafficserver.config: + \- value: cdn.site.domain.tld + +OR + +traffic_server_setting: + trafficserver.config: + \- name: proxy.config.proxy_name + \- value: cdn.site.domain.tld +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.trafficserver.offline(name, 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 @@ -250409,7 +273179,10 @@ restart_ats_local_drain: .INDENT 0.0 .TP .B salt.states.trafficserver.set_var(name, value) -Set Traffic Server variable values +Set Traffic Server configuration variable values. +.sp +Deprecated since version Oxygen: Use \fBtrafficserver.config\fP instead. + .INDENT 7.0 .INDENT 3.5 .sp @@ -250603,6 +273376,11 @@ url/sitemap.xml: .UNINDENT .INDENT 0.0 .TP +.B salt.states.uptime.__virtual__() +Only load if the uptime module is present +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.uptime.monitored(name, **params) Makes sure an URL is monitored by uptime. Checks if URL is already monitored, and if not, adds it. @@ -250656,7 +273434,7 @@ supported in FreeBSD and Solaris, Default is \fBFalse\fP\&. .UNINDENT .INDENT 0.0 .TP -.B salt.states.user.present(name, uid=None, gid=None, gid_from_name=False, groups=None, optional_groups=None, remove_groups=True, home=None, createhome=True, password=None, enforce_password=True, empty_password=False, shell=None, unique=True, system=False, fullname=None, roomnumber=None, workphone=None, homephone=None, loginclass=None, date=None, mindays=None, maxdays=None, inactdays=None, warndays=None, expire=None, win_homedrive=None, win_profile=None, win_logonscript=None, win_description=None) +.B salt.states.user.present(name, uid=None, gid=None, gid_from_name=False, groups=None, optional_groups=None, remove_groups=True, home=None, createhome=True, password=None, hash_password=False, enforce_password=True, empty_password=False, shell=None, unique=True, system=False, fullname=None, roomnumber=None, workphone=None, homephone=None, loginclass=None, date=None, mindays=None, maxdays=None, inactdays=None, warndays=None, expire=None, win_homedrive=None, win_profile=None, win_logonscript=None, win_description=None) Ensure that the named user is present with the specified properties .INDENT 7.0 .TP @@ -250728,6 +273506,9 @@ Changed in version 0.16.0: BSD support added. .INDENT 7.0 .TP +.B hash_password +Set to True to hash the clear text password. Default is \fBFalse\fP\&. +.TP .B enforce_password Set to False to keep the password from being changed if it has already been set and the password hash differs from what is specified in the @@ -250919,6 +273700,11 @@ webserver\-warning\-message: .UNINDENT .INDENT 0.0 .TP +.B salt.states.victorops.__virtual__() +Only load if the victorops module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.victorops.create_event(name, message_type, routing_key=\(aqeveryone\(aq, **kwargs) Create an event on the VictorOps service .INDENT 7.0 @@ -251009,6 +273795,16 @@ libvirt_keys: virt.keys .ft P .fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.virt.__virtual__() +Only if virt module is available. +.INDENT 7.0 +.TP +.B Returns + .UNINDENT .UNINDENT .INDENT 0.0 @@ -251306,6 +274102,11 @@ salt://certs/cert.cer: .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_certutil.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_certutil.add_store(name, store, saltenv=\(aqbase\(aq) Store a certificate to the given store .INDENT 7.0 @@ -251351,7 +274152,7 @@ Windows Object Access Control Lists .B parameters: name \- the path of the object objectType \- Registry/File/Directory -user \- user account for the ace +user \- user account or SID for the ace permission \- permission for the ace (see module win_acl for available permissions for each objectType) acetype \- Allow/Deny propagation \- how the ACL should apply to child objects (see module win_acl for available propagation types) @@ -251380,7 +274181,7 @@ addAcl: .B parameters: name \- the path of the object objectType \- Registry/File/Directory -user \- user account for the ace +user \- user account or SID for the ace permission \- permission for the ace (see module win_acl for available permissions for each objectType) acetype \- Allow/Deny propagation \- how the ACL should apply to child objects (see module win_acl for available propagation types) @@ -251488,6 +274289,11 @@ copy_inherited_acl: False .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_dacl.__virtual__() +Load this state if the win_acl module exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_dacl.absent(name, objectType, user, permission, acetype, propagation) Ensure a Linux ACL does not exist .UNINDENT @@ -251526,29 +274332,34 @@ NetFx3: .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_dism.__virtual__() +Only work on Windows where the DISM module is available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_dism.capability_installed(name, source=None, limit_access=False, image=None, restart=False) Install a DISM capability .INDENT 7.0 .TP -.B Args: -name (str): The capability to install -source (str): The optional source of the capability -limit_access (bool): Prevent DISM from contacting Windows Update for +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The capability to install +.IP \(bu 2 +\fBsource\fP (\fI\%str\fP) \-\- The optional source of the capability +.IP \(bu 2 +\fBlimit_access\fP (\fI\%bool\fP) \-\- Prevent DISM from contacting Windows Update for online images -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT +.UNINDENT +Example .sp -restart (Optional[bool]): Reboot the machine if required by the install -.TP -.B Example: Run \fBdism.available_capabilities\fP to get a list of available capabilities. This will help you get the proper name to use. .INDENT 7.0 @@ -251564,26 +274375,26 @@ install_dotnet35: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.states.win_dism.capability_removed(name, image=None, restart=False) Uninstall a DISM capability .INDENT 7.0 .TP -.B Args: -name (str): The capability to uninstall -image (Optional[str]): The path to the root directory of an offline +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The capability to uninstall +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT .UNINDENT +Example .sp -restart (Optional[bool]): Reboot the machine if required by the install -.TP -.B Example: Run \fBdism.installed_capabilities\fP to get a list of installed capabilities. This will help you get the proper name to use. .INDENT 7.0 @@ -251599,43 +274410,38 @@ remove_dotnet35: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.states.win_dism.feature_installed(name, package=None, source=None, limit_access=False, enable_parent=False, image=None, restart=False) Install a DISM feature .INDENT 7.0 .TP -.B Args: -name (str): The feature in which to install -package (Optional[str]): The parent package for the feature. You do not +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The feature in which to install +.IP \(bu 2 +\fBpackage\fP (\fIOptional[str]\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 -.UNINDENT -.UNINDENT -.sp -source (str): The optional source of the feature -limit_access (bool): Prevent DISM from contacting Windows Update for -.INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBsource\fP (\fI\%str\fP) \-\- The optional source of the feature +.IP \(bu 2 +\fBlimit_access\fP (\fI\%bool\fP) \-\- Prevent DISM from contacting Windows Update for online images -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B enable_parent (Optional[bool]): True will enable all parent features of +.IP \(bu 2 +\fBenable_parent\fP (\fIOptional[bool]\fP) \-\- True will enable all parent features of the specified feature -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT +.UNINDENT +Example .sp -restart (Optional[bool]): Reboot the machine if required by the install -.TP -.B Example: Run \fBdism.available_features\fP to get a list of available features. This will help you get the proper name to use. .INDENT 7.0 @@ -251651,31 +274457,29 @@ install_telnet_client: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.states.win_dism.feature_removed(name, remove_payload=False, image=None, restart=False) Disables a feature. .INDENT 7.0 .TP -.B Args: -name (str): The feature to disable -remove_payload (Optional[bool]): Remove the feature\(aqs payload. Must +.B Parameters .INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The feature to disable +.IP \(bu 2 +\fBremove_payload\fP (\fIOptional[bool]\fP) \-\- Remove the feature\(aqs payload. Must supply source when enabling in the future. -.UNINDENT -.UNINDENT -.INDENT 7.0 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT +.UNINDENT +Example .sp -restart (Optional[bool]): Reboot the machine if required by the install -.TP -.B Example: Run \fBdism.installed_features\fP to get a list of installed features. This will help you get the proper name to use. .INDENT 7.0 @@ -251692,37 +274496,32 @@ remove_telnet_client: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.states.win_dism.package_installed(name, ignore_check=False, prevent_pending=False, image=None, restart=False) Install a package. .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B name (str): The package to install. Can be a .cab file, a .msu file, +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The package to install. Can be a .cab file, a .msu file, or a folder -.TP -.B ignore_check (Optional[bool]): Skip installation of the package if the +.IP \(bu 2 +\fBignore_check\fP (\fIOptional[bool]\fP) \-\- Skip installation of the package if the applicability checks fail -.TP -.B prevent_pending (Optional[bool]): Skip the installation of the package +.IP \(bu 2 +\fBprevent_pending\fP (\fIOptional[bool]\fP) \-\- Skip the installation of the package if there are pending online actions -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .UNINDENT -.sp -Example: -.INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 +Example.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -251735,34 +274534,28 @@ install_KB123123123: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.UNINDENT .INDENT 0.0 .TP .B salt.states.win_dism.package_removed(name, image=None, restart=False) Uninstall a package .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B name (str): The full path to the package. Can be either a .cab file or a +.IP \(bu 2 +\fBname\fP (\fI\%str\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 -.TP -.B image (Optional[str]): The path to the root directory of an offline +.IP \(bu 2 +\fBimage\fP (\fIOptional[str]\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[bool]\fP) \-\- Reboot the machine if required by the install .UNINDENT -.sp -restart (Optional[bool]): Reboot the machine if required by the install .UNINDENT -.sp -Example: -.INDENT 7.0 -.INDENT 3.5 -.INDENT 0.0 +Example.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -251781,13 +274574,16 @@ remove_KB1231231: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.UNINDENT .SS salt.states.win_dns_client .sp Module for configuring DNS Client on Windows systems .INDENT 0.0 .TP +.B salt.states.win_dns_client.__virtual__() +Load if the module win_dns_client is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_dns_client.dns_dhcp(name, interface=\(aqLocal Area Connection\(aq) Configure the DNS server list from DHCP Server .UNINDENT @@ -251850,14 +274646,24 @@ primary_dns_suffix: State for configuring Windows Firewall .INDENT 0.0 .TP +.B salt.states.win_firewall.__virtual__() +Load if the module firewall is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_firewall.add_rule(name, localport, protocol=\(aqtcp\(aq, action=\(aqallow\(aq, dir=\(aqin\(aq) Add a new firewall rule (Windows only) .UNINDENT .INDENT 0.0 .TP -.B salt.states.win_firewall.disabled(name) +.B salt.states.win_firewall.disabled(name=\(aqallprofiles\(aq) Disable all the firewall profiles (Windows only) .UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_firewall.enabled(name=\(aqallprofiles\(aq) +Enable all the firewall profiles (Windows only) +.UNINDENT .SS salt.states.win_iis module .sp Microsoft IIS site management @@ -251869,65 +274675,602 @@ New in version 2016.3.0. .INDENT 0.0 .TP -.B salt.states.win_iis.create_apppool(name) -Creates an IIS application pool. +.B salt.states.win_iis.__virtual__() +Load only on minions that have the win_iis module. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.container_setting(name, container, settings=None) +Set the value of the setting for an IIS container. .INDENT 7.0 .TP -.B name -The name of the application pool to use +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS container. +.IP \(bu 2 +\fBcontainer\fP (\fI\%str\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. +.UNINDENT +.UNINDENT +.sp +Example of usage for the \fBAppPools\fP container: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-apppool\-setting: + win_iis.container_setting: + \- name: site0 + \- container: AppPools + \- settings: + managedPipelineMode: Integrated + processModel.maxProcesses: 1 + processModel.userName: TestUser + processModel.password: TestPassword +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage for the \fBSites\fP container: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-site\-setting: + win_iis.container_setting: + \- name: site0 + \- container: Sites + \- settings: + logFile.logFormat: W3C + logFile.period: Daily + limits.maxUrlSegments: 32 +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.win_iis.deployed(name, protocol, sourcepath, port, apppool=\(aq\(aq, hostheader=\(aq\(aq, ipaddress=\(aq\(aq) -Ensure the website has been deployed. This only validates against the -website name and will not update information on existing websites with the -same name. If the website name doesn\(aqt exist it will create with the -provided parameters. +.B salt.states.win_iis.create_app(name, site, sourcepath, apppool=None) +Create an IIS application. .INDENT 7.0 .TP -.B name -Name of the website in IIS. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The IIS application. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +.IP \(bu 2 +\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-v1\-app: + win_iis.create_app: + \- name: v1 + \- site: site0 + \- sourcepath: C:\einetpub\esite0\ev1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-v1\-app: + win_iis.create_app: + \- name: v1 + \- site: site0 + \- sourcepath: C:\einetpub\esite0\ev1 + \- apppool: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B protocol -http or https +.B salt.states.win_iis.create_apppool(name) +Create an IIS application pool. +.INDENT 7.0 .TP -.B sourcepath -The directory path on the IIS server to use as a root file store. -example: c:websiteswebsite1 +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.UNINDENT +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-apppool: + win_iis.create_apppool: + \- name: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B port -The network port to listen for traffic. -example: 80 +.B salt.states.win_iis.create_binding(name, site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=80, protocol=\(aqhttp\(aq, sslflags=0) +Create an IIS binding. +.INDENT 7.0 .TP -.B apppool -The application pool to configure for the website. Must already exist. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.IP \(bu 2 +\fBprotocol\fP (\fI\%str\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. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-https\-binding: + win_iis.create_binding: + \- site: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-https\-binding: + win_iis.create_binding: + \- site: site0 + \- hostheader: site0.local + \- ipaddress: \(aq*\(aq + \- port: 443 + \- protocol: https + \- sslflags: 0 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 .TP -.B hostheader -The hostheader to route to this website. +.B salt.states.win_iis.create_cert_binding(name, site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=443, sslflags=0) +Assign a certificate to an IIS binding. +.INDENT 7.0 .TP -.B ipaddress -The website ipaddress +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\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. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-cert\-binding: + win_iis.create_cert_binding: + \- name: 9988776655443322111000AAABBBCCCDDDEEEFFF + \- site: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-cert\-binding: + win_iis.create_cert_binding: + \- name: 9988776655443322111000AAABBBCCCDDDEEEFFF + \- site: site0 + \- hostheader: site0.local + \- ipaddress: 192.168.1.199 + \- port: 443 + \- sslflags: 1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.create_vdir(name, site, sourcepath, app=\(aq/\(aq) +Create an IIS virtual directory. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path. +.IP \(bu 2 +\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-foo\-vdir: + win_iis.create_vdir: + \- name: foo + \- site: site0 + \- sourcepath: C:\einetpub\evdirs\efoo +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-foo\-vdir: + win_iis.create_vdir: + \- name: foo + \- site: site0 + \- sourcepath: C:\einetpub\evdirs\efoo + \- app: v1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.deployed(name, sourcepath, apppool=\(aq\(aq, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=80, protocol=\(aqhttp\(aq) +Ensure the website has been deployed. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBsourcepath\fP (\fI\%str\fP) \-\- The physical path of the IIS site. +.IP \(bu 2 +\fBapppool\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.IP \(bu 2 +\fBprotocol\fP (\fI\%str\fP) \-\- The application protocol of the binding. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments. This will default to using the default application pool +assigned by IIS: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-deployed: + win_iis.deployed: + \- name: site0 + \- sourcepath: C:\einetpub\esite0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-deployed: + win_iis.deployed: + \- name: site0 + \- sourcepath: C:\einetpub\esite0 + \- apppool: site0 + \- hostheader: site0.local + \- ipaddress: \(aq*\(aq + \- port: 443 + \- protocol: https +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.remove_app(name, site) +Remove an IIS application. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The application name. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.UNINDENT +.UNINDENT +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-v1\-app\-remove: + win_iis.remove_app: + \- name: v1 + \- site: site0 +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.states.win_iis.remove_apppool(name) -Removes an existing Application Pool from the server +Remove an IIS application pool. .INDENT 7.0 .TP -.B name -The name of the application pool to remove +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The name of the IIS application pool. +.UNINDENT +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +defaultapppool\-remove: + win_iis.remove_apppool: + \- name: DefaultAppPool +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.win_iis.remove_site(name) -Remove an existing website from the webserver. +.B salt.states.win_iis.remove_binding(name, site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=80) +Remove an IIS binding. .INDENT 7.0 .TP -.B name -The website name as shown in IIS. +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-https\-binding\-remove: + win_iis.remove_binding: + \- site: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-https\-binding\-remove: + win_iis.remove_binding: + \- site: site0 + \- hostheader: site0.local + \- ipaddress: \(aq*\(aq + \- port: 443 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.remove_cert_binding(name, site, hostheader=\(aq\(aq, ipaddress=\(aq*\(aq, port=443) +Remove a certificate from an IIS binding. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The thumbprint of the certificate. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBhostheader\fP (\fI\%str\fP) \-\- The host header of the binding. +.IP \(bu 2 +\fBipaddress\fP (\fI\%str\fP) \-\- The IP address of the binding. +.IP \(bu 2 +\fBport\fP (\fI\%str\fP) \-\- The TCP port of the binding. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-cert\-binding\-remove: + win_iis.remove_cert_binding: + \- name: 9988776655443322111000AAABBBCCCDDDEEEFFF + \- site: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-cert\-binding\-remove: + win_iis.remove_cert_binding: + \- name: 9988776655443322111000AAABBBCCCDDDEEEFFF + \- site: site0 + \- hostheader: site0.local + \- ipaddress: 192.168.1.199 + \- port: 443 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New in version 2016.11.0. + +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.remove_site(name) +Delete a website from IIS. +.INDENT 7.0 +.TP +.B Parameters +\fBname\fP (\fI\%str\fP) \-\- The IIS site name. +.UNINDENT +.sp +Usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +defaultwebsite\-remove: + win_iis.remove_site: + \- name: Default Web Site +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_iis.remove_vdir(name, site, app=\(aq/\(aq) +Remove an IIS virtual directory. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- The virtual directory name. +.IP \(bu 2 +\fBsite\fP (\fI\%str\fP) \-\- The IIS site name. +.IP \(bu 2 +\fBapp\fP (\fI\%str\fP) \-\- The IIS application. +.UNINDENT +.UNINDENT +.sp +Example of usage with only the required arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-foo\-vdir\-remove: + win_iis.remove_vdir: + \- name: foo + \- site: site0 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage specifying all available arguments: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +site0\-foo\-vdir\-remove: + win_iis.remove_vdir: + \- name: foo + \- site: site0 + \- app: v1 +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .SS salt.states.win_license module @@ -251947,6 +275290,11 @@ XXXXX\-XXXXX\-XXXXX\-XXXXX\-XXXXX: .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_license.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_license.activate(name) Install and activate the given product key .INDENT 7.0 @@ -252040,6 +275388,12 @@ Local Area Connection #2: .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_network.__virtual__() +Confine this module to Windows systems with the required execution module +available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_network.managed(name, dns_proto=None, dns_servers=None, ip_proto=None, ip_addrs=None, gateway=None, enabled=True, **kwargs) Ensure that the named interface is configured properly. .INDENT 7.0 @@ -252081,6 +275435,11 @@ Set to \fBFalse\fP to ensure that this interface is disabled. Manage the Windows System PATH .INDENT 0.0 .TP +.B salt.states.win_path.__virtual__() +Load this state if the win_path module exists +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_path.absent(name) Remove the directory from the SYSTEM path .sp @@ -252119,7 +275478,7 @@ Example: \(aqC:\esysinternals\(aq: win_path.exists: - index: 0 + \- index: 0 .ft P .fi .UNINDENT @@ -252147,6 +275506,11 @@ monitor: .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_powercfg.__virtual__() +Only work on Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_powercfg.set_timeout(name, value, power=\(aqac\(aq) Set the sleep timeouts of specific items such as disk, monitor. .sp @@ -252186,49 +275550,58 @@ Should we set the value for AC or DC (battery)? Valid options ac,dc. Manage Windows features via the ServerManager powershell module .INDENT 0.0 .TP -.B salt.states.win_servermanager.installed(name, recurse=False, force=False, source=None, restart=False, exclude=None) +.B salt.states.win_servermanager.__virtual__() +Load only if win_servermanager is loaded +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_servermanager.installed(name, recurse=False, force=False, restart=False, source=None, exclude=None) Install the windows feature .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B name (str): Short name of the feature (the right column in +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Short name of the feature (the right column in win_servermanager.list_available) -.UNINDENT -.sp -recurse (Optional[bool]): install all sub\-features as well -force (Optional[bool]): if the feature is installed but one of its -.INDENT 7.0 -.INDENT 3.5 +.IP \(bu 2 +\fBrecurse\fP (\fIOptional[bool]\fP) \-\- install all sub\-features as well +.IP \(bu 2 +\fBforce\fP (\fIOptional[bool]\fP) \-\- if the feature is installed but one of its sub\-features are not installed set this to True to force the installation of the sub\-features +.IP \(bu 2 +\fBsource\fP (\fIOptional[str]\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[bool]\fP) \-\- Restarts the computer when installation is +complete, if required by the role/feature installed. Default is +False +.IP \(bu 2 +\fBexclude\fP (\fIOptional[str]\fP) \-\- The name of the feature to exclude when +installing the named feature. .UNINDENT .UNINDENT .INDENT 7.0 .TP -.B source (Optional[str]): 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 -.TP -.B restart (Optional[bool]): Restarts the computer when installation is -complete, if required by the role/feature installed. Default is -False -.TP -.B exclude (Optional[str]): The name of the feature to exclude when -installing the named feature. +.B restart: +Restarts the computer when installation is complete, if restarting is required by the role feature installed. .UNINDENT -.TP -.B Note: +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 Some features require reboot after un/installation. If so, until the server is restarted other features can not be installed! -.TP -.B Example: +.UNINDENT +.UNINDENT +Example +.sp Run \fBsalt MinionName win_servermanager.list_available\fP to get a list of available roles and features. Use the name in the right column. Do not use the role or feature names mentioned in the PKGMGR documentation. In this example for IIS\-WebServerRole the name to be used is Web\-Server. -.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -252250,29 +275623,33 @@ ISWebserverRole: Remove the windows feature .INDENT 7.0 .TP -.B Args: +.B Parameters .INDENT 7.0 -.TP -.B name (str): Short name of the feature (the right column in +.IP \(bu 2 +\fBname\fP (\fI\%str\fP) \-\- Short name of the feature (the right column in win_servermanager.list_available) -.TP -.B remove_payload (Optional[bool]): True will case the feature to be +.IP \(bu 2 +\fBremove_payload\fP (\fIOptional[bool]\fP) \-\- True will case the feature to be removed from the side\-by\-side store -.TP -.B restart (Optional[bool]): Restarts the computer when uninstall is +.IP \(bu 2 +\fBrestart\fP (\fIOptional[bool]\fP) \-\- Restarts the computer when uninstall is complete, if required by the role/feature removed. Default is False .UNINDENT -.TP -.B Note: +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 Some features require a reboot after uninstallation. If so the feature will not be completely uninstalled until the server is restarted. -.TP -.B Example: +.UNINDENT +.UNINDENT +Example +.sp Run \fBsalt MinionName win_servermanager.list_installed\fP to get a list of all features installed. Use the top name listed for each feature, not the indented one. Do not use the role or feature names mentioned in the PKGMGR documentation. -.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -252286,6 +275663,256 @@ ISWebserverRole: .UNINDENT .UNINDENT .UNINDENT +.SS salt.states.win_smtp_server module +.sp +Module for managing IIS SMTP server configuration on Windows servers. +.INDENT 0.0 +.TP +.B salt.states.win_smtp_server.__virtual__() +Load only on minions that have the win_smtp_server module. +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_smtp_server.active_log_format(name, log_format, server=\(aqSmtpSvc/1\(aq) +Manage the active log format for the SMTP server. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBlog_format\fP (\fI\%str\fP) \-\- The log format name. +.IP \(bu 2 +\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +.UNINDENT +.UNINDENT +.sp +Example of usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-log\-format: + win_smtp_server.active_log_format: + \- log_format: Microsoft IIS Log File Format +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_smtp_server.connection_ip_list(name, addresses=None, grant_by_default=False, server=\(aqSmtpSvc/1\(aq) +Manage IP list for SMTP connections. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBaddresses\fP (\fI\%str\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. +.IP \(bu 2 +\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +.UNINDENT +.UNINDENT +.sp +Example of usage for creating a whitelist: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-connection\-whitelist: + win_smtp_server.connection_ip_list: + \- addresses: + 127.0.0.1: 255.255.255.255 + 172.16.1.98: 255.255.255.255 + 172.16.1.99: 255.255.255.255 + \- grant_by_default: False +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage for creating a blacklist: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-connection\-blacklist: + win_smtp_server.connection_ip_list: + \- addresses: + 172.16.1.100: 255.255.255.255 + 172.16.1.101: 255.255.255.255 + \- grant_by_default: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage for allowing any source to connect: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-connection\-blacklist: + win_smtp_server.connection_ip_list: + \- addresses: {} + \- grant_by_default: True +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_smtp_server.relay_ip_list(name, addresses=None, server=\(aqSmtpSvc/1\(aq) +Manage IP list for SMTP relay connections. +.sp +Due to the unusual way that Windows stores the relay IPs, it is advisable to retrieve +the existing list you wish to set from a pre\-configured server. +.sp +For example, setting \(aq127.0.0.1\(aq as an allowed relay IP through the GUI would generate +an actual relay IP list similar to the following: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +[\(aq24.0.0.128\(aq, \(aq32.0.0.128\(aq, \(aq60.0.0.128\(aq, \(aq68.0.0.128\(aq, \(aq1.0.0.0\(aq, \(aq76.0.0.0\(aq, + \(aq0.0.0.0\(aq, \(aq0.0.0.0\(aq, \(aq1.0.0.0\(aq, \(aq1.0.0.0\(aq, \(aq2.0.0.0\(aq, \(aq2.0.0.0\(aq, \(aq4.0.0.0\(aq, + \(aq0.0.0.0\(aq, \(aq76.0.0.128\(aq, \(aq0.0.0.0\(aq, \(aq0.0.0.0\(aq, \(aq0.0.0.0\(aq, \(aq0.0.0.0\(aq, + \(aq255.255.255.255\(aq, \(aq127.0.0.1\(aq] +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +Setting the list to None corresponds to the restrictive \(aqOnly the list below\(aq GUI parameter +with an empty access list configured, and setting an empty list/tuple corresponds to the +more permissive \(aqAll except the list below\(aq GUI parameter. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.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. +.IP \(bu 2 +\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +.UNINDENT +.UNINDENT +.sp +Example of usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-relay\-list: + win_smtp_server.relay_ip_list: + \- addresses: + \- 24.0.0.128 + \- 32.0.0.128 + \- 60.0.0.128 + \- 1.0.0.0 + \- 76.0.0.0 + \- 0.0.0.0 + \- 0.0.0.0 + \- 1.0.0.0 + \- 1.0.0.0 + \- 2.0.0.0 + \- 2.0.0.0 + \- 4.0.0.0 + \- 0.0.0.0 + \- 76.0.0.128 + \- 0.0.0.0 + \- 0.0.0.0 + \- 0.0.0.0 + \- 0.0.0.0 + \- 255.255.255.255 + \- 127.0.0.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage for disabling relaying: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-relay\-list: + win_smtp_server.relay_ip_list: + \- addresses: None +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Example of usage for allowing relaying from any source: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-relay\-list: + win_smtp_server.relay_ip_list: + \- addresses: [] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.states.win_smtp_server.server_setting(name, settings=None, server=\(aqSmtpSvc/1\(aq) +Ensure the value is set for the specified setting. +.sp +\fBNOTE:\fP +.INDENT 7.0 +.INDENT 3.5 +The setting names are case\-sensitive. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsettings\fP (\fI\%str\fP) \-\- A dictionary of the setting names and their values. +.IP \(bu 2 +\fBserver\fP (\fI\%str\fP) \-\- The SMTP server name. +.UNINDENT +.UNINDENT +.sp +Example of usage: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +smtp\-settings: + win_smtp_server.server_setting: + \- settings: + LogType: 1 + LogFilePeriod: 1 + MaxMessageSize: 16777216 + MaxRecipients: 10000 + MaxSessionSize: 16777216 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT .SS salt.states.win_system .SS Management of Windows system information .sp @@ -252310,6 +275937,11 @@ This is Erik\(aqs computer, don\(aqt touch!: .UNINDENT .INDENT 0.0 .TP +.B salt.states.win_system.__virtual__() +This only supports Windows +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.win_system.computer_desc(name) Manage the computer\(aqs description field .INDENT 7.0 @@ -252341,6 +275973,36 @@ Manage the hostname of the computer The hostname to set .UNINDENT .UNINDENT +.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. +.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 +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. +.UNINDENT +.UNINDENT .SS salt.states.win_update .SS Management of the windows update agent .sp @@ -252423,51 +276085,8 @@ skips: To just update your windows machine, add this your sls: .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 +.B salt.states.win_update.__virtual__() +Only works on Windows systems .UNINDENT .INDENT 0.0 .TP @@ -252616,6 +276235,11 @@ Manage X509 Certificates .sp New in version 2015.8.0. +.INDENT 0.0 +.TP +.B depends +M2Crypto +.UNINDENT .sp This module can enable managing a complete PKI infrastructure including creating private keys, CA\(aqs, certificates and CRLs. It includes the ability to generate a private key on a server, and have the @@ -252797,6 +276421,11 @@ This state creates a private key then requests a certificate signed by ca accord .UNINDENT .INDENT 0.0 .TP +.B salt.states.x509.__virtual__() +only load this module if the corresponding execution module is loaded +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.x509.certificate_managed(name, days_remaining=90, backup=False, **kwargs) Manage a Certificate .INDENT 7.0 @@ -252975,7 +276604,7 @@ When replacing an existing file, backup the old file on the minion. Default is F .UNINDENT .INDENT 0.0 .TP -.B salt.states.x509.private_key_managed(name, bits=2048, new=False, backup=False) +.B salt.states.x509.private_key_managed(name, bits=2048, new=False, backup=False, verbose=True) Manage a private key\(aqs existence. .INDENT 7.0 .TP @@ -252993,6 +276622,13 @@ whenever a new certificiate is generated. .B backup: When replacing an existing file, backup the old file on the minion. Default is False. +.TP +.B verbose: +Provide visual feedback on stdout, dots while key is generated. +Default is True. +.sp +New in version 2016.11.0. + .UNINDENT .sp Example: @@ -253041,6 +276677,11 @@ server\-warning\-message: .UNINDENT .INDENT 0.0 .TP +.B salt.states.xmpp.__virtual__() +Only load if the XMPP module is available in __salt__ +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.xmpp.send_msg(name, recipient, profile) Send a message to an XMPP user .INDENT 7.0 @@ -253100,41 +276741,100 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.states.zabbix_host.__virtual__() +Only make these states available if Zabbix module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zabbix_host.absent(name) Ensures that the host does not exists, eventually deletes host. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: +.B Param name: technical name of the host +.TP +.B Parameters +.INDENT 7.0 +.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 +TestHostWithInterfaces: + zabbix_host.absent +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.states.zabbix_host.present(host, groups, interfaces, **kwargs) Ensures that the host exists, eventually creates new host. -.sp -NOTE: please use argument visible_name instead of name to not mess with name from salt sls -.INDENT 7.0 -.TP -.B Args: -host: technical name of the host -groups: groupids of host groups to add the host to -interfaces: interfaces to be created for the host -.INDENT 7.0 -.TP -.B optional kwargs: -_connection_user: zabbix user (can also be set in opts or pillar, see module\(aqs docstring) -_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) -.INDENT 7.0 -.TP -.B visible_name: string with visible name of the host, use \(aqvisible_name\(aq instead of \(aqname\(aq parameter -to not mess with value supplied from Salt sls file. -.UNINDENT -.sp +NOTE: please use argument visible_name instead of name to not mess with name from salt sls. This function accepts all standard host properties: keyword argument names differ depending on your zabbix version, see: -.sp \fI\%https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host\fP +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBhost\fP \-\- technical name of the host +.IP \(bu 2 +\fBgroups\fP \-\- groupids of host groups to add the host to +.IP \(bu 2 +\fBinterfaces\fP \-\- interfaces to be created for the host +.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) +.IP \(bu 2 +\fBvisible_name\fP \-\- Optional \- string with visible name of the host, use \(aqvisible_name\(aq instead of \(aqname\(aq parameter to not mess with value supplied from Salt sls file. +.UNINDENT +.UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +create_test_host: + zabbix_host.present: + \- host: TestHostWithInterfaces + \- groups: + \- 5 + \- 6 + \- 7 + \- interfaces: + \- test1.example.com: + \- ip: \(aq192.168.1.8\(aq + \- type: \(aqAgent\(aq + \- port: 92 + \- testing2_create: + \- ip: \(aq192.168.1.9\(aq + \- dns: \(aqtest2.example.com\(aq + \- type: \(aqagent\(aq + \- main: false + \- testovaci1_ipmi: + \- ip: \(aq192.168.100.111\(aq + \- type: \(aqipmi\(aq +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -253148,22 +276848,75 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.states.zabbix_hostgroup.__virtual__() +Only make these states available if Zabbix module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zabbix_hostgroup.absent(name) Ensures that the host group does not exist, eventually delete host group. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: name of the host group +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- name of the host group +.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 +delete_testing_host_group: + zabbix_hostgroup.absent: + \- name: \(aqMy hostgroup name\(aq +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.states.zabbix_hostgroup.present(name) Ensures that the host group exists, eventually creates new host group. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: name of the host group +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- name of the host group +.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 +create_testing_host_group: + zabbix_hostgroup.present: + \- name: \(aqMy hostgroup name\(aq +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .SS salt.states.zabbix_user module @@ -253176,44 +276929,106 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.states.zabbix_user.__virtual__() +Only make these states available if Zabbix module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zabbix_user.absent(name) Ensures that the user does not exist, eventually delete user. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: user alias +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- user alias +.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 +George: + zabbix_user.absent +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B salt.states.zabbix_user.present(alias, passwd, usrgrps, **kwargs) +.B salt.states.zabbix_user.present(alias, passwd, usrgrps, medias, 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 -NOTE: use argument firstname instead of name to not mess values with name from salt sls +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -alias: user alias -passwd: user\(aqs password -usrgrps: user groups to add the user to +.B Parameters .INDENT 7.0 -.TP -.B optional kwargs: -.INDENT 7.0 -.TP -.B _connection_user: zabbix user (can also be set in opts or pillar, -see execution module\(aqs docstring) -.TP -.B _connection_password: zabbix password (can also be set in opts or pillar, -see execution module\(aqs docstring) -.TP -.B _connection_url: url of zabbix frontend (can also be set in opts or pillar, -see execution module\(aqs docstring) -.TP -.B firstname: string with firstname of the user, use \(aqfirstname\(aq instead of \(aqname\(aq parameter to not mess -with value supplied from Salt sls file. +.IP \(bu 2 +\fBalias\fP \-\- user alias +.IP \(bu 2 +\fBpasswd\fP \-\- user\(aqs password +.IP \(bu 2 +\fBusrgrps\fP \-\- user groups to add the user to +.IP \(bu 2 +\fBmedias\fP \-\- user\(aqs medias to create +.IP \(bu 2 +\fBpassword_reset\fP \-\- whether or not to reset password at update +.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) +.IP \(bu 2 +\fBfirstname\fP \-\- string with firstname of the user, use \(aqfirstname\(aq instead of \(aqname\(aq parameter to not mess with value supplied from Salt sls file. .UNINDENT .UNINDENT +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +make_user: + zabbix_user.present: + \- alias: George + \- passwd: donottellanyonE@456x + \- password_reset: True + \- usrgrps: + \- 13 + \- 7 + \- medias: + \- me@example.com: + \- mediatype: mail + \- period: \(aq1\-7,00:00\-24:00\(aq + \- severity: NIWAHD + \- make_jabber: + \- active: true + \- mediatype: jabber + \- period: \(aq1\-5,08:00\-19:00\(aq + \- sendto: jabbera@example.com + \- text_me_morning_disabled: + \- active: false + \- mediatype: sms + \- period: \(aq1\-5,09:30\-10:00\(aq + \- severity: D + \- sendto: \(aq+42032132588568\(aq +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .SS salt.states.zabbix_usergroup module @@ -253226,42 +277041,80 @@ Jiri Kotlin <\fI\%jiri.kotlin@ultimum.io\fP> .UNINDENT .INDENT 0.0 .TP +.B salt.states.zabbix_usergroup.__virtual__() +Only make these states available if Zabbix module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zabbix_usergroup.absent(name) Ensures that the user group does not exist, eventually delete user group. +.sp +New in version 2016.3.0. + .INDENT 7.0 .TP -.B Args: -name: name of the user group +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- name of the user group +.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 +delete_thai_monks_usrgrp: + zabbix_usergroup.absent: + \- name: \(aqThai monks\(aq +.ft P +.fi +.UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.states.zabbix_usergroup.present(name, **kwargs) Creates new user. -.INDENT 7.0 -.TP -.B Args: -alias: user alias -passwd: user\(aqs password -usrgrps: user groups to add the user to -.INDENT 7.0 -.TP -.B optional kwargs: -.INDENT 7.0 -.TP -.B _connection_user: zabbix user (can also be set in opts or pillar, -see execution module\(aqs docstring) -.TP -.B _connection_password: zabbix password (can also be set in opts or pillar, -see execution module\(aqs docstring) -.TP -.B _connection_url: url of zabbix frontend (can also be set in opts or pillar, -see execution module\(aqs docstring) -.UNINDENT -.sp -all standard user group properties: keyword argument names differ depending on your zabbix version, see: -.sp +NOTE: This function accepts all standard user group properties: keyword argument names differ depending on your +zabbix version, see: \fI\%https://www.zabbix.com/documentation/2.0/manual/appendix/api/usergroup/definitions#user_group\fP +.sp +New in version 2016.3.0. + +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBname\fP \-\- name of the user group +.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 +make_new_thai_monks_usergroup: + zabbix_usergroup.present: + \- name: \(aqThai monks\(aq + \- gui_access: 1 + \- debug_mode: 0 + \- users_status: 0 +.ft P +.fi .UNINDENT .UNINDENT .UNINDENT @@ -253310,6 +277163,11 @@ installed2 .UNINDENT .INDENT 0.0 .TP +.B salt.states.zcbuildout.__virtual__() +Only load if zc.buildout libs available +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zcbuildout.installed(name, config=\(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/python\(aq, debug=False, verbose=False, unless=None, onlyif=None, use_vt=False, loglevel=\(aqdebug\(aq, **kwargs) Install buildout in a specific directory .sp @@ -253410,6 +277268,11 @@ enable_monitoring: .UNINDENT .INDENT 0.0 .TP +.B salt.states.zenoss.__virtual__() +Only load if the Zenoss execution module is available. +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zenoss.monitored(name, device_class=None, collector=\(aqlocalhost\(aq, prod_state=None) Ensure a device is monitored. The \(aqname\(aq given will be used for Zenoss device name and should be resolvable. .INDENT 7.0 @@ -253481,8 +277344,8 @@ Block state execution until you are able to get the lock (or hit the timeout) .UNINDENT .INDENT 0.0 .TP -.B salt.states.zk_concurrency.min_party(name, zk_hosts, min_nodes) -Ensure that there are \fImin_nodes\fP in the party at \fIname\fP\&. +.B salt.states.zk_concurrency.min_party(name, zk_hosts, min_nodes, blocking=False) +Ensure that there are \fImin_nodes\fP in the party at \fIname\fP, optionally blocking if not available. .UNINDENT .INDENT 0.0 .TP @@ -253547,6 +277410,11 @@ test/shares/moka@tsukune: .UNINDENT .INDENT 0.0 .TP +.B salt.states.zfs.__virtual__() +Provides zfs state +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zfs.bookmark_absent(name, force=False, recursive=False) ensure bookmark is absent on the system .INDENT 7.0 @@ -253963,6 +277831,11 @@ Filesystem properties are also not updated, this should be managed by the zfs st .UNINDENT .INDENT 0.0 .TP +.B salt.states.zpool.__virtual__() +Provides zpool state +.UNINDENT +.INDENT 0.0 +.TP .B salt.states.zpool.absent(name, export=False, force=False) ensure storage pool is absent on the system .INDENT 7.0 @@ -254139,36 +278012,317 @@ of having a command execution get gated by a check state via a requisite. .INDENT 0.0 .TP .B salt.thorium.check.contains(name, value) -Only succeed if the value in the given register location is greater than +Only succeed if the value in the given register location contains the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.contains: + \- value: itni + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.thorium.check.eq(name, value) +Only succeed if the value in the given register location is equal to +the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.eq: + \- value: 42 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.thorium.check.event(name) +Chekcs for a specific event match and returns result True if the match +happens +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt/foo/*/bar: + check.event + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: salt/foo/*/bar +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.thorium.check.gt(name, value) Only succeed if the value in the given register location is greater than the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.gt: + \- value: 42 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.thorium.check.gte(name, value) +Only succeed if the value in the given register location is greater or equal +than the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.gte: + \- value: 42 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.thorium.check.lt(name, value) -Only succeed if the value in the given register location is greater than +Only succeed if the value in the given register location is less than the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.lt: + \- value: 42 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.thorium.check.lte(name, value) +Only succeed if the value in the given register location is less than +or equal the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.lte: + \- value: 42 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.thorium.check.ne(name, value) +Only succeed if the value in the given register location is not equal to +the given value +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + check.ne: + \- value: 42 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + \- require: + \- check: foo +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.thorium.file module .sp Writes matches to disk to verify activity, helpful when testing +.sp +Normally this is used by giving the name of the file (without a path) that the +data will be saved to. If for instance you use \fBfoo\fP as the name: +.sp +Then the file will be saved to: +.sp +You may also provide an absolute path for the file to be saved to: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +/tmp/foo.save: + file.save +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Files will be saved in JSON format. However, JSON does not support \fBset()\(ga\(gas. +If you are saving a register entry that contains a \(ga\(gaset()\fP, then it will fail +to save to JSON format. However, you may pass data through a filter which makes +it JSON compliant: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + file.save: + filter: True +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Be warned that if you do this, then the file will be saved, but not in a format +that can be re\-imported into Python. .INDENT 0.0 .TP -.B salt.thorium.file.save(name) -Save the register to /thorium/saves/ +.B salt.thorium.file.save(name, filter=False) +Save the register to /thorium/saves/, or to an +absolute path. +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + file.save + +/tmp/foo: + file.save +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.thorium.local module .sp Run remote execution commands via the local client .INDENT 0.0 .TP -.B salt.thorium.local.cmd(name, tgt, fun, arg=(), tgt_type=\(aqglob\(aq, ret=\(aq\(aq, kwarg=None, **kwargs) +.B salt.thorium.local.cmd(name, tgt, func, arg=(), tgt_type=\(aqglob\(aq, ret=\(aq\(aq, kwarg=None, **kwargs) Execute a remote execution command +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.ping + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.sleep + \- arg: + \- 30 + +run_remote_ex: + local.cmd: + \- tgt: \(aq*\(aq + \- func: test.sleep + \- kwarg: + length: 30 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.thorium.reg module .sp @@ -254176,8 +278330,70 @@ Used to manage the thorium register. The thorium register is where compound values are stored and computed, such as averages etc. .INDENT 0.0 .TP -.B salt.thorium.reg.list(name, add, match) -Add to the named list the specified values +.B salt.thorium.reg.clear(name) +Clear the namespace from the register +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +clearns: + reg.clear: + \- name: myregister +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.thorium.reg.delete(name) +Delete the namespace from the register +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +deletens: + reg.delete: + \- name: myregister +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.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 +if \fBprune\fP is set to an integer higher than \fB0\fP, then only the last +.INDENT 7.0 +.INDENT 3.5 +\fBprune\fP values will be kept in the list. +.UNINDENT +.UNINDENT +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + reg.list: + \- add: bar + \- match: my/custom/event + \- stamp: True +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP @@ -254185,11 +278401,41 @@ Add to the named list the specified values Accept a numeric value from the matched events and store a running average of the values in the given register. If the specified value is not numeric it will be skipped +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + reg.mean: + \- add: data_field + \- match: my/custom/event +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .INDENT 0.0 .TP .B salt.thorium.reg.set(name, add, match) Add a value to the named set +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +foo: + reg.set: + \- add: bar + \- match: my/custom/event +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS salt.thorium.timer module .sp @@ -254198,9 +278444,23 @@ multiple runs of the flow .INDENT 0.0 .TP .B salt.thorium.timer.hold(name, seconds) -Wait for a given period of time, then fire a result of True, requireing +Wait for a given period of time, then fire a result of True, requiring this state allows for an action to be blocked for evaluation based on time +.sp +USAGE: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +hold_on_a_moment: + timer.hold: + \- seconds: 30 +.ft P +.fi +.UNINDENT +.UNINDENT .UNINDENT .SS master tops modules .TS @@ -254231,6 +278491,12 @@ T} T{ Read tops data from a reclass database T} _ +T{ +\fBvarstack\fP +T} T{ +Use \fIVarstack \fP to provide tops data +T} +_ .TE .SS salt.tops.cobbler .SS Cobbler Tops @@ -254322,6 +278588,11 @@ base: .UNINDENT .INDENT 0.0 .TP +.B salt.tops.ext_nodes.__virtual__() +Only run if properly configured +.UNINDENT +.INDENT 0.0 +.TP .B salt.tops.ext_nodes.top(**kwargs) Run the command configured .UNINDENT @@ -254381,16 +278652,16 @@ master_tops: Connect to a mongo database and read per\-node tops data. .INDENT 7.0 .TP -.B Parameters: +.B Parameters .INDENT 7.0 .IP \(bu 2 -\fIcollection\fP: The mongodb collection to read data from. Defaults to +\fBcollection\fP (\fI*\fP) \-\- The mongodb collection to read data from. Defaults to \fB\(aqtops\(aq\fP\&. .IP \(bu 2 -\fIid_field\fP: The field in the collection that represents an individual +\fBid_field\fP (\fI*\fP) \-\- The field in the collection that represents an individual minion id. Defaults to \fB\(aq_id\(aq\fP\&. .IP \(bu 2 -\fIre_pattern\fP: If your naming convention in the collection is shorter +\fBre_pattern\fP (\fI*\fP) \-\- If your naming convention in the collection is shorter than the minion id, you can use this to trim the name. \fIre_pattern\fP will be used to match the name, and \fIre_replace\fP will be used to replace it. Backrefs are supported as they are in the @@ -254398,12 +278669,12 @@ Python standard library. If \fBNone\fP, no mangling of the name will be performed \- the collection will be searched with the entire minion id. Defaults to \fBNone\fP\&. .IP \(bu 2 -\fIre_replace\fP: Use as the replacement value in node ids matched with +\fBre_replace\fP (\fI*\fP) \-\- Use as the replacement value in node ids matched with \fIre_pattern\fP\&. Defaults to \(aq\(aq. Feel free to use backreferences here. .IP \(bu 2 -\fIstates_field\fP: The name of the field providing a list of states. +\fBstates_field\fP (\fI*\fP) \-\- The name of the field providing a list of states. .IP \(bu 2 -\fIenvironment_field\fP: The name of the field providing the environment. +\fBenvironment_field\fP (\fI*\fP) \-\- The name of the field providing the environment. Defaults to \fBenvironment\fP\&. .UNINDENT .UNINDENT @@ -254470,6 +278741,61 @@ 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 +.sp +Use \fIVarstack \fP to provide tops data +.sp +This \fBmaster_tops\fP plugin provides access to +the \fBvarstack\fP hierarchical yaml files, so you can user \fBvarstack\fP as a full +\fBexternal node classifier\fP and +store state information (top data) in it. +.SS Configuring Varstack +.sp +To use varstack as a master top external node classifier, install varstack +as documented. Then, add to your master\(aqs configuration: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +master_tops: + varstack: /path/to/the/config/file/varstack.yaml +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +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 \fP of +varstack to learn how this file is evaluated. The ENC part will just return +the \(aqstates\(aq dictionary for the node. +.sp +Ie, if my.fqdn.yaml file contains: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +\-\-\- +states: + \- sudo + \- openssh + \- apache + \- salt.minion +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +these will be returned as {\(aqbase\(aq: [\(aqsudo\(aq, \(aqopenssh\(aq, \(aqapache\(aq, \(aqsalt.minion\(aq]} and +managed by salt as if given from a top.sls file. +.INDENT 0.0 +.TP +.B salt.tops.varstack.top(**kwargs) +Query \fBvarstack\fP for the top data (states of the minions). +.UNINDENT .SS wheel modules .TS center; @@ -254594,12 +278920,12 @@ salt\-wheel error.error name="Exception" message="This is an error." Read in files from the file_root and save files to the file root .INDENT 0.0 .TP -.B salt.wheel.file_roots.find(path, saltenv=\(aqbase\(aq, env=None) +.B salt.wheel.file_roots.find(path, saltenv=\(aqbase\(aq) Return a dict of the files located with the given path and environment .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.file_roots.list_env(saltenv=\(aqbase\(aq, env=None) +.B salt.wheel.file_roots.list_env(saltenv=\(aqbase\(aq) Return all of the file paths found in an environment .UNINDENT .INDENT 0.0 @@ -254609,12 +278935,12 @@ Return all of the files names in all available environments .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.file_roots.read(path, saltenv=\(aqbase\(aq, env=None) +.B salt.wheel.file_roots.read(path, saltenv=\(aqbase\(aq) Read the contents of a text file, if the file is binary then .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.file_roots.write(data, path, saltenv=\(aqbase\(aq, index=0, env=None) +.B salt.wheel.file_roots.write(data, path, saltenv=\(aqbase\(aq, index=0) Write the named file, by default the first file found is written, but the index of the file can be specified to write to a lower priority file root .UNINDENT @@ -254938,7 +279264,17 @@ We can now see that the \fBfoo\fP minion\(aqs key has been accepted by the maste .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.key.key_str(match) +.B salt.wheel.key.gen_keys(keydir=None, keyname=None, keysize=None, user=None) +Generate minion RSA public keypair +.UNINDENT +.INDENT 0.0 +.TP +.B salt.wheel.key.gen_signature(priv, pub, signature_path, auto_create=False, keysize=None) +Generate master public\-key\-signature +.UNINDENT +.INDENT 0.0 +.TP +.B salt.wheel.key.print(match) .INDENT 7.0 .INDENT 3.5 Return information about the key. Returns a dictionary. @@ -255016,6 +279352,11 @@ each salt\-key category, including \fBminions\fP, \fBminions_rejected\fP, .UNINDENT .INDENT 0.0 .TP +.B salt.wheel.key.name_match(match) +List all the keys based on a glob match +.UNINDENT +.INDENT 0.0 +.TP .B salt.wheel.key.reject(match, include_accepted=False, include_denied=False) Reject keys based on a glob match. Returns a dictionary. .INDENT 7.0 @@ -255099,12 +279440,12 @@ The \fIpillar_roots\fP wheel module is used to manage files under the pillar roo directories on the master server. .INDENT 0.0 .TP -.B salt.wheel.pillar_roots.find(path, saltenv=\(aqbase\(aq, env=None) +.B salt.wheel.pillar_roots.find(path, saltenv=\(aqbase\(aq) Return a dict of the files located with the given path and environment .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.pillar_roots.list_env(saltenv=\(aqbase\(aq, env=None) +.B salt.wheel.pillar_roots.list_env(saltenv=\(aqbase\(aq) Return all of the file paths found in an environment .UNINDENT .INDENT 0.0 @@ -255114,12 +279455,12 @@ Return all of the files names in all available environments .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.pillar_roots.read(path, saltenv=\(aqbase\(aq, env=None) +.B salt.wheel.pillar_roots.read(path, saltenv=\(aqbase\(aq) Read the contents of a text file, if the file is binary then .UNINDENT .INDENT 0.0 .TP -.B salt.wheel.pillar_roots.write(data, path, saltenv=\(aqbase\(aq, index=0, env=None) +.B salt.wheel.pillar_roots.write(data, path, saltenv=\(aqbase\(aq, index=0) Write the named file, by default the first file found is written, but the index of the file can be specified to write to a lower priority file root .UNINDENT @@ -255196,7 +279537,7 @@ interface. .sp .nf .ft C -import salt.client +import salt.config minion_opts = salt.config.minion_config(\(aq/etc/salt/minion\(aq) .ft P .fi @@ -255387,6 +279728,23 @@ Importing and using \fBLocalClient\fP must be done on the same machine as the Salt Master and it must be done using the same user that the Salt Master is running as. (Unless \fBexternal_auth\fP is configured and authentication credentials are included in the execution). +.sp +\&..note: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +The LocalClient uses a Tornado IOLoop, this can create issues when +using the LocalClient inside an existing IOLoop. If creating the +LocalClient in partnership with another IOLoop either create the +IOLoop before creating the LocalClient, or when creating the IOLoop +use ioloop.current() which will return the ioloop created by +LocalClient. +.ft P +.fi +.UNINDENT +.UNINDENT .INDENT 7.0 .INDENT 3.5 .sp @@ -255820,13 +280178,13 @@ 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 async(fun, low, user=\(aqUNKNOWN\(aq) +.B async(fun, low, user=\(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) +.B cmd(fun, arg=None, pub_data=None, kwarg=None, print_event=True, full_return=False) Execute a function .UNINDENT .INDENT 7.0 @@ -255906,13 +280264,13 @@ wheel = salt.wheel.WheelClient(opts) .UNINDENT .INDENT 7.0 .TP -.B async(fun, low, user=\(aqUNKNOWN\(aq) +.B async(fun, low, user=\(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) +.B cmd(fun, arg=None, pub_data=None, kwarg=None, print_event=True, full_return=False) Execute a function .INDENT 7.0 .INDENT 3.5 @@ -257104,6 +281462,17 @@ module raises an \fBImportError\fP or any other errors, it will not be loaded. The \fBstart()\fP function will be called for each \fBnetapi\fP module that is loaded. This function should contain the server loop that actually starts the service. This is started in a multiprocess. +.SS Multiple instances +.sp +New in version 2016.11.0. + +.sp +\fBrest_cherrypy\fP and \fBrest_tornado\fP +support running multiple instances by copying and renaming entire directory +of those. To start the copied multiple \fBnetapi\fP modules, add +configuration blocks for the copied \fBnetapi\fP modules in the +Salt Master config. The name of each added configuration block must match +with the name of each directory of the copied \fBnetapi\fP module. .SS Inline documentation .sp As with the rest of Salt, it is a best\-practice to include liberal inline @@ -257760,7 +282129,7 @@ keep_jobs: 24 .sp .nf .ft C -250 jobs/day * 2000 minions returns = 500.000 files a day +250 jobs/day * 2000 minions returns = 500,000 files a day .ft P .fi .UNINDENT @@ -257787,6 +282156,20 @@ into a returner (not sent through the Master) master_job_cache (New in \fI2014.7.0\fP): this will make the Master store the job data using a returner (instead of the local job cache on disk). .UNINDENT +.sp +If a master has many accepted keys, it may take a long time to publish a job +because the master much first determine the matching minions and deliver +that information back to the waiting client before the job can be published. +.sp +To mitigate this, a key cache may be enabled. This will reduce the load +on the master to a single file open instead of thousands or tens of thousands. +.sp +This cache is updated by the maintanence process, however, which means that +minions with keys that are accepted may not be targeted by the master +for up to sixty seconds by default. +.sp +To enable the master key cache, set \fIkey_cache: \(aqsched\(aq\fP in the master +configuration file. .SS Multi Master Tutorial .sp As of Salt 0.16.0, the ability to connect minions to multiple masters has been @@ -259177,6 +283560,36 @@ If true, windows will use the task scheduler to run the installation. This is useful for running the salt installation itself as the installation process kills any currently running instances of salt. .TP +.B param str source_hash +This tells salt to compare a hash sum of the installer +.UNINDENT +.sp +to the provided hash sum before execution. The value can be formatted as +\fBhash_algorithm=hash_sum\fP, or it can be a URI to a file containing the hash +sum. +For a list of supported algorithms, see the \fI\%hashlib documentation\fP\&. +.sp +Here\(aqs an example of source_hash usage: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +messageanalyzer: + \(aq4.0.7551.0\(aq: + full_name: \(aqMicrosoft Message Analyzer\(aq + installer: \(aqsalt://win/repo/messageanalyzer/MessageAnalyzer64.msi\(aq + install_flags: \(aq/quiet /norestart\(aq + uninstaller: \(aq{1CC02C23\-8FCD\-487E\-860C\-311EC0A0C933}\(aq + uninstall_flags: \(aq/quiet /norestart\(aq + msiexec: True + source_hash: \(aqsha1=62875ff451f13b10a8ff988f2943e76a4735d3d4\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B param bool reboot Not implemented .TP @@ -259886,25 +284299,13 @@ Writing Salt Documentation\&. .SS Salt Coding Style .sp SaltStack has its own coding style guide that informs contributors on various coding -approaches. Please review the -.nf -:ref:\(gaSalt Coding Style\(ga_ -.fi - documentation +approaches. Please review the Salt Coding Style documentation for information about Salt\(aqs particular coding patterns. .sp -Within the -.nf -:ref:\(gaSalt Coding Style\(ga_ -.fi - documentation, there is a section +Within the Salt Coding Style documentation, there is a section about running Salt\(aqs \fB\&.pylintrc\fP file. SaltStack recommends running the \fB\&.pylintrc\fP file on any files you are changing with your code contribution before submitting a -pull request to Salt\(aqs repository. Please see the -.nf -:ref:\(gaLinting\(ga_ -.fi - +pull request to Salt\(aqs repository. Please see the Linting documentation for more information. .SS Sending a GitHub pull request .sp @@ -262739,6 +287140,178 @@ The contributing documentation presents more details on specific contributing topics: .sp \fI\%https://docs.saltstack.com/en/latest/topics/development/contributing.html\fP +.SS Salt Extend +.sp +\fBsalt\-extend\fP is a templating tool for extending SaltStack. If you\(aqre looking to add a module to +SaltStack, then the \fBsalt\-extend\fP utility can guide you through the process. +.sp +You can use Salt Extend to quickly create templated modules for adding new behaviours to some of the module subsystems within Salt. +.sp +Salt Extend takes a template directory and merges it into a SaltStack source code directory. +.SS Command line usage +.sp +\fISee\fP \fBsalt\-extend\fP +.SS Choosing a template +.sp +The following templates are available: +.SS module +.sp +Creates a new execution module within salt/modules/{{module_name}}.py +.SS module_unit +.sp +Creates a new execution module unit test suite within tests/unit/modules/{{module_name}}_test.py +.SS state +.sp +Creates a new state module within salt/states/{{module_name}}.py +.SS state_unit +.sp +Creates a new state module unit test suite within tests/unit/states/{{module_name}}_test.py +.SS Adding templates +.INDENT 0.0 +.IP 1. 3 +Create a directory under /templates +.IP 2. 3 +Create a file \fBtemplate.yml\fP containing properties for +.UNINDENT +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +\fBdescription\fP \- a description of the template +.IP \(bu 2 +\fBquestions\fP \- a collection of additional questions to ask the user, the name of the item will +be used as the key in the context dictionary within the jinja template. +.INDENT 2.0 +.IP \(bu 2 +\fBquestion\fP \- The question to ask the user, as a string +.IP \(bu 2 +\fBdefault\fP \- (optional) the default value, can contain Jinja2 template syntax and has access to the default context properties +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.SS Example template.yml +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +description: "Execution module" +questions: + depending_libraries: + question: "What libraries does this module depend upon?" + virtual_name: + question: "What module virtual name to use?" + default: "{{module_name}}" +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 0.0 +.IP 3. 3 +Create the files within /templates/ to match the target +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +File names can contain Jinja 2 template syntax, e.g. \fI\(aq{{module_name}}.py}}\(aq\fP +.UNINDENT +.UNINDENT +.SS Example file in the template directory +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +print(\(aqHello {{module_name}}\(aq) +__virtual__ = \(aq{{__virtual_name__}}\(aq +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Default context properties +.sp +The default context provides the following properties +.INDENT 0.0 +.IP \(bu 2 +\fBdescription\fP \- A description of the template +.IP \(bu 2 +\fBshort_description\fP \- A short description of the module as entered by the user +.IP \(bu 2 +\fBversion\fP \- The version name of the next release +.IP \(bu 2 +\fBmodule_name\fP \- The module name as entered by the user +.IP \(bu 2 +\fBrelease_date\fP \- The current date in the format \fIYYYY\-MM\-DD\fP +.IP \(bu 2 +\fByear\fP \- The current year in the format \fIYYYY\fP +.UNINDENT +.sp +As well as any additional properties entered from the questions section of \fBtemplate.yml\fP +.SS API +.SS SaltStack Extend +.sp +A templating tool for extending SaltStack. +.sp +Takes a template directory and merges it into a SaltStack source code +directory. This tool uses Jinja2 for templating. +.sp +This tool is accessed using \fIsalt\-extend\fP +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B codeauthor + +.nf +:email:\(gaAnthony Shaw \(ga +.fi + +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.utils.extend.apply_template(template_dir, output_dir, context) +Apply the template from the template directory to the output +using the supplied context dict. +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBsrc\fP (\fBstr\fP) \-\- The source path +.IP \(bu 2 +\fBdst\fP (\fBstr\fP) \-\- The destination path +.IP \(bu 2 +\fBcontext\fP (\fBdict\fP) \-\- The dictionary to inject into the Jinja template as context +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B salt.utils.extend.run(extension=None, name=None, description=None, salt_dir=None, merge=False, temp_dir=None) +A template factory for extending the salt ecosystem +.INDENT 7.0 +.TP +.B Parameters +.INDENT 7.0 +.IP \(bu 2 +\fBextension\fP (\fBstr\fP) \-\- The extension type, e.g. \(aqmodule\(aq, \(aqstate\(aq, if omitted, user will be prompted +.IP \(bu 2 +\fBname\fP (\fBstr\fP) \-\- Python\-friendly name for the module, if omitted, user will be prompted +.IP \(bu 2 +\fBdescription\fP (\fBstr\fP) \-\- A description of the extension, if omitted, user will be prompted +.IP \(bu 2 +\fBsalt_dir\fP (\fBstr\fP) \-\- The targeted Salt source directory +.IP \(bu 2 +\fBmerge\fP (\fBbool\fP) \-\- Merge with salt directory, \fIFalse\fP to keep seperate, \fITrue\fP to merge trees. +.IP \(bu 2 +\fBtemp_dir\fP (\fBstr\fP) \-\- The directory for generated code, if omitted, system temp will be used +.UNINDENT +.UNINDENT +.UNINDENT .SS Salt\(aqs Test Suite .sp Salt comes with a powerful integration and unit test suite allowing for @@ -262779,7 +287352,7 @@ sent through the started daemons. Integration tests are particularly good at testing modules, states, and shell commands, among other segments of Salt\(aqs ecosystem. By utilizing the integration test daemons, integration tests are easy to write. They -are also SaltStack\(aqs gerneally preferred method of adding new tests. +are also SaltStack\(aqs generally preferred method of adding new tests. .sp The discussion in the Integration vs. Unit section of the testing tutorial is @@ -264890,27 +289463,19 @@ service/software/etc, managed by the formula: .sp .nf .ft C - +mysql: + lookup: + version: 5.7.11 .ft P .fi .UNINDENT .UNINDENT -.INDENT 0.0 -.TP -.B mysql: -.INDENT 7.0 -.TP -.B lookup: -version: 5.7.11 -... -.UNINDENT -.UNINDENT .SS Collecting common values .sp Common values can be collected into a \fIbase\fP dictionary. This minimizes repetition of identical values in each of the \fBlookup_dict\fP sub\-dictionaries. Now only the values that are -different from the base must be specified of the alternates: +different from the base must be specified by the alternates: .sp \fBmap.jinja\fP: .INDENT 0.0 @@ -264940,7 +289505,7 @@ different from the base must be specified of the alternates: \(aqpython\(aq: \(aqdev\-python/mysql\-python\(aq, }, }, -merge=salt[\(aqpillar.get\(aq](\(aqmysql:lookup\(aq, default=\(aqdefault\(aq) %} +merge=salt[\(aqpillar.get\(aq](\(aqmysql:lookup\(aq), base=\(aqdefault\(aq) %} .ft P .fi .UNINDENT @@ -266192,7 +290757,7 @@ def managed(name, context=None, replace=True, defaults=None, - env=None, + saltenv=None, backup=\(aq\(aq, **kwargs): .ft P @@ -266713,6 +291278,22 @@ Thrown when token authentication fails .UNINDENT .INDENT 0.0 .TP +.B exception salt.exceptions.VMwareApiError(message=\(aq\(aq, info=None) +Used when a VMware object cannot be retrieved +.UNINDENT +.INDENT 0.0 +.TP +.B exception salt.exceptions.VMwareConnectionError(message=\(aq\(aq, info=None) +Used when the client fails to connect to a either a VMware vCenter server or +to a ESXi host +.UNINDENT +.INDENT 0.0 +.TP +.B exception salt.exceptions.VMwareSaltError(message=\(aq\(aq, info=None) +Used when a VMware object cannot be retrieved +.UNINDENT +.INDENT 0.0 +.TP .B salt.exceptions.get_error_message(error) Get human readable message from Python Exception .UNINDENT @@ -266979,9 +291560,56 @@ Thrown when token authentication fails .UNINDENT .INDENT 0.0 .TP +.B exception salt.exceptions.VMwareApiError(message=\(aq\(aq, info=None) +Used when a VMware object cannot be retrieved +.UNINDENT +.INDENT 0.0 +.TP +.B exception salt.exceptions.VMwareConnectionError(message=\(aq\(aq, info=None) +Used when the client fails to connect to a either a VMware vCenter server or +to a ESXi host +.UNINDENT +.INDENT 0.0 +.TP +.B exception salt.exceptions.VMwareSaltError(message=\(aq\(aq, info=None) +Used when a VMware object cannot be retrieved +.UNINDENT +.INDENT 0.0 +.TP .B salt.exceptions.get_error_message(error) Get human readable message from Python Exception .UNINDENT +.SS Unicode in Salt +.sp +Though Unicode handling in large projects can often be complex, Salt adheres to +several basic rules to help developers handle Unicode correctly. +.sp +(For a basic introduction to this problem, see Ned Batchelder\(aqs +\fIexcellent intoroduction to the topic \fP\&. +.sp +Salt\(aqs basic workflow for Unicode handling is as follows: +.sp +1) Salt should convert whatever data is passed on CLI/API to Unicode. Internally, +everything that Salt does should be Unicode unless it is printing to the screen +or writing to storage. +.INDENT 0.0 +.IP 2. 3 +Modules and various Salt pluggable systems use incoming data assuming Unicode. +.INDENT 3.0 +.INDENT 3.5 +2.1) For Salt modules that query an API; the module should convert the data received from the API into Unicode. +.sp +2.2) For Salt modules that shell out to get output; the module should convert data received into Unicode. (This does not apply if using the \fIcmd\fP execution module, which should handle this for you. +.sp +2.3) For Salt modules which print directly to the console (not via an outputter) or which write directly to disk, a string should be encoded when appropriate. To handle this conversion, the global variable \fI__salt_system_encoding__\fP is available, which declares the locale of the system that Salt is running on. +.UNINDENT +.UNINDENT +.IP 3. 3 +When a function in a Salt module returns, it should return Unicode. +.UNINDENT +.sp +4) When Salt delivers the data to an outputter or a returner, it is the job of the outputter +or returner to encode the Unicode before displaying it on the console or writing it to storage. .SS Salt Community Projects .sp This page contains links to Salt\-related projects created by community members. @@ -267526,6 +292154,29 @@ results in only asserting against the data you have provided. This results in a poor and fragile unit test. .UNINDENT .UNINDENT +.SS Checking for Log Messages +.sp +To test to see if a given log message has been emitted, the following pattern +can be used +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Import logging handler +from salttesting.helpers import TestsLoggingHandler + +# .. inside test +with TestsLoggingHandler() as handler: + for message in handler.messages: + if message.startswith(\(aqERROR: This is the error message we seek\(aq): + break + else: + raise AssertionError(\(aqDid not find error message\(aq) +.ft P +.fi +.UNINDENT +.UNINDENT .SS Automated Test Runs .sp SaltStack maintains a Jenkins server which can be viewed at @@ -267558,8 +292209,836 @@ See the \fBversion numbers\fP page for more information about the version numbering scheme. .SS Latest Branch Release .sp -\fB/topics/releases/2016.3.3\fP +Release Candidate .SS Previous Releases +.SS Salt Release Notes \- Codename Carbon +.SS Release Candidate +.sp +See Installing/Testing a Salt Release Candidate for instructions to install the latest release candidate. +.SS Release Candidate Known Issues +.INDENT 0.0 +.IP \(bu 2 +\fI\%issue 36729\fP: Minion does not shutdown properly when attempting to start multiple minions on same host +.IP \(bu 2 +\fI\%issue 36693\fP: /etc/salt/master.d/schedule.conf schedule jobs fail to run +.IP \(bu 2 +\fI\%issue 36746\fP: When killing a job jid output missing +.IP \(bu 2 +\fI\%issue 36748\fP: Proxy minion is not working +.IP \(bu 2 +\fI\%issue 36134\fP: multi\-master with failover does not failover when master goes down +.IP \(bu 2 +\fI\%issue 36804\fP: error when using pkg.installed with url source +.UNINDENT +.SS New Features +.SS Docker Introspection and Configuration +.sp +Major additions have been made to the Docker support in Carbon. The new +addition allows Salt to be executed within a Docker container without a +minion running or installed in the container. This allows states to +be run inside a container, but also all of Salt\(aqs remote execution +commands to be run inside docker containers as well. This makes +container introspection simple and powerful. See the tutorial on using +this new feature here: +.sp +#TODO: Add link to docker sls tutorial +.SS Advanced Ceph Control +.sp +Our friends over at SUSE have delivered a powerful new tool to make the +deployment of Ceph storage systems using Salt very easy. These new Ceph +tools allow for a storage system to be easily defined using the new +\fIceph.quorum\fP state. +.SS Thorium Additions and Improvements +.sp +The Thorium advanced reactor has undergone extensive testing and updates. +These updates include many more Thorium states, a system for automating +key management, the ability to use Thorium to easily replace old +reactors and a great deal of stability and bug fixes. +.SS State Rollback Using Snapper +.sp +Rollback has been one of the most prevalent requests for Salt. We +have researched it extensively and concluded that the only way to +accomplish truly reliable rollback would be to execute it at +the filesystem layer. To accomplish this we have introduced Snapper +integration into Salt States. +.sp +Snapper is a tool which allows for simple and reliable snapshots +of the filesystem to be made. With the new \fIsnapper_states\fP option +set to \fITrue\fP in the minion config a snapshot will be made before +and after every Salt State run. +.sp +These snapshots can be viewed, managed and rolled back to via the +\fIsnapper\fP execution module. +.SS Preserve File Perms in File States +.sp +This feature has been requested for years, the ability to set a flag +and use the same file permissions for files deployed to a minion as +the permissions set to the file on the master. Just set the \fIkeep_mode\fP +option on any file management state to \fITrue\fP\&. +.SS Ponies! +.sp +We all agreed that cowsay was just not good enough, install the \fIponysay\fP +command and the new \fIpony\fP outputter will work. Fun for the whole family! +.SS Additional Features +.INDENT 0.0 +.IP \(bu 2 +Minions can run in stand\-alone mode to use beacons and engines without +having to connect to a master. (Thanks @adelcast!) +.IP \(bu 2 +Added a \fBsalt\fP runner to allow running salt modules via salt\-run. +.INDENT 2.0 +.INDENT 3.5 +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +salt\-run salt.cmd test.ping +# call functions with arguments and keyword arguments +salt\-run salt.cmd test.arg 1 2 3 a=1 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +Added SSL support to Cassandra CQL returner. +SSL can be enabled by setting \fBssl_options\fP for the returner. +Also added support for specifying \fBprotocol_version\fP when establishing +cluster connection. +.IP \(bu 2 +The \fBmode\fP parameter in the \fBfile.managed\fP state, and the \fBfile_mode\fP parameter in the +\fBfile.recurse\fP state, can both now be set +to \fBkeep\fP and the minion will keep the mode of the file from the Salt +fileserver. This works only with files coming from sources prefixed with +\fBsalt://\fP, or files local to the minion (i.e. those which are absolute +paths, or are prefixed with \fBfile://\fP). For example: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +/etc/myapp/myapp.conf: + file.managed: + \- source: salt://conf/myapp/myapp.conf + \- mode: keep + +/var/www/myapp: + file.recurse: + \- source: salt://path/to/myapp + \- dir_mode: 755 + \- file_mode: keep +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +The \fBjunos\fP state module is now available. It has all the functions +that are present in the \fBjunos\fP execution module. +.UNINDENT +.SS New Top File Merging Strategy for States +.sp +A new strategy called \fBmerge_all\fP has been added to provide a new way of +merging top file matches when executing a highstate\&. +See the \fBtop_file_merging_strategy\fP documentation for further +information. +.sp +In addition, the \fBsame\fP merging strategy was not functioning as documented. +This has now been corrected. While this is technically a bugfix, we decided to +hold a change in top file merging until a feature release to minimize user +impact. +.SS Config Changes +.sp +The following default config values were changed: +.INDENT 0.0 +.IP \(bu 2 +\fBgitfs_ssl_verify\fP: Changed from \fBFalse\fP to \fBTrue\fP +.IP \(bu 2 +\fBgit_pillar_ssl_verify\fP: Changed from \fBFalse\fP to \fBTrue\fP +.IP \(bu 2 +\fBwinrepo_ssl_verify\fP: Changed from \fBFalse\fP to \fBTrue\fP +.UNINDENT +.SS Grains Changes +.INDENT 0.0 +.IP \(bu 2 +All core grains containing \fBVMWare\fP have been changed to \fBVMware\fP, which +is the \fI\%official capitalization\fP\&. Additionally, +all references to \fBVMWare\fP in the documentation have been changed to +\fBVMware\fP \fI\%issue 30807\fP\&. Environments using versions of Salt before and +after Salt Carbon should employ case\-insensitive grain matching on these +grains. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +{% set on_vmware = grains[\(aqvirtual\(aq].lower() == \(aqvmware\(aq %} +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +On Windows the \fBcpu_model\fP grain has been changed to provide the actual cpu +model name and not the cpu family. +.sp +Old behavior: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +root@master:~# salt \(aqtestwin200\(aq grains.item cpu_model +testwin200: + \-\-\-\-\-\-\-\-\-\- + cpu_model: + Intel64 Family 6 Model 58 Stepping 9, GenuineIntel +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +New behavior: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +root@master:~# salt \(aqtestwin200\(aq grains.item cpu_model +testwin200: + \-\-\-\-\-\-\-\-\-\- + cpu_model: + Intel(R) Core(TM) i7\-3520M CPU @ 2.90GHz +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS Beacons Changes +.INDENT 0.0 +.IP \(bu 2 +The \fBloadavg\fP beacon now outputs averages as integers instead of strings. +(Via +.nf +:issuse:\(ga31124\(ga +.fi +\&.) +.UNINDENT +.SS Runner Changes +.INDENT 0.0 +.IP \(bu 2 +Runners can now call out to utility modules +via \fB__utils__\fP\&. +.IP \(bu 2 +ref:\fIUtility modules \fP (placed in +\fBsalt://_utils/\fP) are now able to be synced to the master, making it easier +to use them in custom runners. A \fBsaltutil.sync_utils\fP function has been added to the +\fBsaltutil runner\fP to faciliate the syncing of +utility modules to the master. +.UNINDENT +.SS Pillar Changes +.INDENT 0.0 +.IP \(bu 2 +Thanks to the new \fBsaltutil.sync_utils\fP runner, it is now easier to get +ref:\fIutility modules \fP synced to the correct +location on the Master so that they are available in execution modules called +from Pillar SLS files. +.UNINDENT +.SS Junos Module Changes +.INDENT 0.0 +.IP \(bu 2 +The following new functionalities were added to the junos module +.INDENT 2.0 +.IP \(bu 2 +facts \- Displays the facts gathered during the connection. +.IP \(bu 2 +shutdown \- Shut down or reboot a device running Junos OS. +.IP \(bu 2 +install_config \- Modify the configuration of a Junos device. +.IP \(bu 2 +install_os \- Install Junos OS software package. +.IP \(bu 2 +zeroize \- Remove all configuration information on the Routing Engines and reset all key values on a device. +.IP \(bu 2 +file_copy \- Copy file from proxy to the Junos device. +.UNINDENT +.UNINDENT +.SS Returner Changes +.INDENT 0.0 +.IP \(bu 2 +Any returner which implements a \fIsave_load\fP function is now required to +accept a \fIminions\fP keyword argument. All returners which ship with Salt +have been modified to do so. +.UNINDENT +.SS External Module Packaging +.sp +Modules may now be packaged via entry\-points in setuptools. See +\fBexternal module packaging\fP tutorial +for more information. +.SS Functionality Changes +.INDENT 0.0 +.IP \(bu 2 +The \fBonfail\fP requisite now uses OR logic instead of AND logic. +\fI\%issue 22370\fP +.IP \(bu 2 +The consul external pillar now strips leading and trailing whitespace. +\fI\%issue 31165\fP +.IP \(bu 2 +The win_system.py state is now case sensitive for computer names. Previously +computer names set with a state were converted to all caps. If you have a +state setting computer names with lower case letters in the name that has +been applied, the computer name will be changed again to apply the case +sensitive name. +.IP \(bu 2 +The \fBmac_user.list_groups\fP function in the \fBmac_user\fP execution module +now lists all groups for the specified user, including groups beginning with +an underscore. In previous releases, groups beginning with an underscore were +excluded from the list of groups. +.IP \(bu 2 +The \fBjunos.call_rpc\fP function in the \fBjunos\fP execution module can now be used +to call any valid rpc. Earlier it used to call only "get_software_information". +.IP \(bu 2 +A new option for minions called \fBmaster_tries\fP has been added. This +specifies the number of times a minion should attempt to contact a master to +attempt a connection. This allows better handling of occasional master +downtime in a multi\-master topology. +.IP \(bu 2 +Nodegroups consisting of a simple list of minion IDs can now also be declared +as a yaml list. The below two examples are equivalent: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +# Traditional way +nodegroups: + \- group1: L@host1,host2,host3 + +# New way (optional) +nodegroups: + \- group1: + \- host1 + \- host2 + \- host3 +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.SS New Modules +.SS Beacons +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.beacons.bonjour_announce\fP +.IP \(bu 2 +\fBsalt.beacons.haproxy\fP +.IP \(bu 2 +\fBsalt.beacons.status\fP +.UNINDENT +.SS Engines +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.engines.hipchat\fP +.UNINDENT +.SS Modules +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.modules.boto_cloudwatch_event\fP +.IP \(bu 2 +\fBsalt.modules.celery\fP +.IP \(bu 2 +\fBsalt.modules.ceph\fP +.IP \(bu 2 +\fBsalt.modules.influx08\fP +.IP \(bu 2 +\fBsalt.modules.inspectlib.entities\fP +.IP \(bu 2 +\fBsalt.modules.inspectlib.fsdb\fP +.IP \(bu 2 +\fBsalt.modules.inspectlib.kiwiproc\fP +.IP \(bu 2 +\fBsalt.modules.inspector\fP +.IP \(bu 2 +\fBsalt.modules.libcloud_dns\fP +.IP \(bu 2 +\fBsalt.modules.openstack_mng\fP +.IP \(bu 2 +\fBsalt.modules.servicenow\fP +.IP \(bu 2 +\fBsalt.modules.testinframod\fP +.IP \(bu 2 +\fBsalt.modules.win_lgpo\fP +.IP \(bu 2 +\fBsalt.modules.win_pki\fP +.IP \(bu 2 +\fBsalt.modules.win_psget\fP +.IP \(bu 2 +\fBsalt.modules.win_snmp\fP +.IP \(bu 2 +\fBsalt.modules.xbpspkg\fP +.UNINDENT +.SS Outputters +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.output.pony\fP +.UNINDENT +.SS Pillar +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.pillar.csvpillar\fP +.IP \(bu 2 +\fBsalt.pillar.http_json\fP +.IP \(bu 2 +\fBsalt.pillar.makostack\fP +.UNINDENT +.SS Returners +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.returners.zabbix_return\fP +.UNINDENT +.SS Runners +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.runners.auth\fP +.IP \(bu 2 +\fBsalt.runners.event\fP +.IP \(bu 2 +\fBsalt.runners.smartos_vmadm\fP +.IP \(bu 2 +\fBsalt.runners.vistara\fP +.UNINDENT +.SS SDB +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.sdb.env\fP +.UNINDENT +.SS States +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.states.boto_cloudwatch_event\fP +.IP \(bu 2 +\fBsalt.states.csf\fP +.IP \(bu 2 +\fBsalt.states.ethtool\fP +.IP \(bu 2 +\fBsalt.states.influxdb08_database\fP +.IP \(bu 2 +\fBsalt.states.influxdb08_user\fP +.IP \(bu 2 +\fBsalt.states.libcloud_dns\fP +.IP \(bu 2 +\fBsalt.states.snapper\fP +.IP \(bu 2 +\fBsalt.states.testinframod\fP +.IP \(bu 2 +\fBsalt.states.win_lgpo\fP +.IP \(bu 2 +\fBsalt.states.win_pki\fP +.IP \(bu 2 +\fBsalt.states.win_snmp\fP +.UNINDENT +.SS Thorium +.INDENT 0.0 +.IP \(bu 2 +\fBsalt.thorium.calc\fP +.IP \(bu 2 +\fBsalt.thorium.key\fP +.IP \(bu 2 +\fBsalt.thorium.runner\fP +.IP \(bu 2 +\fBsalt.thorium.status\fP +.IP \(bu 2 +\fBsalt.thorium.wheel\fP +.UNINDENT +.SS Deprecations +.SS General Deprecations +.INDENT 0.0 +.IP \(bu 2 +\fBenv\fP to \fBsaltenv\fP +.sp +All occurrences of \fBenv\fP and some occurrences of \fB__env__\fP marked for +deprecation in Salt Carbon have been removed. The new way to use the salt +environment setting is with a variable called \fBsaltenv\fP: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +def fcn(msg=\(aq\(aq, env=\(aqbase\(aq, refresh=True, saltenv=\(aqbase\(aq, **kwargs): +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +has been changed to +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +def fcn(msg=\(aq\(aq, refresh=True, saltenv=\(aqbase\(aq, **kwargs): +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 2.0 +.IP \(bu 2 +If \fBenv\fP (or \fB__env__\fP) is supplied as a keyword argument to a function +that also accepts arbitrary keyword arguments, then a new warning informs the +user that \fBenv\fP is no longer used if it is found. This new warning will be +removed in Salt Nitrogen. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +def fcn(msg=\(aq\(aq, refresh=True, saltenv=\(aqbase\(aq, **kwargs): +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +# will result in a warning log message +fcn(msg=\(aqadd more salt\(aq, env=\(aqprod\(aq, refresh=False) +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +If \fBenv\fP (or \fB__env__\fP) is supplied as a keyword argument to a function +that does not accept arbitrary keyword arguments, then python will issue an +error. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +def fcn(msg=\(aq\(aq, refresh=True, saltenv=\(aqbase\(aq): +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +# will result in a python TypeError +fcn(msg=\(aqadd more salt\(aq, env=\(aqprod\(aq, refresh=False) +.ft P +.fi +.UNINDENT +.UNINDENT +.IP \(bu 2 +If \fBenv\fP (or \fB__env__\fP) is supplied as a positional argument to a +function, then undefined behavior will occur, as the removal of \fBenv\fP and +\fB__env__\fP from the function\(aqs argument list changes the function\(aqs +signature. +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +def fcn(msg=\(aq\(aq, refresh=True, saltenv=\(aqbase\(aq): +.ft P +.fi +.UNINDENT +.UNINDENT +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +# will result in refresh evaluating to True and saltenv likely not being a string at all +fcn(\(aqadd more salt\(aq, \(aqprod\(aq, False) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.IP \(bu 2 +Deprecations in \fBminion.py\fP: +.INDENT 2.0 +.IP \(bu 2 +The \fBsalt.minion.parse_args_and_kwargs\fP function has been removed. Please +.UNINDENT +.sp +use the \fBsalt.minion.load_args_and_kwargs\fP function instead. +.UNINDENT +.SS Cloud Deprecations +.INDENT 0.0 +.IP \(bu 2 +The \fBvsphere\fP cloud driver has been removed. Please use the \fBvmware\fP cloud driver +instead. +.IP \(bu 2 +The \fBprivate_ip\fP option in the \fBlinode\fP cloud driver is deprecated and has been +removed. Use the \fBassign_private_ip\fP option instead. +.IP \(bu 2 +The \fBcreate_dns_record\fP and \fBdelete_dns_record\fP functions are deprecated and have +been removed from the \fBdigital_ocean\fP driver. Use the \fBpost_dns_record\fP function +instead. +.UNINDENT +.SS Execution Module Deprecations +.INDENT 0.0 +.IP \(bu 2 +The \fBblockdev\fP execution module had four functions removed: +.INDENT 2.0 +.IP \(bu 2 +dump +.IP \(bu 2 +tune +.IP \(bu 2 +resize2fs +.IP \(bu 2 +wipe +.UNINDENT +.sp +The \fBdisk\fP module should be used instead with the same function names. +.IP \(bu 2 +The \fBboto_vpc\fP execution module had two functions removed, +\fBboto_vpc.associate_new_dhcp_options_to_vpc\fP and +\fBboto_vpc.associate_new_network_acl_to_subnet\fP in favor of more concise function +names, \fBboto_vpc.create_dhcp_options\fP and \fBboto_vpc.create_network_acl\fP, respectively. +.IP \(bu 2 +The \fBdata\fP execution module had \fBgetval\fP and \fBgetvals\fP functions removed +in favor of one function, \fBget\fP, which combines the functionality of the +removed functions. +.IP \(bu 2 +File module deprecations: +.INDENT 2.0 +.IP \(bu 2 +The \fBcontains_regex_multiline\fP function was removed. Use \fBfile.search\fP instead. +.IP \(bu 2 +Additional command line options for \fBfile.grep\fP should be passed one at a time. +Please do not pass more than one in a single argument. +.UNINDENT +.IP \(bu 2 +The \fBlxc\fP execution module has the following changes: +.INDENT 2.0 +.IP \(bu 2 +The \fBrun_cmd\fP function was removed. Use \fBlxc.run\fP instead. +.IP \(bu 2 +The \fBnic\fP argument was removed from the \fBlxc.init\fP function. Use \fBnetwork_profile\fP +instead. +.IP \(bu 2 +The \fBclone\fP argument was removed from the \fBlxc.init\fP function. Use \fBclone_from\fP +instead. +.IP \(bu 2 +passwords passed to the \fBlxc.init\fP function will be assumed to be hashed, unless +\fBpassword_encrypted=False\fP\&. +.IP \(bu 2 +The \fBrestart\fP argument for \fBlxc.start\fP was removed. Use \fBlxc.restart\fP instead. +.IP \(bu 2 +The old style of defining lxc containers has been removed. Please use keys under which +LXC profiles should be configured such as \fBlxc.container_profile.profile_name\fP\&. +.UNINDENT +.IP \(bu 2 +The \fBenv\fP and \fBactivate\fP keyword arguments have been removed from the \fBinstall\fP +function in the \fBpip\fP execution module. The use of \fBbin_env\fP replaces both of these +options. +.IP \(bu 2 +\fBreg\fP execution module +.sp +Functions in the \fBreg\fP execution module had misleading and confusing names +for dealing with the Windows registry. They failed to clearly differentiate +between hives, keys, and name/value pairs. Keys were treated like value names. +There was no way to delete a key. +.sp +New functions were added in 2015.5 to properly work with the registry. They +also made it possible to edit key default values as well as delete an entire +key tree recursively. With the new functions in place, the following functions +have been deprecated: +.INDENT 2.0 +.IP \(bu 2 +read_key +.IP \(bu 2 +set_key +.IP \(bu 2 +create_key +.IP \(bu 2 +delete_key +.UNINDENT +.sp +Use the following functions instead: +.INDENT 2.0 +.IP \(bu 2 +for \fBread_key\fP use \fBread_value\fP +.IP \(bu 2 +for \fBset_key\fP use \fBset_value\fP +.IP \(bu 2 +for \fBcreate_key\fP use \fBset_value\fP with no \fBvname\fP and no \fBvdata\fP +.IP \(bu 2 +for \fBdelete_key\fP use \fBdelete_key_recursive\fP\&. To delete a value, use +\fBdelete_value\fP\&. +.UNINDENT +.IP \(bu 2 +The \fBhash_hostname\fP option was removed from the \fBsalt.modules.ssh\fP execution +module. The \fBhash_known_hosts\fP option should be used instead. +.IP \(bu 2 +The \fBhuman_readable\fP option was removed from the \fBuptime\fP function in the +\fBstatus\fP execution module. The function was also updated in 2015.8.9 to return +a more complete offering of uptime information, formatted as an easy\-to\-read +dictionary. This updated function replaces the need for the \fBhuman_readable\fP +option. +.IP \(bu 2 +The \fBpersist\fP kwarg was removed from the \fBwin_useradd\fP execution module. This +option is no longer supported for Windows. \fBpersist\fP is only supported as part +of user management in UNIX/Linux. +.IP \(bu 2 +The \fBzpool_list\fP function in the \fBzpool\fP execution module was removed. Use \fBlist\fP +instead. +.UNINDENT +.SS Outputter Module Deprecations +.INDENT 0.0 +.IP \(bu 2 +The \fBcompact\fP outputter has been removed. Set \fBstate_verbose\fP to \fBFalse\fP instead. +.UNINDENT +.SS Runner Module Deprecations +.INDENT 0.0 +.IP \(bu 2 +The \fBgrains.cache\fP runner no longer accepts \fBoutputter\fP or \fBminion\fP as keyword arguments. +Users will need to specify an outputter using the \fB\-\-out\fP option. \fBtgt\fP is +replacing the \fBminion\fP kwarg. +.IP \(bu 2 +The \fBfileserver\fP runner no longer accepts the \fBoutputter\fP keyword argument. Users will +need to specify an outputter using the \fB\-\-out\fP option. +.IP \(bu 2 +The \fBjobs\fP runner no longer accepts the \fBouputter\fP keyword argument. Users will need to +specify an outputter using the \fB\-\-out\fP option. +.IP \(bu 2 +\fBvirt\fP runner module: +.INDENT 2.0 +.IP \(bu 2 +The \fBhyper\fP kwarg was removed from the \fBinit\fP, \fBlist\fP, and \fBquery\fP functions. +Use the \fBhost\fP option instead. +.IP \(bu 2 +The \fBnext_hyper\fP function was removed. Use the \fBnext_host\fP function instead. +.IP \(bu 2 +The \fBhyper_info\fP function was removed. Use the \fBhost_info\fP function instead. +.UNINDENT +.UNINDENT +.SS State Module Deprecations +.INDENT 0.0 +.IP \(bu 2 +The \fBenv\fP and \fBactivate\fP keyword arguments were removed from the \fBinstalled\fP +function in the \fBpip\fP state module. The use of \fBbin_env\fP replaces both of these +options. +.IP \(bu 2 +\fBreg\fP state module +.sp +The \fBreg\fP state module was modified to work with the new functions in the +execution module. Some logic was left in the \fBreg.present\fP and the +\fBreg.absent\fP functions to handle existing state files that used the final +key in the name as the value name. That logic has been removed so you now must +specify value name (\fBvname\fP) and, if needed, value data (\fBvdata\fP). +.sp +For example, a state file that adds the version value/data pair to the +Software\eSalt key in the HKEY_LOCAL_MACHINE hive used to look like this: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +HKEY_LOCAL_MACHINE\e\eSoftware\e\eSalt\e\eversion: + reg.present: + \- value: 2016.3.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Now it should look like this: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +HKEY_LOCAL_MACHINE\e\eSoftware\e\eSalt + reg.present: + \- vname: version + \- vdata: 2016.3.1 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +A state file for removing the same value added above would have looked like +this: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +HKEY_LOCAL_MACHINE\e\eSoftware\e\eSalt\e\eversion: + reg.absent: +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Now it should look like this: +.INDENT 2.0 +.INDENT 3.5 +.sp +.nf +.ft C +HKEY_LOCAL_MACHINE\e\eSoftware\e\eSalt + reg.absent: + \- vname: version +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +This new structure is important as it allows salt to deal with key default +values which was not possible before. If vname is not passed, salt will work +with the default value for that hivekey. +.sp +Additionally, since you could only delete a value from a the state module, a +new function (\fBkey_absent\fP) has been added to allow you to delete a registry +key and all subkeys and name/value pairs recursively. It uses the new +\fBdelete_key_recursive\fP function. +.sp +For additional information see the documentation for the \fBreg\fP execution and +state modules. +.IP \(bu 2 +\fBlxc\fP state module: The following functions were removed from the \fBlxc\fP state +module: +.INDENT 2.0 +.IP \(bu 2 +\fBcreated\fP: replaced by the \fBpresent\fP state. +.IP \(bu 2 +\fBstarted\fP: replaced by the \fBrunning\fP state. +.IP \(bu 2 +\fBcloned\fP: replaced by the \fBpresent\fP state. Use the \fBclone_from\fP argument +to set the name of the clone source. +.UNINDENT +.IP \(bu 2 +The \fBhash_hostname\fP option was removed from the \fBsalt.states.ssh_known_hosts\fP +state. The \fBhash_known_hosts\fP option should be used instead. +.IP \(bu 2 +The \fBalways\fP kwarg used in the \fBbuilt\fP function of the \fBpkgbuild\fP state module +was removed. Use \fBforce\fP instead. +.UNINDENT +.SS Utils Module Deprecations +.INDENT 0.0 +.IP \(bu 2 +The use of \fBjid_dir\fP and \fBjid_load\fP were removed from the +\fBsalt.utils.jid\fP\&. \fBjid_dir\fP functionality for job_cache management was moved to +the \fBlocal_cache\fP returner. \fBjid_load\fP data is now retrieved from the +\fBmaster_job_cache\fP\&. +.IP \(bu 2 +\fBip_in_subnet\fP function in \fBsalt.utils.network.py\fP has been removed. Use the +\fBin_subnet\fP function instead. +.IP \(bu 2 +The \fBiam\fP utils module had two functions removed: \fBsalt.utils.iam.get_iam_region\fP +and \fBsalt.utils.iam.get_iam_metadata\fP in favor of the aws utils functions +\fBsalt.utils.aws.get_region_from_metadata\fP and \fBsalt.utils.aws.creds\fP, respectively. +.UNINDENT .SS Salt 2016.3.0 Release Notes \- Codename Boron .SS Known Issues .sp @@ -269514,12 +294993,10 @@ Changes: Version 2016.3.4 is a bugfix release for \fB2016.3.0\fP\&. .SS Known Issues .sp -\fI\%Bootstrap Issue #973\fP: \fBpython\-futures\fP is not installed when installing from a git tag -on RedHat\-based distributions. \fBPython futures\fP is needed when running Salt with the TCP -transport. This is fixed on the \fBdevelop\fP branch of the \fI\%salt\-bootstrap repo\fP and the fix -will be included in the upcoming release of salt\-bootstrap, but is a bug in the bootstrap -release that ships with this version of Salt. Please see the \fI\%salt\-bootstrap repo\fP -for more information on how to update your bootstrap version. +The release of the \fIbootstrap\-salt.sh\fP script that is included with 2016.3.4 release has a bug +in it that fails to install salt correctly for git installs using tags in the 2015.5 branch. +This bug has not been fixed in the \fI\%salt\-bootstrap repository\fP yet, but the +\fI\%previous bootstrap release\fP (v2016.08.16) does not contain this bug. .SS Changes .INDENT 0.0 .IP \(bu 2 @@ -269534,13 +295011,93 @@ Add ability to specify disk backing mode in the VMWare salt cloud profile. .sp Extended changelog courtesy of Todd Stansell (\fI\%https://github.com/tjstansell/salt\-changelogs\fP): .sp -\fIGenerated at: 2016\-10\-20T20:50:09Z\fP +\fIGenerated at: 2016\-10\-27T16:10:53Z\fP .sp -Total Merges: \fB237\fP +Total Merges: \fB274\fP .sp Changes: .INDENT 0.0 .IP \(bu 2 +\fBPR\fP \fI\%#37282\fP: (\fIthatch45\fP) add cpub to raet event for compat +.IP \(bu 2 +\fBPR\fP \fI\%#37278\fP: (\fIjfindlay\fP) update 2016.3.4 release notes +.IP \(bu 2 +\fBPR\fP \fI\%#37252\fP: (\fIvutny\fP) Set logging level to \(aqinfo\(aq for message about init system detection +.IP \(bu 2 +47290d8 Update man pages for the 2016.3 branch (\fI\%#37259\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#37257\fP: (\fIrallytime\fP) [2016.3] Merge forward from 2015.8 to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37254\fP: (\fIDmitryKuzmenko\fP) Bugs/37191 minion hangs +.IP \(bu 2 +\fBPR\fP \fI\%#37218\fP: (\fIdarkalia\fP) Issue +.nf +\(ga#37187\(ga_ +.fi + Do not parse first /proc/1/cmdline binary if it\(aqs not +.nf +* +.fi +b… +.IP \(bu 2 +\fBPR\fP \fI\%#37239\fP: (\fICh3LL\fP) Fix cloud tests timeout +.IP \(bu 2 +\fBPR\fP \fI\%#37244\fP: (\fIrallytime\fP) Update bootstrap release to 2016.10.25 +.IP \(bu 2 +\fBPR\fP \fI\%#37245\fP: (\fIrallytime\fP) Back\-port \fI\%#36334\fP to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37233\fP: (\fIrallytime\fP) Back\-port \fI\%#37154\fP to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37232\fP: (\fIrallytime\fP) Back\-port \fI\%#37153\fP to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37228\fP: (\fIrallytime\fP) [2016.3] Merge forward from 2015.8 to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37213\fP: (\fIcachedout\fP) More salttesting fixes +.IP \(bu 2 +\fBPR\fP \fI\%#37207\fP: (\fIcachedout\fP) Correct documentation for mine_functions +.IP \(bu 2 +\fBPR\fP \fI\%#37208\fP: (\fIcachedout\fP) Give multimion a process manager and its own destroy method +.IP \(bu 2 +\fBPR\fP \fI\%#37206\fP: (\fIcachedout\fP) Address transport test hang +.IP \(bu 2 +\fBPR\fP \fI\%#37179\fP: (\fIisbm\fP) Fix Salt\-API ssh crash (2016.3) +.IP \(bu 2 +\fBPR\fP \fI\%#37183\fP: (\fIgtmanfred\fP) load tags should reference the actual load tags +.IP \(bu 2 +\fBPR\fP \fI\%#37188\fP: (\fIrallytime\fP) [2016.3] Merge forward from 2015.8 to 2016.3 +.IP \(bu 2 +d7e28d2 Pylint fix for 2016.3 (\fI\%#37186\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#37175\fP: (\fIcachedout\fP) Fix test hang +.IP \(bu 2 +\fBPR\fP \fI\%#37144\fP: (\fIDmitryKuzmenko\fP) Bugs/36866 salt minion communication broken 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37158\fP: (\fIjfindlay\fP) add mock for \fIstatus.uptime\fP unit test +.IP \(bu 2 +\fBPR\fP \fI\%#37161\fP: (\fIrallytime\fP) Back\-port \fI\%#37098\fP to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37159\fP: (\fIrallytime\fP) Back\-port \fI\%#37107\fP to 2016.3 +.IP \(bu 2 +\fBPR\fP \fI\%#37163\fP: (\fIrallytime\fP) [2016.3] Merge forward from 2015.8 to 2016.3 +.IP \(bu 2 +2bc5ded Allow the minion test daemons a couple of tries to connect to the master (\fI\%#37150\fP) +.IP \(bu 2 +ec7ad9e Add note about salt\-bootstrap known issue for 2016.3.4 (\fI\%#37152\fP) +.IP \(bu 2 +\fBPR\fP \fI\%#37135\fP: (\fIAaronM\-Cloudtek\fP) Fix example signing policy in salt.states.x509 docs +.IP \(bu 2 +\fBPR\fP \fI\%#37140\fP: (\fIvutny\fP) pkgbuild.repo: fix GPG signing with \fIuse_passphrase=False\fP +.IP \(bu 2 +\fBPR\fP \fI\%#37071\fP: (\fIvutny\fP) pkgbuild.repo: add \fItimeout\fP parameter for waiting passphrase prompt +.IP \(bu 2 +\fBPR\fP \fI\%#37115\fP: (\fIDmitryKuzmenko\fP) Backport/36720 fix race condition +.IP \(bu 2 +\fBPR\fP \fI\%#37119\fP: (\fIjfindlay\fP) log.setup: only assign user if defined +.IP \(bu 2 +f22c686 fix digital ocean image name in profile (\fI\%#37126\fP) +.IP \(bu 2 +4263849 add 2016.3.4 release notes (\fI\%#37125\fP) +.IP \(bu 2 \fBPR\fP \fI\%#37120\fP: (\fIrallytime\fP) Back\-port \fI\%#36246\fP to 2016.3 .IP \(bu 2 \fBPR\fP \fI\%#37103\fP: (\fIcachedout\fP) Remove unnecessary sleep from unit.utils.process_test.TestProcessMana… diff --git a/doc/man/spm.1 b/doc/man/spm.1 index 3a51f4ee06..d020a83d7d 100644 --- a/doc/man/spm.1 +++ b/doc/man/spm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SPM" "1" "October 26, 2016" "2016.3.4" "Salt" +.TH "SPM" "1" "October 31, 2016" "2016.11.0" "Salt" .SH NAME spm \- Salt Package Manager Command .